First off, thank you to everyone who has read my posts this will be the last one of the series. Today I will be recapping the series into a much smaller set of notes so you can bookmark this page for later.
- Elevator pitch or more of user features and experiences.
- Enough to sell you on the idea
- Could come from anyone
- Take the pitch and cut out fluff, emotion, examples or unnecessary details
- Technical details are also cut and can be saved for the very end
- We end with a bullet point list of requirements
- Combine any bullet points that are very similar and can be handled together
- Anything too specific can be abstracted up a level
- We end with a clean set of requirements
- Detail your end results
- Blurb every idea you have
- You may need to trim down some ideas to fit your timeline, but I like to keep them all somewhere for later
- Check each idea to make sure it is viable and even possible
- Detail how users start the experience
- Match your end results and requirements to what you will need
- Draw it out
- Take the start and end to draw out a graph leaving a gap in the middle
- Fill in the middle, lining up the start and end parts with the requirements
- Break down
- Take any abstract, high-level node and add details
- Split any merged requirements into separate nodes
- Make note of any edge cases and abort conditions
- Get someone else to review your chart, preferably someone who wasn't part of the process
- Cleanup the chart
- Optional: If you want to clean up your graph and maybe upload it somewhere
- Start with closing the start > finish loop
- Then get the program to work correctly ( sometimes this is done already )
- Then handle any skipped edge cases, usually saving exceptions for last
If at any point you feel things are not lining up or feels a little off, maybe even too big. Stop and go back a step or two and try again. More art than science here, quickly doing one or two iterations until you are happy is better than being far off later.
Now you can start working, follow the style you prefer. I recommend TDD ( test-driven development ) or XP ( extreme programming ).
That is it, thank you for reading this series.