technical excellence 20120119

Download Technical excellence 20120119

If you can't read please download the document

Upload: wouterla

Post on 24-May-2015

1.579 views

Category:

Technology


2 download

DESCRIPTION

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.

TRANSCRIPT

  • 1. In Search ofTechnical Excellence Wouter Lagerweij @wouterla http://www.lagerweij.com/ Qualogy @qualogy_news http://www.qualogy.com/

2.

  • 10 years of agile in 2011

3. 35% of companies usesome form ofAgile 4. Results are encouraging Agile Forrester research, jan. 2011 5. Many teams are struggling...

  • Slow down (fewer features/sprint)
  • More and more production issues

6. Increased fragility Requests for 'refactoring' stories from the development team But... 7. Technical Excellence Looking back on 10 years of Agile (Snowbird 2011) We, the undersigned, believe the Agile community must:

  • Demand Technical Excellence

8. Promote Individual Change and Lead Organizational Change 9. Organize Knowledge and Improve Education 10. Maximize Value Creation Across the Entire Process 11. 14 percent, are doing extreme programming practices inside the SCRUM, and there is where we see the fastest teams: using theSCRUM managementpractice with theXP engineering practicesinside. - Jeff Sutherland, 2011 http://2011.secr.ru/lang/en-en/home/press-center/jeff-sutherland-interview Technical Excellence 12. Extreme Programming http://c2.com/cgi/wiki?ExtremeProgrammingCorePractices 13. Test Driven Development

  • Automated Tests

14. Unit Tests 15. Test-First 16. Red, Green, Refactor 17. Why Automated Tests? 18. Why Automated Tests? 19. Remember the goal 20. Remember the goal 21.

  • Combinatorial complexity

22. Fine grained => pinpoint errors 23. Code documentation that is in sync 24. Supports changing the code Why Unit Tests? 25. Why Test First? 26. Why Test First? 27. 28.

  • Testable code is cleaner
  • Lower Complexity

29. Loosly Coupled 30. Tighter Cohesion Keeps focus on Simple Design

  • YAGNI, DRY

Continuous Refactoring http://www.keithbraithwaite.demon.co.uk/professional/presentations/2008/qcon/MeasureForMeasure.pdf Why TDD? 31. We don't have the time! Why NOT ? 32. Software willalways have bugs! Why NOT ? 33. My boss won't let me! Why NOT ? 34. Legacy code ishard to test! Why NOT ? 35.

  • As a programmer
  • Keep learning!
  • Read

36. Practice Estimateincludingtesting 37. Learn to say 'No' How? 38.

  • As a Manager
  • Focus on Quality before schedule

39. Encourage teams to set their own standards 40. Encourage people to take training 41. Reserve time for practice How? 42. Thanks! Wouter Lagerweij @wouterla http://www.lagerweij.com/ Qualogy @qualogy_news http://www.qualogy.com/ 43. Open Space

  • Open format for discussion

44. 4 places to hold them 45. A schedule you can fill 46. 1 Law, 4 Principles, 2 animals 47. The Law of Two Feet If any person finds themselves in a situation where they'reneither learning nor contributing , they must use theirtwo feetand go to somemore productive place ! 48. 4 Principles

  • Whoever comes are the right people

49. Whenever it starts is the right time 50. Whatever happens is the only thing that could have 51. When it's over, it's over 52. 2 Animals

  • Bumblebee
  • You can choose more than one session at the same time

53. It's possible to be in multiple places at the same time 54. Cross-pollinate ideas Butterfly

  • There can be interesting talk outside the sessions!