Keeping a Healthy Product Backlog Dhaval Panchal, CST and Agile Coach Slide 1
Dhaval Panchal Certified Scrum Trainer (CST) and Agile coach Consults with organizations from mid-sized product companies to the Fortune 100 Experience in software development, business and functional analysis, Lean office implementations, organizational change, system architecture, business intelligence, and project management Writes about software development and coaching on his blog (http://dhavalpanchal.gettingagile.com/) Received his B.S. in Engineering University of Mumbai, India Slide 2
Product Backlog: Point of View Maximize ROI Manage Risk Balance Workload Enhance Value Slide 3
Project Vision Drives the Features Waterfall Agile The Plan creates cost/schedule estimates The Vision creates feature estimates Constraints Features Cost Schedule Plan Driven Value / Vision Driven Estimates Cost Schedule Features Source: Referenced by Michelle Sliger in Relating PMBOK Practices to Agile Practices Slide 4
It is Impossible to Know All Requirements in Advance It is not possible to completely specify an interactive system. Wegner s Lemma, 1995 Uncertainty is inherent and inevitable in software development processes and products. Ziv s Uncertainty Principle, 1996 For a new software system the requirements will not be completely known until after the users have used it. Humphrey s Requirements Uncertainty Principle Slide 5
What Emerges? It is impossible to know all requirements in advance Thinking harder and thinking longer can uncover some requirements, but Every project has some emergent requirements Emergent requirements are those our users cannot identify in advance Slide 6
Don t Build What Won t Be Used Features / Functions Used in a Typical System The biggest cost of Predictive Development is overproduction of features Must be designed, built, and maintained Don t get used; provide no value Always 7% Often 13% Never 45% Sometimes 16% *Standish Group Study Reported in 2000 Chaos Report. Rarely 19% Slide 7
What is Product Ownership? Agile View of Product Management Identify partial concepts Assess Source: User Stories Applied and Agile Estimating and Planning, by Mike Cohn Slide 8
Core Vision Business Drives Development Scrum considers this a good thing. Builds a closer relationship between business and technologists. Maintaining a healthy backlog is key to supporting business needs. Slide 9
Product Backlog: Characteristics Slide 10
Challenges to Healthy Backlog Multiple lists of work Bugs to fix Product Features Unfinished Product Technical Backlog Slide 11
Challenges: Multiple Backlogs Create a single prioritized list of work: The Product Backlog Product Backlog Potentially- Shippable Product Increment Slide 12
Challenges: Multiple backlogs Single prioritized list Product Owner Bugs List Biz Analysts Sales Etc Product Features Architect Stakeholders Customer Service IT Ops Technical Backlog Product Definition Group Product Backlog Slide 13
Challenges to healthy backlog No stack-ranked prioritized list Possible Causes: Cannot compare priority for Features VS Bugs VS Technical Items Cannot get agreement on priority order Slide 14
Challenges: Relative Priority Cannot compare priority for Features VS Bugs VS Technical Items As a <<user>> I want to <<goal>> so that I can know when to expect my package As a <<user>> I want to <<goal>> so that customer service receives 20 fewer calls each day As a <<user>> I want to <<goal>> so that 10K concurrent user requests are handled Express each item in terms of business value; aka User Story Slide 15
Challenges: Relative Priority Factors in Prioritization Business value Primary determinant Ask how much would this benefit the business, or how much bang for my buck? don t overlook a few other factors Risk reduction Change in relative cost Learning / uncertainty Where these come into play, items on the Product Backlog may need a boost in priority Source: User Stories Applied and Agile Estimating and Planning, by Mike Cohn Slide 16
Relative Priority: Getting Agreement Dot Voting Technique 1. Place all User Story cards on a wall 2. Give 4 to 5 sticky dots to each participant 3. Ask each participant to vote for their highest priority items. Each person can place more than one dot on a single item. 4. Dotted cards have higher priority than non-dotted cards, move them to separate wall. 5. Order backlog with most number of dots to least (1 st Pass) 6. Go to 2 Until all items are prioritized Highest Priority Lower Priority Slide 17
Product Owner Owns Product Backlog Collectively, the developers have a sequence in which they would like to implement the features, as will the customer. When there is a disagreement to the sequence, the customer wins. Every time. However, customers cannot prioritize without some information from the development team, it is up to the development team to provide information (assumptions, constraints, alternatives) to the customer in order to help her prioritize the features. Mike Cohn, User Stories Applied Source: User Stories Applied by Mike Cohn Slide 18
Challenges to Healthy Backlog Too many backlog items Possible Causes Bugs or unfinished tasks during sprint Over-specification Slide 19
Challenges: Bugs/Unfinished Tasks If part of a story is not done, then the entire story is not done As a <<user>> I want to <<goal>> so that I can know when to expect my package Re-prioritize entire story Product Backlog Add bugs and incomplete tasks Slide 20
Challenges: Over Specification Converting requirements docs/use cases into backlog items line-for-line makes a very large backlog. Impossible to specify a system in its entirety. Slide 21
Challenges: Over Specification Business Analyst s Job Traditional Agile Create Documents Create Understanding Slide 22
Challenges: Over Specification Game of asteroids http://www.agileiq.org/2009/05/29/asteroids/ Slide 23
Challenges to Healthy Backlog Backlog not ready for team Possible Causes Difficulty splitting larger user stories Not enough information to begin development Slide 25
User Story Splitting Smells Split along process lines Design, code, test, document Split across architecture lines Database, Business Tier, UI Big picture of the original story is lost Individual stories no longer have clear customer value Slide 26
How to Split Stories Data boundaries Just show the record ID, don t link systems yet Operational boundaries Implement Read, then Create/Delete Exceptions and Error handling Do the happy path first Removing cross-cutting concerns Establish end-to-end with dummy data Stub out complexity Slide 27
Special-Purpose Story Types SPIKE A quick and dirty implementation, designed to be thrown away, to gain knowledge Indicator: Unable to estimate a user story effectively RESEARCH Broad, foundational knowledge-gaining to decide what to spike or to give the ability to estimate Indicator: Don t know a potential solution TRACER BULLET Narrow implementation in production quality of an epic/large user story Indicator: User story is too large, hard to estimate Slide 29
Challenges: Not Enough Information Need clear acceptance criteria Objectively determine Have we built the right thing? Need to be sufficient to test the feature Backlog grooming is key Team has a chance to ask questions Makes differing assumptions visible Give Product Owner pre-planning feedback Time to clarify stories Protects prioritization by customer value Slide 30
Grooming for Backlog Readiness Product Backlog items must be understandable by both the team and the Product Owner Team invests 5-10% of their capacity working with the Product Owner to prepare for the next Sprint A suggested approach Meet about 2-days before end of Sprint PO has about 1.5x the number of stack-ranked stories Acceptance Criteria are adjusted and agreed on Team estimates Split stories Re-Prioritize Slide 31
Summary: Healthy Backlog Have a single product backlog Stack-ranked prioritized list Use User Stories to compare by business value Product Owner has final say on priority Keep the Product Backlog reasonably sized Put unfinished Stories back on the backlog Don t over-specify low-priority items Groom the backlog before Sprint Planning Split large user stories along business value lines Stories must have acceptance criteria Slide 32
Founded: 1979 Employees: 250+ Headquarters: Redmond, WA Full range of technology consulting services, from Agile training and consulting to software development and talent acquisition Leading provider of Scrum Certification Training Slide 33
Agile Services at Every Stage Slide 34
Questions & Answers Slide 35
Upcoming SolutionsIQ Webinars Presented by VersionOne Soon Soon Agile Portfolio Metrics: A Dashboard for Executives Strategies for Maximizing Agile Portfolio Value Slide 36
Thank You Following this presentation, participants will receive an email with links to a recording and copies of today s slides For more on SolutionsIQ www.solutionsiq.com info@solutionsiq.com +1(800)235-4091 Slide 37