General introduction to agile practices like Scrum and Kanban. Also covers what situations Agile is best at, what situations Agile doesn't help with, and what an Agile team should look like. This deck is a general intro to Agile for OpenSource Connections clients.
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
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