Agile and the evolution

24

description

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

Transcript of Agile and the evolution

  • 1. http://www.youtube.com/watch?v=5t2p4ukzL74

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. Name: Ilan KirschenbaumProfession: Agile CoachCo-founder ofPreviously: Programmer, Product Support,Designer, Architect, Product Manager, ProjectManagerhttp://fostnope.com , @kirschi_,[email protected] 4. What makes thesecreatures last?Nature designed themto endureDarwin revisedNatural Selection toSource:Survival of the Fittest http://en.wikipedia.org/wiki/Komodo_dragonImplying (among others) the unconscious abilityto adapt 5. Successful organizations are drivenby values they commit to:Everyday low pricesProvide superb customer experienceGood values help organizations endureHow does this translate to everyday life of asoftware organization? 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. Ahhhhh. but a mother cat must also make tough decisions sometimesPhoto by danizen24 http://www.flickr.com/photos/39311243@N05/4272639675/ 8. Writing good stories is hard(but it gets easier with time)Backlog grooming is also hard(and it always remains that way) 9. What makes a good story?INVESTCCCIf both PO and Team share the sameunderstanding of what should be deliveredConsider the story review when writing the story 10. Why placenta/egg?DecouplingDistinctionSeparationProtectionShort-beaked Echidna, a Monotreme, egg laying mammal.Source: wikipedia 11. Protect existing code from poisoningGet early feedback on defects innew codeWith local builds, get better decouplingbetween new code and existing codebase 12. Introduce new code in a placentaNot affecting existing codeNew code can be checked in withoutaffecting existing functionalityExisting code does not interfere with new changesIncorporate into codebase only when safe 13. Use tests approach to improve design andarchitectureOnce done, tests continue to run in CIOnce deployed, tests become part of theteams DNA 14. Back to our Sphex WaspThe wasp behavior is not intelligentBut it is purposefulAdopting practices requires practice toassimilate into the daily workOnce in the DNA, intelligence is replaced withcommon senseSo intelligence can be used on more importantthings 15. A large gene pool indicates extensive genetic diversity, which is associated with robust populations that can survive bouts of intense selection. Meanwhile, low geneticdiversity (see inbreeding and population bottlenecks) can cause reduced biological fitness and an increased chance of extinctionSource: Wikipedia http://en.wikipedia.org/wiki/Gene_pool 16. Individual programming is similar to reducedgene poolRepeating similar mistakes/pitfallsReturning to similar patternsWith pairing the Gene Pool is increasedCommon pitfalls are identified on the flyMore patterns are sharedNew patterns are generated 17. In 18 months of C++ development, this [heinous] bugwas our hardest challenge. It represented the longesttime that we failed to make forward progress. We put one pair on it. It took us 6 hoursArlo Belshee , Promiscuous Pairing and Beginners Mind, 2006 18. What if nature did testing only at the end?DEV TEST 19. 1. Default, a preset setting or value2. A Canadian post-grunge and alternative rock band3. Choice of neglect 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. Built to EndureQuality is intertwined throughout the processRequirements should be created with quality inmind Definition of DoneCI - Testing must be executed continuallyCoding Practices generating high quality codeUnit tests testing the code generates betterdesignPairing Testers can also pair with programmers! 22. It is not necessary to change. Survival is not mandatoryProf. Deming