SlideShare a Scribd company logo
Agile Practices & Values July 2010 Arin Sime
Agile attempts to prevent … Where is my product?  Late?!? What in the world are you working on? That’s not how I thought it was going to work! Your customer saying: That’s not in the specs…. Umm… we’re gonna be late…. It works on my machine…. I would have been done, but... Your dev team saying:
The traditional way is … “ Plan Driven   methods are generally considered the traditional way to develop software. Based on concepts drawn from the mainline engineering fields, these methods approach development in a   requirements/design/build  paradigm with standard, well- defined processes that organizations improve continuously. ”
This often leads to… Stale requirements Vaporware that is spec’d but never built Management driven estimates that are confused with target release dates Command & Control approach Disgruntled developers who have no voice Very late projects Poor communication between stakeholders (throw the specs over the wall)
Core Practices of Agile Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions  over processes and tools  Working software  over comprehensive documentation  Customer collaboration  over contract negotiation  Responding to change  over following a plan That is, while there is value in the items on the right, we value the items on the left more. AgileManifesto.org
It’s all about the Iteration aka “Sprint” Fail Fast Show results fast Demo often Release often for lower risk Avoid the Big Bang – aka, the Big Flop From “Scrum in 5 Minutes”, by Softhouse. Available at: www.softhouse.se/Uploades/Scrum_eng_webb.pdf
The Scrum Burndown
The Art of the Daily Standup 15 minutes tops 3 questions: What did I do yesterday? What am I doing today? Obstacles? Product owner is silent Run by developers, for developers
Scrum Planning Poker Product owner picks items from backlog Team breaks each item into tasks Team estimation Round robin assignment Check against velocity
Agile Retrospectives At the end of every Iteration, after the demo Reflect on success/failures Non-judgemental Focus is continuous improvement
Kanban Board www.infoq.com/articles/agile-kanban-boards
Niko-niko calendar (smileys) www.infoq.com/articles/agile-kanban-boards
Requirements == User Stories? www.infoq.com/articles/agile-kanban-boards http://thesherpaproject.com/2009/04/09/user-stories-for-user-experience/ Well, sort of…
Other eXtreme Programming Practices Pair Programming Test Driven Development (TDD)  & Continuous Integration (CI)
Is the ROI of Agile for real? According to this study of projects: Scrum is 6 times more cost effective than traditional Pair Programming is 15 times more effective
Pop Quiz – Identify Agile Practices Stand up Remote team Iteration Goals User Stories Product Owner Shared workspace CI Server Burndown
When is Agile best? For Complex or Complicated work New products Projects with uncertainty (ie, most projects) The Stacey Diagram, from Ralph Stacey
An Agile Team is … 5-8 people Multi-disciplinary Collaborative Self organizing Willing to time-box Eager to help each other Focused on the team
Agile can’t fix everything … Personality Dysfunction Teams that stay in silos Cowboy coders Developers who secretly like the grind they are in and really want to fall on their swords. Teams that are afraid of change But when done right, Agile does expose and discourage these problems
The most common Agile mistakes “ Sure, we’re Agile.  We do stand ups.”  “ Oh, I already think we’re Agile enough.”  [When in fact they are just in complete chaos & anarchy.] #1 #2
12 ideas for selling Agile … Trial by Sprint  Case Studies of Success  Client/Customer Testimonials  Finding a champion in Key Stakeholders  Using metrics of success  Showing how Agile combats common IT project failures  Examples of industry/government leaders using Agile  Comparison to other methodologies  Listen to their needs and address them  Sneak it in  Compromise  Agile Project Management Office We’ll just focus on a few in coming slides
Finding a champion “ I highlighted the benefits to the Project Manager: higher productivity and less team- management stuff since the team will take care of lots of team-management and updating (burn charts) instead of PM's managing those details.” comment from a business analyst #1
Agile combats common IT failures Top 10 Classic Mistakes Poor estimation and scheduling Ineffective stakeholder management Insufficient risk management Insufficient planning Shortchanged quality assurance Weak personnel and/or team issues Insufficient project sponsorship Poor requirements determination Inattention to politics Lack of user involvement Source: Prof. R. Ryan Nelson, University of Virginia. As published in MIS Quarterly Executive, “IT Project Management: Infamous Failures, Classic Mistakes, and Best Practices”, June 2007 #2
Sneak it in Implement it piece by piece, without saying what you are doing. One idea: Start with iterations and demos, daily stand ups. PM’s love the communication. Then move to developer driven practices like sprint planning, XP, CI. Can be used to overcome fear of the word Agile #3
Agile Project Management Office Provide an interface to your clients that translates your Agile metrics into regular reports for the client Takes compliance burden off your development team Serves as “Educator and Coach” to client #4
Other Recommended Books
Let’s stay in touch! Arin Sime Senior Consultant Agile Lead, Solr search Dev and Process Consulting 434 996 5226 [email_address] www.o19s.com/blog www.twitter.com/ArinSime www.linkedin.com/in/arinsime

More Related Content

Intro to Agile Practices and Values

  • 1. Agile Practices & Values July 2010 Arin Sime
  • 2. Agile attempts to prevent … Where is my product? Late?!? What in the world are you working on? That’s not how I thought it was going to work! Your customer saying: That’s not in the specs…. Umm… we’re gonna be late…. It works on my machine…. I would have been done, but... Your dev team saying:
  • 3. The traditional way is … “ Plan Driven methods are generally considered the traditional way to develop software. Based on concepts drawn from the mainline engineering fields, these methods approach development in a requirements/design/build paradigm with standard, well- defined processes that organizations improve continuously. ”
  • 4. This often leads to… Stale requirements Vaporware that is spec’d but never built Management driven estimates that are confused with target release dates Command & Control approach Disgruntled developers who have no voice Very late projects Poor communication between stakeholders (throw the specs over the wall)
  • 5. Core Practices of Agile Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. AgileManifesto.org
  • 6. It’s all about the Iteration aka “Sprint” Fail Fast Show results fast Demo often Release often for lower risk Avoid the Big Bang – aka, the Big Flop From “Scrum in 5 Minutes”, by Softhouse. Available at: www.softhouse.se/Uploades/Scrum_eng_webb.pdf
  • 8. The Art of the Daily Standup 15 minutes tops 3 questions: What did I do yesterday? What am I doing today? Obstacles? Product owner is silent Run by developers, for developers
  • 9. Scrum Planning Poker Product owner picks items from backlog Team breaks each item into tasks Team estimation Round robin assignment Check against velocity
  • 10. Agile Retrospectives At the end of every Iteration, after the demo Reflect on success/failures Non-judgemental Focus is continuous improvement
  • 12. Niko-niko calendar (smileys) www.infoq.com/articles/agile-kanban-boards
  • 13. Requirements == User Stories? www.infoq.com/articles/agile-kanban-boards http://thesherpaproject.com/2009/04/09/user-stories-for-user-experience/ Well, sort of…
  • 14. Other eXtreme Programming Practices Pair Programming Test Driven Development (TDD) & Continuous Integration (CI)
  • 15. Is the ROI of Agile for real? According to this study of projects: Scrum is 6 times more cost effective than traditional Pair Programming is 15 times more effective
  • 16. Pop Quiz – Identify Agile Practices Stand up Remote team Iteration Goals User Stories Product Owner Shared workspace CI Server Burndown
  • 17. When is Agile best? For Complex or Complicated work New products Projects with uncertainty (ie, most projects) The Stacey Diagram, from Ralph Stacey
  • 18. An Agile Team is … 5-8 people Multi-disciplinary Collaborative Self organizing Willing to time-box Eager to help each other Focused on the team
  • 19. Agile can’t fix everything … Personality Dysfunction Teams that stay in silos Cowboy coders Developers who secretly like the grind they are in and really want to fall on their swords. Teams that are afraid of change But when done right, Agile does expose and discourage these problems
  • 20. The most common Agile mistakes “ Sure, we’re Agile. We do stand ups.” “ Oh, I already think we’re Agile enough.” [When in fact they are just in complete chaos & anarchy.] #1 #2
  • 21. 12 ideas for selling Agile … Trial by Sprint Case Studies of Success Client/Customer Testimonials Finding a champion in Key Stakeholders Using metrics of success Showing how Agile combats common IT project failures Examples of industry/government leaders using Agile Comparison to other methodologies Listen to their needs and address them Sneak it in Compromise Agile Project Management Office We’ll just focus on a few in coming slides
  • 22. Finding a champion “ I highlighted the benefits to the Project Manager: higher productivity and less team- management stuff since the team will take care of lots of team-management and updating (burn charts) instead of PM's managing those details.” comment from a business analyst #1
  • 23. Agile combats common IT failures Top 10 Classic Mistakes Poor estimation and scheduling Ineffective stakeholder management Insufficient risk management Insufficient planning Shortchanged quality assurance Weak personnel and/or team issues Insufficient project sponsorship Poor requirements determination Inattention to politics Lack of user involvement Source: Prof. R. Ryan Nelson, University of Virginia. As published in MIS Quarterly Executive, “IT Project Management: Infamous Failures, Classic Mistakes, and Best Practices”, June 2007 #2
  • 24. Sneak it in Implement it piece by piece, without saying what you are doing. One idea: Start with iterations and demos, daily stand ups. PM’s love the communication. Then move to developer driven practices like sprint planning, XP, CI. Can be used to overcome fear of the word Agile #3
  • 25. Agile Project Management Office Provide an interface to your clients that translates your Agile metrics into regular reports for the client Takes compliance burden off your development team Serves as “Educator and Coach” to client #4
  • 27. Let’s stay in touch! Arin Sime Senior Consultant Agile Lead, Solr search Dev and Process Consulting 434 996 5226 [email_address] www.o19s.com/blog www.twitter.com/ArinSime www.linkedin.com/in/arinsime