0
Agile is as Agile Does<br />Clint Edmonson<br />Evangelist, Microsoft<br />
Got process?<br />
Businesses live or die bytheir repeatable processes.<br />
Capability Maturity Model Index<br />
Defined vs. Empirical Processes<br />How would you code an algorithm to keep this room at a constant temperature for the e...
Lean<br />
Eliminate waste<br />Poor requirements<br />Unnecessary functionality, code, documentation<br />Delays in the development ...
Amplify learning<br />Accept that software development is a continuous learning process<br />Iterate to learn and adapt<br...
Decide as late as possible<br />Change happens<br />Don’t fight it<br />Accept it and adapt to it<br />Each iteration shou...
Deliver value as fast as possible<br />Embrace continuous deployment<br />Keep iterations short, short, short!<br />Relish...
Empower the team<br />Avoid command and control management style<br />Avoid rigidly defined roles<br />Team should have di...
Build integrity in<br />Build in integrity checks – unit tests become regression tests<br />Refactor aggressively to retai...
See the whole<br />Understand the whole domain and problem space<br />Segregate along functional boundaries instead of cro...
Agile<br />
What is Agile?<br />Agile<br />Agile is a movement…<br />represented by a set of methodologies…<br />comprised of a set a ...
Agile Manifesto<br />We are uncovering better ways of developing software by doing it and helping others do it. Through th...
Agile principles<br />Customer satisfaction by rapid delivery of useful software<br />Welcome changing requirements, even ...
Agile principles<br />Face-to-face conversation is the best form of communication (co-location)<br />Projects are built ar...
Agile Practices(by priority)<br />
Business Value<br />Customer representation on team<br />Evocative vision document<br />User stories<br />Use cases<br />P...
Time to market<br />Iterative development<br />Continuous integration<br />Release often<br />
Quality to market<br />Test driven requirements<br />Test driven development (Red, Green, Refactor)<br />Done Done state<b...
Flexibility<br />Emergent/evolutionary architecture and design<br />Refactoring (Green code only)<br />Self-organizing tea...
Visibility<br />Information radiators <br />Project backlog<br />Daily stand-up meetings<br />Customer demos<br />
Cost reduction<br />Cross-functional teams<br />Co-located teams<br />Simple design (YAGNI)<br />
Product lifetime<br />Collective code ownership<br />Coding standards<br />Automated functional testing<br />Retrospective...
Supporting practices<br />Training<br />Coaching & mentoring<br />Workshops<br />Reading circle<br />Planning poker<br />2...
Success factors<br />Freedom to change<br />Energized team<br />Communication with customer<br />Collaboration<br />Attent...
Anti-patterns<br />No definitive process<br />Guestimating & estiquotes<br />Huge cases<br />Technical debt<br />Egos<br /...
Agile Adoption<br />“Agile processes have not only gained increasing adoption levels; they have also rapidly joined the ma...
Agile Adoption<br />“In the past five years, Forrester has seen a growing interest in the adoption of Agile processes. Thi...
Scrum<br />
SCRUM<br />Simple and lightweight framework for lean and agile practices<br />Time-boxed events to control chaos<br />Simp...
Events<br />Sprint<br />Iterative development period not to exceed one month<br />Sprint planning meeting<br />8 hours<br ...
Roles<br />Product owner<br />Team<br />Scrum master<br />
Artifacts<br />Product backlog<br />Spring backlog<br />Burn down chart<br />
References<br />Agile in a Flash – Langr and Ottinger<br />Agile Adoption Patterns - Elssamadisy<br />Succeeding with Agil...
Clint Edmonson<br />http://www.notsotrivial.net<br />clinted@microsoft<br />@clinted<br />
Upcoming SlideShare
Loading in...5
×

Agile is as Agile Does

1,303

Published on

Lately that the terms Agile and Lean have been thrown around casually with little disregard for what they truly mean and how they can be applied correctly. Join us in this session for a lively, interactive discussion about what it means to be lean and agile and how we can incorporate the
principles and practices from each of these industry movements to help us build world class software.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,303
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Lean &amp; AgilePhoto credits: Flickr creative commons - http://www.flickr.com/photos/randysonofrobert/340282243/
  • Agile is as Agile Does Level 100Lately that the terms Agile and Lean have been thrown around casually with little disregard for what they truly mean and how they can be applied correctly. Join us in this session for a lively, interactive discussion about what it means to be lean and agile and how we can incorporate the principles and practices from each of these industry movements to help us build world class software.
  • State of Agile Development – July 2008, 3,061 respondents from 80 countries.* “Which of the following do you employ within your Agile methods?”
  • Definition: A framework within which people can address complex problems, and productively and creatively develop products of the highest possible value
  • Transcript of "Agile is as Agile Does"

    1. 1. Agile is as Agile Does<br />Clint Edmonson<br />Evangelist, Microsoft<br />
    2. 2. Got process?<br />
    3. 3. Businesses live or die bytheir repeatable processes.<br />
    4. 4. Capability Maturity Model Index<br />
    5. 5. Defined vs. Empirical Processes<br />How would you code an algorithm to keep this room at a constant temperature for the entire day? (What variables would you consider?)<br />Defined processes try to predict the future<br />Empirical processes adapt to the future<br />Frequent inspection <br />Just in time planning<br />
    6. 6. Lean<br />
    7. 7. Eliminate waste<br />Poor requirements<br />Unnecessary functionality, code, documentation<br />Delays in the development process<br />Slow or poor internal communication<br />Bureaucracy<br />Empower the team to recognize and eliminate it!<br />
    8. 8. Amplify learning<br />Accept that software development is a continuous learning process<br />Iterate to learn and adapt<br />Fail early and fail often!<br />
    9. 9. Decide as late as possible<br />Change happens<br />Don’t fight it<br />Accept it and adapt to it<br />Each iteration should still have an explicit planning phase.<br />
    10. 10. Deliver value as fast as possible<br />Embrace continuous deployment<br />Keep iterations short, short, short!<br />Relish feedback and evolve with the next iteration<br />
    11. 11. Empower the team<br />Avoid command and control management style<br />Avoid rigidly defined roles<br />Team should have direct access to the customer<br />Team is responsible for “done done”<br />Give them responsibility and accountability and they will take ownership.<br />
    12. 12. Build integrity in<br />Build in integrity checks – unit tests become regression tests<br />Refactor aggressively to retain emergent architectural integrity<br />There should be NO code you’re afraid to touch.<br />
    13. 13. See the whole<br />Understand the whole domain and problem space<br />Segregate along functional boundaries instead of cross cutting technical concerns<br />Cultivate high value communication<br />Provide the team with a higher purpose to work towards<br />
    14. 14. Agile<br />
    15. 15. What is Agile?<br />Agile<br />Agile is a movement…<br />represented by a set of methodologies…<br />comprised of a set a best practices.<br />Scrum<br />XP<br />FDD<br />Others<br />CI<br />TDD<br />BDD<br />StandUps<br />Burn-down<br />Domain Model<br />ProductBacklog<br />Refactor<br />Pairwise Programming<br />SprintBacklog<br />Feature Team<br />
    16. 16. Agile Manifesto<br />We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:<br />Individuals and interactions over processes and tools<br />Working software over comprehensive documentation<br />Customer collaboration over contract negotiation<br />Responding to change over following a plan<br />
    17. 17. Agile principles<br />Customer satisfaction by rapid delivery of useful software<br />Welcome changing requirements, even late in development<br />Working software is delivered frequently (weeks rather than months)<br />Working software is the principal measure of progress<br />Sustainable development pace<br />Close, daily co-operation between business people and developers<br />
    18. 18. Agile principles<br />Face-to-face conversation is the best form of communication (co-location)<br />Projects are built around motivated individuals, who should be trusted<br />Continuous attention to technical excellence and good design<br />Simplicity<br />Self-organizing teams<br />Regular adaptation to changing circumstances<br />
    19. 19. Agile Practices(by priority)<br />
    20. 20. Business Value<br />Customer representation on team<br />Evocative vision document<br />User stories<br />Use cases<br />Prioritized backlog<br />Feature teams<br />
    21. 21. Time to market<br />Iterative development<br />Continuous integration<br />Release often<br />
    22. 22. Quality to market<br />Test driven requirements<br />Test driven development (Red, Green, Refactor)<br />Done Done state<br />Pair programming<br />
    23. 23. Flexibility<br />Emergent/evolutionary architecture and design<br />Refactoring (Green code only)<br />Self-organizing teams<br />
    24. 24. Visibility<br />Information radiators <br />Project backlog<br />Daily stand-up meetings<br />Customer demos<br />
    25. 25. Cost reduction<br />Cross-functional teams<br />Co-located teams<br />Simple design (YAGNI)<br />
    26. 26. Product lifetime<br />Collective code ownership<br />Coding standards<br />Automated functional testing<br />Retrospectives<br />Sustainable pace<br />
    27. 27. Supporting practices<br />Training<br />Coaching & mentoring<br />Workshops<br />Reading circle<br />Planning poker<br />2 pizza teams<br />Engaging the community<br />
    28. 28. Success factors<br />Freedom to change<br />Energized team<br />Communication with customer<br />Collaboration<br />Attention to quality<br />Incrementalism<br />Automation<br />Continuous improvement<br />
    29. 29. Anti-patterns<br />No definitive process<br />Guestimating & estiquotes<br />Huge cases<br />Technical debt<br />Egos<br />Scrummerfall<br />Scrumdamentalism<br />Large, complex, high risk projects<br />
    30. 30. Agile Adoption<br />“Agile processes have not only gained increasing adoption levels; they have also rapidly joined the mainstream of development approaches.”<br />a “Agile Development: Mainstream Adoption Has Changed Agility – Jan 2010”, Forrester<br />
    31. 31. Agile Adoption<br />“In the past five years, Forrester has seen a growing interest in the adoption of Agile processes. This interest is slowly changing to adoption. In 2008, even shops that weren’t moving immediately to Agile processes began to take baby steps in that direction.”a<br />a “Make Agile Lean – Dec 2008”, Forrester<br />b “Microsoft ALM Consulting Day – Mar 2009”, Forrester presentation; <br />c “State of Agile Development – July 2008”, Version One<br />
    32. 32. Scrum<br />
    33. 33. SCRUM<br />Simple and lightweight framework for lean and agile practices<br />Time-boxed events to control chaos<br />Simple, straight forward roles for accountability<br />Transparent artifacts<br />Empirical inspection and adaptation to reach goals<br />Simple rules that facilitate complex emergent behavior<br />
    34. 34. Events<br />Sprint<br />Iterative development period not to exceed one month<br />Sprint planning meeting<br />8 hours<br />Prioritize product backlog and select items for the sprint backlog<br />Daily stand up meeting<br />15 minutes, <br />What was accomplished since last meeting?<br />What are you doing today?<br />Do you have any impediments?<br />Sprint Review meeting<br />4 hours<br />Review what was completed and not completed during spring<br />Demo the completed work with stakeholders<br />Sprint retrospective<br />3 hours<br />What went well?<br />What could be improved?<br />
    35. 35. Roles<br />Product owner<br />Team<br />Scrum master<br />
    36. 36. Artifacts<br />Product backlog<br />Spring backlog<br />Burn down chart<br />
    37. 37. References<br />Agile in a Flash – Langr and Ottinger<br />Agile Adoption Patterns - Elssamadisy<br />Succeeding with Agile – Cohn<br />Agile Project Management with Scrum – Schwaber<br />The Agile Sumurai – Rasmusson<br />User Stories Applied – Cohn<br />
    38. 38. Clint Edmonson<br />http://www.notsotrivial.net<br />clinted@microsoft<br />@clinted<br />
    1. A particular slide catching your eye?

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

    ×