Building And Forecasting an Agile Release Plan Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. V. Lee Henson CST / PMP Certified Scrum Trainer Project Management Professional PMI- Agile Certified Practitioner Certified Lean Agile Professional Motivational Speaker & Executive Coach Author of The Definitive Agile Checklist Inventor of Rapid Release Planning Information Technology / Psychology Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 2 A QUICK AGILE OVERVIEW According to the Numbers... Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 3 ✤ ✤ ✤ ✤ Founded in 2007 - Salt Lake City, UT AgileDad Specializes in Public & Private Certification Workshops, Advanced Agile Training Courses, and Organizational Coaching Deep understanding of Agile & Traditional Project Management, (PMP), RUP, Lean, Kanban, Scrum, (CST), XP, & PMI-ACP Proven Applied Agile Principles in Software, Hardware, Financial, Insurance, Construction, Medical, Marketing, Legal, Entertainment, Research, Military, Government, Retail, Education, Law Enforcement, and many more... Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 4 What Problems Does Agile Try to Solve? Standish Group Results (Chaos Report 1995 - 2009) ‣31.1% of IT projects will be cancelled before completion ‣52.7% of completed projects cost on average 189% over their original time and budget estimates ‣16.9% of projects are completed on time and on budget ‣The larger the project, the more likely the failureDeveloping software is tough and prone to failure Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 5 Why Do Projects Fail? (even when we spend so much time planning them?) Project Impaired Factors % of Responses 1. Incomplete Requirements 13.1% 2. Lack of User Involvement 12.4% 3. Lack of Resources 10.6% 4. Unrealistic Expectations 9.9% 5. Lack of Executive Support 9.3% Copyright The Standish Group International, Inc. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 6 But Agile is more than just running from past challenges... 67% of organizations find that Agile has improved the frequency of their product releases. May 2009 - Forrester Research 74% of organizations report that Agile practices have resulted in increased productivity. 2008 State of Agile - VersionOne 66% of organizations have found reductions in cost greater or equal to 10% 2008 State of Agile - VersionOne 57% of organizations report improvements in execution capabilities due to increased company wide collaboration. May 2009 - Forrester Research 83% of organizations attribute improved transparency and project level visibility to their Agile practices 2008 State of Agile - VersionOne Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 7 Release planning Truth... Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 8 What Makes Release Planning So Difficult? 1. Poor Story Preparation ‣ ‣ ‣ Story preparation is CRITICAL to the success of forecasting a Release Plan Most stories have poor acceptance criteria We need to establish and learn how to ask people for what we want instead of always trying to explain how to do it. 2. Improper Conversations ‣ ‣ ‣ Having the wrong people in initial conversations can prove costly and cause confusion Failure to involve all teams participating in the release in the planning process makes it impossible to forecast Teams want to know what is coming next so that they can be better prepared Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 9 How Accurate is Release Planning? Type of Release Planning % of Accuracy Amount of Time 1. Traditional Release Planning 17.1% Weeks 2. Agile Story Review Planning 22.4% Multiple Days 3. Agile Planning Poker 34.6% 1-3 Days 4. Rapid Release Planning 86.9% < 90 Minutes Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 10 Agile Project Planning Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. Project Planning • “Plans are useless...planning is indispensable” - Eisenhower • Agile practices embrace continuous planning • Always accurate, varying levels of precision Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 12 The Five Levels of Agile Planning Agile teams plan their projects at 5 levels: Product Vision T-365 Product Roadmap T-365 to T-90 Release Planning T-60 to T-45 Iteration Planning T-0 Daily Planning T+1 to T+14 Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 13 Vision & Strategy • It is EXPECTED that a Great Vision & Strategy to achieve the vision are in place early in the Agile engagement. • Without BOTH a Vision & Strategy, teams will be lost when it comes to understanding the why behind the what. • The team is responsible for doing everything possible to execute on the vision by completing the work from a rank ordered product backlog. • The Strategy is the most overlooked portion of the project preparation. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 14 The Elevator Statement • FOR (target customer) • WHO (is suffering from this problem) • THE (product formal name) is a (product type or category) • THAT (provides this key benefit or compelling reason to buy). • UNLIKE (the primary competitive alternative) • OUR PRODUCT ( final statement of primary differentiation) Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 15 The Product Roadmap Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 16 Agile Product Owner: • Responsible for: Creation and maintenance of a stack ranked product backlog. • Gathering of customer, business, and technical requirements and filtering them down to a single product backlog. • Full understanding of the product and the process. • Maintaining upward visibility. • Representation of customer and or sponsor to the end team Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 17 Agile Analysts: • There are 3 types of analysts to assist the product owner in creation and maintenance of the product backlog: • 1) Technical Analyst - This analyst understands the way that the current product is built and can assist in determining technological feasibility of future enhancements. • 2) Functional Analyst - This analyst knows exactly how the current product works and understands the direction in which the business hopes to take the future of the product. This analyst is also typically very savvy about how end users typically use the product. • 3) Business Analyst - This analyst has a deep understanding of the customers wants, needs, and desires. They often negotiate with the business to get features into the product that the customer will actually use. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 18 The 3 C’s of a User Story: • 1) The Card - The topic of the backlog item, the high level description of the desired system behavior. • 2) The Conversation - Detailed requirements are only discovered after the backlog item has been pulled into a sprint. This is a dialog between the product owner and the development team. • 3) The Confirmation - Criteria that insures the backlog item was completed to the specifications of the product owner. The customer will evaluate the competed backlog item against the acceptance criteria, and if all tests pass, approve the backlog item by the end of the sprint. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 19 INVEST Attributes of Good Backlog Items Independent Avoid dependencies with other stories Write stories to establish foundation Combine stories if possible to deliver in a single iteration Estimable Enough detail should be listed to allow the team to estimate The team will encounter problems estimating if the story is too big, if insufficient information is provided, or if there is a lack of domain knowledge Negotiable Stories are not a contract Too much detail up front gives the impression that more discussion on the story is not necessary Not every story must be negotiable, constraints may exist that prevent it Sized Appropriately Each story should be small enough to be completed in a single iteration Small detailed stories for the near future Larger stories are okay if planned further out (Epics) Valuable Each story should show value to the Users, Customers, and Stakeholders Testable Acceptance criteria stated in customer terms Automate whenever possible All team members should demand clear acceptance criteria Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 20 The Index Card Business Priority MoSCoW Title - The title should be 10 words or less. H-M-L M-S-C-W Description- As a ________ I would like to ______________________________ so that ______________________________. XS - S- M - L - XL PO T-Shirt Size Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 21 The Index Card (The Back) Acceptance Criteria: Thou Shalt Allow This to happen. Thou Shalt NEVER Allow This to happen. Etc. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 22 The Index Card - Analysts FA H-M-L BA Title - The title should be 10 words or less. M-S-C-W Description- As a ________ I would like to ______________________________ so that ______________________________. XS - S- M - L - XL TA Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 23 Rapid Release Planning Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 24 Defining Velocity: • How much work can we fit in the release? Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 25 Determining Velocity: • What has the team been able to do in the past? • Have they ever worked together? • Do we have historical estimates from a previous similar project? • How much total team time do we have? • How much team time do we predict the first story will take us? Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 26 What Is a Release? • In order to have a release, you need the following three elements: • 1) A start and end date. • 2) A set of work for the team to complete. • 3) A customer to pass off on final acceptance of the work. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 27 Release vs. Sprint Planning Release Planning Iteration Planning Attendees Teams, SMEs and product owner required. Managers/customers optional. Team, SMEs and product owner required. Managers/customers optional. Lowest level of work breakdown User stories Tasks Estimates Provided in Points, t-shirt sizes, or duration (weeks) Hours Output of meeting Release plan (= high level Iteration plan (= detailed plan for multiple plan of tasks for one iterations) iteration) Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 28 The Product Backlog in Release: • Imagine for a moment that the water cooler pictured contained all of the features we could ever want in the product. Each listed in stack ranked order and ready to be placed into a tentative release. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 29 The Agile Release: The water line determines our Release Backlog Given our product backlog and release date, How many cups (iterations) can we fill? Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 30 Release Planning Woes: • Teams with different length iterations make release planning a real challenge. The size (length) of the iterations should remain as consistent as possible. • It is truly up to the team to determine what their true velocity really is. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 31 Value of Agile Release Planning: • Allows for planning for a series of iterations at a high level, reducing waste in planning detailed tasks for requirements we are uncertain about. • Allows for communication of the entire scope of the release to project teams and stakeholders around a high level plan. • Protects the ability to remain flexible and ‘agile’ by embracing changes in requirements. • Serves as a guide, a baseline, and is expected to be updated based on collaboration and the emerging product. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 32 Value of Release Planning Realized: • Understand the need for human and other resources as the macro release level; understand possible decision points for make vs. buy, integration, etc. • Provides the customer and leadership with an idea of how a large project is progressing. • Involves the team in its creation, which means more buy-in, accuracy, and empowerment. • “I know things in a project are going to change, but in my agile projects, I know this information much sooner which allows for good decision making.” • ~ Joe CEO Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 33 What a Release Plan is Not: • A release plan is not entirely predictive or prescriptive. • A release plan is not planned at the task level. • A release plan is not ‘frozen’, (aka Scope Control) • There is really still no crystal ball to insure 100% accuracy. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 34 Release Plan Reporting: • People expect to know about changes to requirements in the product backlog. • Contract phases and dates. • Team Velocity • Cost • The ability to re-project the number of iterations needed to complete the work slated in the release. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 35 Rapid Release Planning Instructions: • 1) Print out all of the story cards you hope to be included in the release leaving off the product owner t-shirt size. (After all, we would not want to influence the team.) • 2) Place all of the cards in a large box, bucket, or basket. • 3) Invite all of the teams participating in the release to be part of the rapid release planning session to gather around a large table. • 4) Explain that in a moment you will be dumping out all of the cards. The team will have a preset amount of time to find a card they all agree is small in scope. • 5) Once the team has identified a small benchmark item, explain they will have a preset amount of time to place all of the remaining cards in columns on the wall listed as small, medium, and large relative to the first item and to each other. • 6) If a team member picks up a card they are uncertain about, have them return the card to the table for other team members to review. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 36 Rapid Release Planning Instructions: • 7) If an item is smaller than small, make a column for extra small. If the item is larger than large make a column for extra large. • 8) If an item is placed in the wrong column on the wall, feel free to move it. Any card can move except for the initial small benchmark item. • 9) For the final few seconds, I command silence and have the team carefully study as many items on the wall as they can in an effort to allow for any final adjustments to be made. • 10) Once the time expires, I excuse the team for an extended lunch and ask the product owners to stick around for a while so we can do a quick comparison. • 11) Any items with no disparity or with only one column of difference in either direction between the product owner and the team is a good enough estimate. The team will get better at estimating as they go and product owner will have a lot fewer items for additional review. The teams estimate in this case is the final one. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 37 Rapid Release Planning Instructions: • 12) If there is more than one degree of separation in the t-shirt size between the product owner and the team, this warrants additional discussion regarding that item. In most cases this limits the number of items requiring additional conversation to a much smaller number. • 13) Outliers are marked with both the team size and the PO size and placed in a separate column for additional discussion. • 14) When the team returns, we talk about the outliers for a time-boxed period of five minutes each in an attempt to clarify scope. • 15) The teams estimate stands and we move quickly through the items. • 16) Before we exit the room, the team takes a sheet of round stickies and identifies any backlog items in the release that have an internal or external dependency. • 17) Based on the teams projected velocity, the product owner places items into future sprints to identify any items that could be considered at risk of not making the release. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 38 The Sliding Scale • • • The amount of time allowed for each step in the Rapid Release Planning Process varies based on the number of items you are trying to plan for, the number of people, and whether teams are remote or collocated. The scale at right should be used as a guide and can be adjusted according to what works best for you. Please remember: 1) The times are intentionally FAST! This is to perfect reaching a true grit gut decision instead of pondering. 2) Every team member may not get to see every card. This is PERFECTLY fine. They need to trust in the ability of the team member that did see the card. • 3) Movement of cards throughout the exercise is both normal and expected. • 4) Limit the number of people participating to no more than 50 People. • • 5) Video Record your teams executing this and send it directly to me or upload via YouTube for a chance to win cool prizes! Note: Remote teams should add 50% to the times listed. # Of Items # Of People 0-99 (5) 1 Team (+0) 100-199 (10) 2 Teams (+5) 200-299 (15) 3 Teams (+10) 300-399 (20) 4 Teams (+15) 400-499 (25) 5 Teams (+20) 500 (30) 6 Teams (+25) Times in Parentheses should be added together to calculate the TOTAL team time needed for the RRP Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 39 Focusing On the Right Product • The Standish Group determined that 45% of all user ‘requirements’ are never used by the customer in the delivered product**… (Why are you building it?) • The result to the left describes typical implementations • How can we make scope changes ‘lean’? ** J. Johnson, Keynote Speech, XP 2002 Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 40 Questions? • You now hold the keys to success! • You have been educated and empowered. • Visit often and drink from the well! http://www.agiledad.com/ Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 41 Background Materials: Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 42 Agile Resources: • Suggested URLs: • Home of Scrum = www.scrumalliance.com • Jeff Sutherland = www.jeffsutherland.com • Mike Cohn = www.mountaingoatsoftware.com • AgileDad = www.AgileDad.Com Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 43 Thank You! Lee@AgileDad.com - Twitter @AgileDad LinkedIn leehenson@gmail.com Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 44 Disclaimer: The preceding presentation was intended as a Lunch Conference Presentation for the PMI Northern Utah Chapter, March Session in Sandy, Utah. No portion of this presentation should be copied, transferred, or reproduced without the expressed written consent of AgileDad. Any company and or organization depicted in this material is purely fictitious and is not intended in any way to represent and or mimic an existing company and or corporation. This presentation and any broadcast thereof is intended for the sole use of the PMI Norther Utah Chapter. No other warranty or disclaimer stands or supersedes this one. Copyright 2013 AgileDad LLC Licensed for Classroom Use Only. 45