Agile Requirements Workshop: From Idea to Minimum Viable Product Introduction to the Process Hello, my name We’re going to do a requirements workshop tonight A few slides first to give you some context Rusty Divine @Cornerposts | CornerpostSoftware.com
I have only been doing agile development for the last few years How many of you don’t do any agile?
How It Used to Be Entire project estimated at the start Change control contract documents during Disagreements about being done in the end
Requirements Process Overview - What is this agile workshop?
Requirements Process Overview Get everyone in a room Define the project vision Brainstorm feature list Uncover constraints & assumptions Limit to minimum viable product
Requirements Process Outcome Trust Prioritized Backlog Small Scope Group Consensus Shared Vision Shared Context
5 6 4 2 1 3 Other Benefits Reduce thrashing stage Limited scope means more accurate estimates Get the right people involved from the start Identify red flags early Customer won’t pay nominal fee Technology or personality mismatch 5 6 4 2 1 3
When Not to Use This Process
Don't Use This Process When a Project Is… Straightforward Porting without improvements Already out for bid With uncooperative customer http://www.pluralsight.com/tag/requirements
How Do I Convince My Customer to Use This Process?
Convincing Your Customer Yours to Keep Fixed Price / Duration Improved Estimate Accuracy Efficient All Aboard Fail Fast
Requirements Meeting - Let me tell you the case study we’ll be using tonight
Meeting Agenda Introductions Ground Rules Objective User Roles 5 minutes Ground Rules Objective 20 minutes User Roles 10 minutes Features 150 minutes Assumptions & Constraints Prioritization Core Feature Set for Minimum Viable Product Meeting Agenda ~ 4 Hours Typical meeting agenda for a project like a new website 6:45 here, 7:30 done with MVP
Objective – The Goal What does it look like in the end? What is the highest-level synopsis? What problem does it solve? What does it have to do? What is a reasonable timeline? Toughest, but most important Brainstorm; input from all Guide for CFS and project Specific, Measurable, Achievable, Realistic, Time-bound Objective 20m Roles 10m Features 150m Constraints Prioritize CFS
Roles Product Owner Administrator Anonymous User Registered User Power User Product owner for business, look-and-feel stories Ask who are the users, what types: example, web-email with network admins, casual users, power users, api, advertisers Roles become checklist in feature capture API User Objective 20m Roles 10m Features 150m Constraints Prioritize CFS
Features Power User: Add new fruit STORY TITLE As a {user role} I want to so that COA: 1. 2. Admin: Manage featured fruit As an administrator, I want to feature fruit on the app so that users can be introduced to new fruit. COA: Admin tool to manage featured fruit that would appear on the home screen. Would need to be location aware so that suggested fruit is available to target user. Have links to information about fruit, its season, trivia, and recipes. Power User: Add new fruit As a power user, I want to be able to add fruit to the site that doesn't yet exist so that I can add a review. COA: Be able to enter a new fruit that doesn't appear in the database. Restricted by reputation threshold. Registered User: Map tool for location As a registered user, I want to be able to choose from my previously reviewed locations or use a map to select a new location so that it is easy to locate my fruit review COA: Be able to select a previously used location on a review, or use a map that lets user search by name and location, then mark where the fruit was purchased. User story format; so that diff by stakeholder Write the As A, I Want To, So That, COA, Title up on the whiteboard Write titles on a sticky for later COA is critical for scope management, can be done in follow-up w/product owner Keep it valuable, don’t dive deep Make sure you get some for each role Do some sketches and workflows Objective 20m Roles 10m Features 150m Constraints Prioritize CFS
Constraints Assumptions Mobile First C# .Net Schedule – 3 months Budget - $50K Hosting in Azure will allow us to scale as needed Google or Open Street Map will meet the app’s needs Constraints put boundaries around what you can do Assumptions are things that could change the scope; they are the risks Listen for these during the meeting; try to ask questions that will ferret these out Finding these can make or break a budget: story about offline app Limitations Risks Objective 20m Roles 10m Features 150m Constraints Prioritize CFS
Meeting Break Objective 20m Roles 10m Features 150m Constraints Switch from brainstorming to critical thinking now; good time to take 5 Objective 20m Roles 10m Features 150m Constraints Prioritize CFS
Prioritize and Identify CFS Fruit selection auto-complete Map tool for location Algorithm fruit quality decay Add new fruit User up vote a review Add link to recipe User submits fruit review Favorite a recipe Admin disable user accounts Admin reports Manage fruit in database Admin set thresholds for user access levels Stakeholders put the sticky notes in priority order on the wall Explain priority: simplest, between two stories, if you could only have one, which would it be. Site must still be functional. Stakeholders take turns, can move each other’s notes; you facilitate as needed After prioritized, find the first story that is not absolutely required. Push back on “all” hard – priorities will change during the project; we can do all eventually. Not CFS Objective 20m Roles 10m Features 150m Constraints Prioritize CFS
Meeting Notes - The meeting is over, and now what?
Compiling the Meeting Notes Objective, roles, core features, pictures, etc. Demonstrates your understanding Valuable reference
Additional Documentation
Missing Stories Supporting Stories Research Stories Proof of Concept
Design Documentation Workflows, swim lanes, etc. Limited preliminary mockups High-level data design
Off-the-shelf Research Build trust Use, integrate, or customize Limited competitive research
Let’s Do It! Two- or three-week sprints Daily stand-up with product owner Demo & retro with stakeholders Review burn down Prioritize Manage scope Plan next sprint Keep the customer at the wheel for scope changes; lets them make constant course adjustments
2 hour Pluralsight course: Thanks for coming! Slides: http://osmy.in/2n7mcJP 2 hour Pluralsight course: http://osmy.in/AgileRequirementsProcess Design Sprint: http://amzn.to/2nyuxc2 Rusty Divine CornerPostSoftware.com