Agile and the evolution


Published on

What would have happened if nature tested only at the end?

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile and the evolution

  1. 1.
  2. 2. The wasp behavior is not intelligentBut it is purposefulHow about the cumulative behavior of allwasps?How does this apply to us? When should we apply logic? When should we practice routines?
  3. 3. Name: Ilan KirschenbaumProfession: Agile CoachCo-founder ofPreviously: Programmer, Product Support,Designer, Architect, Product Manager, ProjectManager , @kirschi_,
  4. 4. What makes thesecreatures last? Nature ‘designed’ them to endure Darwin revised ‘Natural Selection’ to Source: ‘Survival of the Fittest’ Implying (among others) the unconscious ability to adapt
  5. 5. Successful organizations are drivenby values they commit to: “Everyday low prices” “Provide superb customer experience”Good values help organizations endureHow does this translate to everyday life of asoftware organization?
  6. 6. Is this sprint Built to Endure? Is quality adequate? Are we focused?What I have learned in pre-natal courseWhen do we involve testers in theprocess?
  7. 7. Ahhhhh…. …but a mother cat must also make tough decisions sometimesPhoto by danizen24
  8. 8. Writing good stories is hard(but it gets easier with time)Backlog grooming is also hard(and it always remains that way)
  9. 9. What makes a good story? INVEST CCCIf both PO and Team share the sameunderstanding of what should be delivered Consider the story review when writing the story
  10. 10. Why placenta/egg? Decoupling Distinction Separation Protection Short-beaked Echidna, a Monotreme, egg laying mammal. Source: wikipedia
  11. 11. Protect existing code from poisoningGet early feedback on defects innew codeWith local builds, get better decouplingbetween new code and existing codebase
  12. 12. Introduce new code in a ‘placenta’Not affecting existing code New code can be checked in without affecting existing functionality Existing code does not interfere with new changesIncorporate into codebase only when safe
  13. 13. Use tests approach to improve design andarchitectureOnce done, tests continue to run in CIOnce deployed, tests become part of theteams’ DNA
  14. 14. Back to our Sphex Wasp The wasp behavior is not intelligent But it is purposefulAdopting practices requires practice toassimilate into the daily work Once ‘in the DNA’, intelligence is replaced with common sense So intelligence can be used on more important things
  15. 15. A large gene pool indicates extensive genetic diversity, which is associated with robust populations that can survive bouts of intense selection. Meanwhile, low genetic diversity (see inbreeding and population bottlenecks) can cause reduced biological fitness and an increased chance of extinctionSource: Wikipedia
  16. 16. Individual programming is similar to reducedgene pool Repeating similar mistakes/pitfalls Returning to similar patternsWith pairing the “Gene Pool” is increased Common pitfalls are identified on the fly More patterns are shared New patterns are generated
  17. 17. In 18 months of C++ development, this [heinous] bugwas our hardest challenge. It represented the longest time that we failed to make forward progress. We put one pair on it. It took us 6 hours Arlo Belshee , Promiscuous Pairing and Beginner’s Mind, 2006
  18. 18. What if nature did testing only at the end?DEV TEST
  19. 19. ‫ברירת מחדל‬1. Default, a preset setting or value2. A Canadian post-grunge and alternative rock band3. Choice of neglect
  20. 20. By choosing to test at the end, quality isneglectedBy doing quality from the start, testing is lessof an issueSome argue that quality starts from RFx
  21. 21. Built to Endure Quality is intertwined throughout the process Requirements should be created with quality in mind – Definition of Done CI - Testing must be executed continually Coding Practices – generating high quality code Unit tests – testing the code generates better design Pairing – Testers can also pair with programmers!
  22. 22. It is not necessary to change. Survival is not mandatory Prof. Deming