Agile and Agile methods: what is the most important to understand to succeed
1. Agile and Agile methods: what is the most important to understand to succeed Vaidas Adomauskas
2. Disclaimer This is just my opinion and interpretation of information Use at your own risk ;) Information and pictures from Henrik Kniberg Mary Poppendieck Google ...
8. About me (1) VU MIF – Software Engineering(bachelor) IT University of Gothenburg – Master in Software Engineering and Management Lavasoft(www.lavasoft.com ) Adform (www.adform.com)
9. Apie mane (2) Certified Scrum Master (Ken Schwaber, Paris) Certified Product Owner (Robin Dymond ,Kiev) Agile Conferences http://scrum.agile.lt Lecturer at VU MIF “Agile Project Management with Scrum”
11. Traditional SW projects are like a cannon ball Assumptions: The customer knows what he wants The developers know how to build it Nothing will change along the way
12. We tend to build the wrong thing This graph courtesy of Mary Poppendieck The Biggest Opportunity to Increase Software Development Productivity is to Write Less Code!* *Mary Poppiendieck, “It’s Not About Working Software”, Agileee 2010 conference 12
13. Maybe we are successfull? “The primary reason [for the improvement] is that projects have gotten a lot smaller.” “Doing projects with iterative processes as opposed to the waterfall method, which called for all project requirements to be defined up front, is a major step forward.” Jim Johnson Chairman of Standish Group “There is no silver bullet but agile methods come very close” Sources: http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS ”My Life is Failure”, Jim Johnson’s book 13
14. How about performance of Agile? Source: Dr. Dobb’s Journal 2008 Agile Adoption Survey
18. Avoid bugs (1972) “Those who want really reliable software will discover that they must find means of avoiding the majority of bugs to start with… … programmers… should not introduce the bugs to start with.” Edsger W. Dijkstra, “The Humble Programmer”, 1972 (http://userweb.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html)
19. The Life Cycle Concept (1976) The biggest opportunity for cost reduction was finding errors as soon as possible: Barry W. Boehm, “Software Engineering”, 1976 (http://www.computer.org/portal/web/csdl/doi/10.1109/TC.1976.1674590)
20. Problem 1 Separation of design from implementation Swartout and Balzer: “All current software methodologies have adopted a common model that separates specification from implementation. Unfortunately, this model is overly naïve, and does not match reality.”* *Swartout and Balzer, “On the Inevitable Intertwining of Specification and Implementation”, 1982
21. Problem 2 Large batchesof work (usually all project) “Large batches of work tend to queue up during each process step, and so defects are not detected at the point of insertion; they have to wait to be uncovered in a batch validation step” *Mary and Tom Poppiendieck, “Leading Lean Software development”, 2000
22. Other opponents McCracken and Jackson, “Life Cycle Concept Considered Harmful”, 1982 Tom Gilb, “Evolutionary Development”, 1981 Start with short measurable business goals Incremental deliverables (real software, real value) Toyota Way Just In Time (JIT) Lean Agile ….
24. Agile Manifesto www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Feb 11-13, 2001 Snowbird ski resort, Utah Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
25. Agile Manifesto (1) ...we value: Individuals and interactions over processes and tools http://agilemanifesto.org/
26. Agile Manifesto (2) ...we value: Working software over comprehensive documentation http://agilemanifesto.org/
28. Agile Manifesto (4) ...we value: Responding to changeoverfollowing a plan http://agilemanifesto.org/
29. Agile projects are like a guided missile Assumptions: The customer discovers what he wants The developers discover how to build it Things change along the way
31. TDD XP Scrum Kanban Continuous Integration Refactoring Pair programming Lean What is all this stuff?
32. What is all this stuff? Practices Methods Agile XP Continuous Integration TDD Scrum Lean Pair programming Refactoring Kanban ... ...
33. Do not mix with time line Lean Scrum XP Test Driven Development (TDD) Pair programming Continues integration Refactoring Planning poker … Agile Kanban … Time
34. What is wrong here? Using the toolwrong Using the wrong tool Neither of these problems are caused by the tool!!!