This is the companion page to the 2015 Nebraska Code Conference half-day lab "Agile Requirements: From Idea to Minimum Viable Product" that I facilitated with the help of Adam Costenbader and Keil Wilson.
Thanks to everyone who came! We had a great time. Let me know if you have any questions or just drop me a line if you ever use this process!
The session page on nebraskacode.com is already taken down, but below is a summary of what we did that day in the workshop:
Why Should I Come?
If you’ve ever been part of a team as a developer, analyst, or project manager who has been handed a new software initiative by your organization and have felt that surge of excitement to be embarking on something new mixed with trepidation of not knowing where to begin, then you will appreciate this session especially if the project was difficult to get off the ground.
Maybe you have an idea for an app you would like to get started on, but just haven’t been able to draw a fence around what this app is and who would want to use it, or maybe you’ve jumped into coding on your idea but keep losing your way, then this session will be helpful to you.
If you are a software consultant who builds medium to large line of business solutions for clients but have struggled balancing the customer’s constraints of budgets and schedules with practicing an agile development process, then you will be interested in this session to find out how to weed out bad prospects and get your customer more involved in the process for a better chance at a successful outcome.
What Should I Expect?
This is going to be a highly interactive session, but in a friendly small-group way (3-5/group). We will be brainstorming what an ideal user group website would be like using a requirements gathering process that will consider it from many angles from what would an attendee want to what would a sponsor be interested in.
- We'll start off by briefly introducing the process and agenda for the day and asking for a volunteer from the audience to represent the product owner of the solution.
- The Product Owner will help play the role of driving the vision for the project and making some final decisions about the direction it should take.
- After we work through defining the objective of the solution as a group, the roles of who would be a stakeholder in the solution, and a few example feature definitions, you will break into groups of 3-5 and brainstorm a list of features a certain stakeholder role might be interested in.
- Each group will then present 5 of their best features and each of those will be on a card that will be stuck to the wall.
- After all groups have presented their ideas, we'll take a break while each group comes up and prioritizes the list of features.
- Each group will then come back through and decide where in that list of priorities could the least amount of features be done that would make a good first release - the minimum viable product. The product owner (volunteer) and product sponsor (Keil) will help make final decisions.
- Time permitting, we'll do a group retrospective to see what worked and what we could improve on - this has been key to improving our requirements and development processes and you will hopefully see how helpful a productive retrospective can be.
People who have seen this requirements process agree that it is surprising how even a seemingly simple idea can be expanded to a large idea and then pulled back into focus to clarify just the core of what needs to be done first to get a usable solution.
How Can I Prepare?
Attendees should give some forethought into what kind of features they would like to see in a software user group website. If you have been to a group before, consider what you liked and what you didn't like. Bring some notes with you and you'll get more out of the session! We will provide water, pens, pads, and a free month pass to Pluralsight for every attendee.
What Happens After the Session?
You can take what you learn at this session and apply it to your next project at work or your next side project - use it, adapt it, and enjoy it. You will have gained enough experience to take the parts you like about this requirements gathering approach and tailor it to your needs. If you would like to learn more, Rusty is working on a Pluralsight course that will cover this process in more depth.
You may really want to make this solution after seeing all that it could be. We have created a github repository that will be used for this session and for the Pluralsight course to create the solution.
We created another github repository that just has documentation related to this process - the tools you can use to conduct an agile requirements meeting on your own. Feel free to download and use these tools, change them for your own process, and send us pull requests if you like.
See You There!
Feel free to contact me using the contact form on this website if you have any questions! Thanks, and I hope you come and have a great time!