0
In Search of  Technical Excellence Wouter Lagerweij @wouterla http://www.lagerweij.com/ Qualogy @qualogy_news http://www.q...
<ul><li>10 years of agile in 2011
35% of companies use  some form of  Agile
Results are encouraging </li></ul>Agile Forrester research, jan. 2011
Many teams are struggling... <ul><li>Slow down (fewer features/sprint) </li><ul><li>More and more production issues
Increased fragility </li></ul><li>Requests for 'refactoring' stories from the development team </li></ul>But...
Technical Excellence Looking back on 10 years of Agile (Snowbird 2011) We, the undersigned, believe the Agile community mu...
Promote Individual Change and Lead Organizational Change
Organize Knowledge and Improve Education
Maximize Value Creation Across the Entire Process </li></ul>
“ 14 percent, are doing extreme programming practices inside the SCRUM, and there is where we see the fastest teams: using...
Extreme   Programming http://c2.com/cgi/wiki?ExtremeProgrammingCorePractices
Test   Driven   Development <ul><li>Automated Tests
Unit Tests
Test-First
Red, Green, Refactor </li></ul>
Why   Automated   Tests?
Why   Automated   Tests?
Remember the goal
Remember the goal
<ul><li>Combinatorial complexity
Fine grained => pinpoint errors
Code documentation that is in sync
Supports changing the code </li></ul>Why Unit Tests?
Why   Test   First?
Why   Test   First?
 
Upcoming SlideShare
Loading in...5
×

Technical excellence 20120119

1,594

Published on

Slide set from a 20 min. talk at arrowgroup's Agile Evangelists event on 19/01/2012.

The talk was about the need for technical excellence, and the central role Test Driven Development plays in achieving that.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,594
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Gfsdgsdgs dfdsgsdg
  • http://www.flickr.com/photos/fastjack/282707058/
  • http://mikadomethod.wordpress.com/ http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052 http://www.objectmentor.com/resources/articles/WorkingEffectivelyWithLegacyCode.pdf
  • Transcript of "Technical excellence 20120119"

    1. 1. In Search of Technical Excellence Wouter Lagerweij @wouterla http://www.lagerweij.com/ Qualogy @qualogy_news http://www.qualogy.com/
    2. 2. <ul><li>10 years of agile in 2011
    3. 3. 35% of companies use some form of Agile
    4. 4. Results are encouraging </li></ul>Agile Forrester research, jan. 2011
    5. 5. Many teams are struggling... <ul><li>Slow down (fewer features/sprint) </li><ul><li>More and more production issues
    6. 6. Increased fragility </li></ul><li>Requests for 'refactoring' stories from the development team </li></ul>But...
    7. 7. Technical Excellence Looking back on 10 years of Agile (Snowbird 2011) We, the undersigned, believe the Agile community must: <ul><li>Demand Technical Excellence
    8. 8. Promote Individual Change and Lead Organizational Change
    9. 9. Organize Knowledge and Improve Education
    10. 10. Maximize Value Creation Across the Entire Process </li></ul>
    11. 11. “ 14 percent, are doing extreme programming practices inside the SCRUM, and there is where we see the fastest teams: using the SCRUM management practice with the XP engineering practices inside.” - Jeff Sutherland, 2011 http://2011.secr.ru/lang/en-en/home/press-center/jeff-sutherland-interview Technical Excellence
    12. 12. Extreme Programming http://c2.com/cgi/wiki?ExtremeProgrammingCorePractices
    13. 13. Test Driven Development <ul><li>Automated Tests
    14. 14. Unit Tests
    15. 15. Test-First
    16. 16. Red, Green, Refactor </li></ul>
    17. 17. Why Automated Tests?
    18. 18. Why Automated Tests?
    19. 19. Remember the goal
    20. 20. Remember the goal
    21. 21. <ul><li>Combinatorial complexity
    22. 22. Fine grained => pinpoint errors
    23. 23. Code documentation that is in sync
    24. 24. Supports changing the code </li></ul>Why Unit Tests?
    25. 25. Why Test First?
    26. 26. Why Test First?
    27. 28. <ul><li>Testable code is cleaner </li><ul><li>Lower Complexity
    28. 29. Loosly Coupled
    29. 30. Tighter Cohesion </li></ul><li>Keeps focus on Simple Design </li><ul><li>YAGNI, DRY </li></ul><li>Continuous Refactoring </li></ul>http://www.keithbraithwaite.demon.co.uk/professional/presentations/2008/qcon/MeasureForMeasure.pdf Why TDD?
    30. 31. We don't have the time! Why NOT ?
    31. 32. Software will always have bugs! Why NOT ?
    32. 33. My boss won't let me! Why NOT ?
    33. 34. Legacy code is hard to test! Why NOT ?
    34. 35. <ul><li>As a programmer </li><ul><li>Keep learning! </li><ul><li>Read
    35. 36. Practice </li></ul><li>Estimate including testing
    36. 37. Learn to say 'No' </li></ul></ul>How?
    37. 38. <ul><li>As a Manager </li><ul><li>Focus on Quality before schedule
    38. 39. Encourage teams to set their own standards
    39. 40. Encourage people to take training
    40. 41. Reserve time for practice </li></ul></ul>How?
    41. 42. Thanks! Wouter Lagerweij @wouterla http://www.lagerweij.com/ Qualogy @qualogy_news http://www.qualogy.com/
    42. 43. Open Space <ul><li>Open format for discussion
    43. 44. 4 places to hold them
    44. 45. A schedule you can fill
    45. 46. 1 Law, 4 Principles, 2 animals </li></ul>
    46. 47. The Law of Two Feet If any person finds themselves in a situation where they're neither learning nor contributing , they must use their two feet and go to some more productive place !
    47. 48. 4 Principles <ul><li>Whoever comes are the right people
    48. 49. Whenever it starts is the right time
    49. 50. Whatever happens is the only thing that could have
    50. 51. When it's over, it's over </li></ul>
    51. 52. 2 Animals <ul><li>Bumblebee </li><ul><li>You can choose more than one session at the same time
    52. 53. It's possible to be in multiple places at the same time
    53. 54. Cross-pollinate ideas </li></ul><li>Butterfly </li><ul><li>There can be interesting talk outside the sessions! </li></ul></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×