Agile Development From A Developers Perspective

4,553 views

Published on

A brief overview of agile and what it means for developers.

Published in: Travel
1 Comment
10 Likes
Statistics
Notes
No Downloads
Views
Total views
4,553
On SlideShare
0
From Embeds
0
Number of Embeds
439
Actions
Shares
0
Downloads
0
Comments
1
Likes
10
Embeds 0
No embeds

No notes for slide
  • Agile Development From A Developers Perspective

    1. 1. Agile Development (from a Developers Perspective)
    2. 2. <ul><li>What is “Agile”? </li></ul>
    3. 3. <ul><li>Set of Processes for Development </li></ul>
    4. 4. <ul><li>Produce Better </li></ul><ul><li>Software Faster </li></ul>
    5. 5. <ul><li>Misconceptions </li></ul>
    6. 6. <ul><li>Code and Fix </li></ul>
    7. 7. <ul><li>Way to Skip Documentation </li></ul>
    8. 8. <ul><li>Design-Free Coding </li></ul>
    9. 9. <ul><li>Skimp on Quality </li></ul>
    10. 10. <ul><li>Ignore Enterprise Concerns </li></ul>
    11. 11. <ul><li>A Magic Pill </li></ul>
    12. 12. <ul><li>What’s Wrong Today? </li></ul>
    13. 13. <ul><li>Fundamentally Flawed </li></ul>
    14. 14. <ul><li>Building Industry </li></ul><ul><li>!= </li></ul><ul><li>Software Industry </li></ul>
    15. 15. <ul><li>Waterfall </li></ul>
    16. 17. <ul><li>Agile </li></ul>
    17. 19. <ul><li>The Agile Manifesto </li></ul>
    18. 20. <ul><li>While the items on the right have value, the items on the left are valued more…. </li></ul>
    19. 21. <ul><li>Individuals and interactions over processes and tools </li></ul>
    20. 22. <ul><li>Working software over comprehensive documentation </li></ul>
    21. 23. <ul><li>Customer collaboration over contract negotiation </li></ul>
    22. 24. <ul><li>Responding to change over following a plan </li></ul>
    23. 25. <ul><li>Agile Principles </li></ul>
    24. 26. <ul><li>#1: Happy Customers </li></ul><ul><li>The #1 priority is to satisfy customers through early and continuous delivery of valuable software </li></ul>
    25. 27. <ul><li>Talk is Cheap </li></ul><ul><li>The most efficient and effective method of conveying information is face-to-face conversation. </li></ul>
    26. 28. <ul><li>Effective Communication </li></ul>Poor Rich
    27. 29. <ul><li>Clear the Decks </li></ul><ul><li>Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. </li></ul>
    28. 30. <ul><li>Results not Effort </li></ul><ul><li>Working software is the primary measure of progress. </li></ul>
    29. 31. <ul><li>Inspect & Adapt </li></ul><ul><li>At regular intervals reflect on how to become more effective and adjust accordingly. </li></ul>
    30. 32. <ul><li>Stay Debt Free </li></ul><ul><li>Continuous attention to technical excellence and good design enhances agility. </li></ul>
    31. 33. <ul><li>Minimise Waste </li></ul><ul><li>Maximizing the amount of useless work not done is essential. </li></ul>
    32. 34. <ul><li>You Touched It, You Bought It </li></ul><ul><li>There is no distinction between “your code” & “my code”. </li></ul>
    33. 35. <ul><li>Soooo..... </li></ul>
    34. 36. <ul><li>What’s This Mean For You? </li></ul>
    35. 37. <ul><li>A Paradigm Shift </li></ul>
    36. 38. <ul><li>Communication Changes </li></ul>
    37. 39. <ul><li>Attitude Changes </li></ul>
    38. 40. <ul><li>Approach Changes </li></ul>
    39. 41. <ul><li>Practices Change </li></ul>
    40. 42. <ul><li>Let’s Talk About Practices </li></ul>
    41. 43. <ul><li>Scrum </li></ul>
    42. 45. Scrum Framework <ul><li>3 Roles </li></ul><ul><ul><li>Product Owner </li></ul></ul><ul><ul><li>Scrum Master </li></ul></ul><ul><ul><li>Team </li></ul></ul><ul><li>Ceremonies </li></ul><ul><ul><li>Sprint Planning </li></ul></ul><ul><ul><li>Daily Scrum Meeting </li></ul></ul><ul><ul><li>Sprint Review </li></ul></ul><ul><ul><li>Sprint Retrospective </li></ul></ul><ul><li>Artifacts </li></ul><ul><ul><li>Product Backlog </li></ul></ul><ul><ul><li>Sprint Backlog </li></ul></ul><ul><ul><li>Burndown Chart </li></ul></ul>
    43. 47. Sample Product Backlog
    44. 49. Daily Scrum
    45. 53. Sample Sprint Backlog
    46. 54. Burndown Chart
    47. 55. <ul><li>Tools for Managing the Process </li></ul>
    48. 56. <ul><li>www.officeworks.com.au </li></ul>
    49. 57. <ul><li>Whiteboard & Pen </li></ul>
    50. 58. <ul><li>Engineering Practices </li></ul>(And Plenty Of Tooling)
    51. 59. <ul><li>Pair Programming </li></ul>
    52. 60. <ul><li>Quality </li></ul>
    53. 61. <ul><li>Time </li></ul>
    54. 62. <ul><li>Morale </li></ul>
    55. 63. <ul><li>Trust & Teamwork </li></ul>
    56. 64. <ul><li>Knowledge & Learning </li></ul>
    57. 65. <ul><li>Unit Testing & TDD </li></ul>
    58. 66. Add A Test Change A Little Code Run The Tests They Work! They Fail
    59. 67. <ul><li>DEMO </li></ul>
    60. 68. <ul><li>Mocking </li></ul>
    61. 69. <ul><li>RhinoMocks ( www.ayende.com/projects/rhino-mocks.aspx ) </li></ul><ul><li>Nmock </li></ul><ul><li>( nmock.org ) </li></ul><ul><li>EasyMock </li></ul><ul><li>( www.easymock.org ) </li></ul>
    62. 70. <ul><li>Use Real Version Control </li></ul>
    63. 71. <ul><li>SubVersion </li></ul><ul><li>( subversion.tigris.org ) </li></ul><ul><li>TortoiseSVN </li></ul><ul><li>( tortoisesvn.tigris.org ) </li></ul>
    64. 72. <ul><li>Team Foundation Server </li></ul>
    65. 73. <ul><li>Continuous Integration </li></ul>
    66. 74. <ul><li>CruiseControl.NET </li></ul><ul><li>( ccnet.thoughtworks.com ) </li></ul>
    67. 75. <ul><li>TFS with </li></ul><ul><li>TeamBuild & </li></ul><ul><li>TFSIntegrator </li></ul><ul><li>( notgartner.wordpress.com & blogs.madtechnology.net/blogs/chris ) </li></ul>
    68. 76. <ul><li>MSBuild or NAnt </li></ul>
    69. 77. <ul><li>Metrics </li></ul>
    70. 78. <ul><li>Low Code Debt </li></ul>
    71. 79. <ul><li>FXCop/MSTest </li></ul><ul><li>SourceMonitor ( www.campwoodsw.com ) </li></ul>
    72. 81. <ul><li>Code Coverage: </li></ul><ul><li>Ncover </li></ul><ul><li>( ncover.org ) </li></ul><ul><li>NCoverExplorer </li></ul>
    73. 82. <ul><li>Functional Testing </li></ul>
    74. 83. <ul><li>SharpRobo </li></ul><ul><li>( sharprobo.thoughtworks.com ) </li></ul><ul><li>NUnitForms </li></ul><ul><li>( nunitforms.sourceforge.net ) </li></ul>
    75. 84. <ul><li>Selenium </li></ul><ul><li>( www.openqa.org/selenium ) </li></ul><ul><li>WatiN </li></ul><ul><li>( watin.sourceforge.net ) </li></ul><ul><li>Test Recorders Available </li></ul>
    76. 85. <ul><li>Mercury ($$$) </li></ul>
    77. 86. <ul><li>Acceptance Testing </li></ul>
    78. 87. <ul><li>FitNesse </li></ul><ul><li>( fitnesse.org ) </li></ul><ul><li>WatiN Fixture </li></ul><ul><li>( www.sourceforge.net/projects/watinfixture ) </li></ul><ul><li>NBehave </li></ul><ul><li>( www.codeplex.com/nbehave ) </li></ul>
    79. 88. <ul><li>Automate Install Kits </li></ul>
    80. 89. <ul><li>WiX </li></ul>
    81. 90. <ul><li>Performance Testing </li></ul>
    82. 91. <ul><li>dotTrace </li></ul><ul><li>( www.jetbrains.com/profiler ) </li></ul><ul><li>ANTSProfiler </li></ul><ul><li>( www.red-gate.com/products/ants_profiler ) </li></ul>
    83. 92. <ul><li>Documentation </li></ul>
    84. 93. <ul><li>Wiki’s </li></ul>
    85. 94. <ul><li>Code Comments </li></ul><ul><li>(SandCastle) </li></ul>
    86. 95. <ul><li>Keep Your Tools Sharp </li></ul>
    87. 96. <ul><li>Know Your IDE </li></ul>
    88. 97. <ul><li>Hanselman’s Tool List </li></ul><ul><li>( www.hanselman.com Tools List) </li></ul>
    89. 98. <ul><li>Tips For Success </li></ul>
    90. 99. <ul><li>Attitude & Approach </li></ul>
    91. 100. <ul><li>The Customer Decides </li></ul><ul><li>(most of the time) </li></ul>
    92. 101. <ul><li>Architects Have To Code </li></ul>
    93. 102. <ul><li>Don’t Take Shortcuts </li></ul>
    94. 103. <ul><li>Keep It Releasable </li></ul>
    95. 104. <ul><li>Question Until You Understand </li></ul>
    96. 105. <ul><li>Work As A Team </li></ul>
    97. 106. <ul><li>Collective Ownership </li></ul>
    98. 107. <ul><li>Work For A Result </li></ul>
    99. 108. <ul><li>Blame doesn’t fix bugs </li></ul>
    100. 109. <ul><li>See A Problem.... Fix A Problem </li></ul>
    101. 110. <ul><li>No Gold Plating </li></ul>
    102. 111. <ul><li>Think About It </li></ul>
    103. 112. <ul><li>Any Questions? </li></ul>
    104. 113. <ul><li>Richard Banks </li></ul><ul><li>http://richardsbraindump.blogspot.com </li></ul><ul><li>Readify RDN Sessions </li></ul><ul><li>http://www.readify.net/rdn </li></ul>

    ×