The Business Value of Agile Engineering Practices

350
-1

Published on

The AgileCamp Silicon Valley 2013 presentation: How do Agile Engineering Practices (aka Scrum Developer Practices) improve the throughput of real value? Rob starts off describing Lean value-stream mapping and the Theory of Constraints Five Focusing Steps in order to help organizations perform future evaluations. He then describes three of the most (in)famous of these practices: Test-Driven Development or TDD, Pair Programming, and Continuous Integration or CI.

Published in: Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
350
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • >25 yrs in the industryCoaching XP/Scrum since 1998Teaching EAEP-related courses since 2001
  • Value Stream Mapor Kanban wall
  • Identify (Lean Value Stream)Remove wasted time, prioritize work, remove impediments… (Lean, again, and Agile)Constraint sets pace:Allow constrained people to stay focused. Redirect others to assist or support constrained people.Improve via investment: more people, more machines, faster hardware…
  • What’s expected of management?
  • One Analogy for the DesignThe suite of tests preserves all prior behavior while we address design, allowing for Emergent Designs
  • Does TDD Work?Microsoft and IBM…ROI:Quality: defect rate is considerably lowerdefects quickly detectedThroughput of value: future enhancements easier in a dynamic market.
  • Does TDD Work?Microsoft and IBM…ROI:Quality: defect rate is considerably lowerdefects quickly detectedThroughput of value: future enhancements easier in a dynamic market.
  • Thank you!
  • The Business Value of Agile Engineering Practices

    1. 1. 23 September 2013 © Agile Institute 2008-2013 1 The Value of Agile Engineering Practices Rob Myers for AgileCamp SV 21 September 2013
    2. 2. 23 September 2013 © Agile Institute 2008-2013 2 Test-Driven Development Continuous Integration Pair ProgrammingCollective Code Ownership Relentless Refactoring Sustainable Pace Creative Slack CRC Cards ATDD Mocks Legacy Characterization Tests Spikes Emergent Design
    3. 3. 23 September 2013 © Agile Institute 2008-2013 3
    4. 4. five focusing steps 1. Identify the constraint. 2. Exploit the constraint: Maximize efficiency at the constraint. 3. Subordinate all else to the constraint: Allow the constraint to set the pace. 4. Elevate the constraint: Invest (wisely) in “more, better, faster.” 5. Repeat. 23 September 2013 © Agile Institute 2008-2013 4
    5. 5. 23 September 2013 © Agile Institute 2008-2013 5
    6. 6. 23 September 2013 © Agile Institute 2008-2013 6
    7. 7. 23 September 2013 © Agile Institute 2008-2013 7 “The results of the case studies indicate that the pre-release defect density of the four products decreased between 40% and 90% relative to similar projects that did not use the TDD practice. Subjectively, the teams experienced a 15–35% increase in initial development time after adopting TDD.” http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf, Nagappan et al, © Springer Science + Business Media, LLC 2008
    8. 8. 23 September 2013 © Agile Institute 2008-2013 9 “Laurie Williams of the University of Utah …has shown that paired programmers are only 15% slower than two independent individual programmers, but produce 15% fewer bugs. Since testing and debugging are often many times more costly than initial programming, this is an impressive result.” "Agility counts", The Economist, 20 Sep 2001
    9. 9. beyond academia • The obvious: • Fewer defects. • Cross-training. • The subtle: • Collaboration, courage, & creative problem-solving. • Self-control, self-discipline, valuable breaks, fewer interruptions. • Readable code, less ego-centric code. 23 September 2013 © Agile Institute 2008-2013 10
    10. 10. 23 September 2013 © Agile Institute 2008-2013 11 “If it’s painful, do it often.” -- attributed to Kent Beck, who is not a masochist.
    11. 11. so boring, a computer could do it • What it provides: • Rapid, automated feedback. • We know we’re testing/deploying a version from a stable snapshot. • Often generates valuable metrics. • What it avoids: • Integration defects, merge conflicts, lingering broken builds. • Branches, & branched releases. • Support of previous releases. • Code freezes. 23 September 2013 © Agile Institute 2008-2013 12
    12. 12. 23 September 2013 © Agile Institute 2008-2013 13 Test-Driven Development Continuous Integration Pair ProgrammingCollective Code Ownership Relentless Refactoring Sustainable Pace Creative Slack CRC Cards ATDD Mocks Legacy Characterization Tests Spikes Emergent Design
    13. 13. 23 September 2013 © Agile Institute 2008-2013 14 Rob.Myers@agileInstitute.com http://PowersOfTwo.agileInstitute.com/ @agilecoach

    ×