- Interview stakeholders. Goals. Vision
- Elevator pitch: “For [target customer], who has [customer need], [product name] is a [market category] that [one key benefit]. Unlike [competition], the product [unique differentiator].”
- Define your value proposition
- Create a “Concept Story” as described in “The User’s Journey.”
- Define audience/users
- Interview (potential/current) customers
- For new products do Pre-Product Interviews
- Observe customers
- Create “Origin Stories” as described in “The User’s Journey.”
- Research competitive landscape
- Define differentiator/competitive advantage
- Perform a content audit
- Identify current failures / success
- Define/redefine success metrics
The following design and development process aren’t necessarily linear. You will not necessarily do each process for every project, either.
Work with users to write user stories. Do this with real users when possible. For new products you may imagine what you want your future users to be able to do. Group related stories into epics.
User story template:
As a [type of user], I want [goal] so that I [receive benefit].
Use Story Mapping to map out all of the individual steps and tasks that make up each user story.
- Create story maps from user stories. Do this for existing processes as well as future/imagined/ideal processes.
- Create “Usage Stories” (map action, crisis, climax, etc. for greater engagement - The User’s Journey)
Use OOUX (Object Oriented UX) practices to discover and define the objects and interactions that will make up the system.
Start simple using Ryan Singer’s design flow shorthand.
Sketch out screens and ideas. Use a formal Design Studio method or just hash out ideas together more informally using pen and paper.
Create prototypes from user stories and sketches.
- Paper (old-school, quick and simple)
- Clickable (Balsamiq, Keynote, Sketch/Invision, etc.)
- Manage agile development process using an agile software tool like Jira or do it manually using post-its on walls.
- Use Github Issues to manage your product backlog and sprint backlog. See Github Scrum Process.
- Add stories to backlog
- Break larger stories down until you get smaller, manageable stories that can be clearly defined and estimated (see example story-issue)
- For each issue create (sub) tasks
- Prioritize the backlog
- Collaboratively decide on what issues to pull from the product backlog into sprint backlog. Assign sprint items to devs.
- How to Run a Sprint for a Small Team
- Daily Stand-ups
- Create a sprint board in software or on the wall.
At the end of the sprint we present the working iteration to users. From this point on we go back to the beginning—continue to elicit user/stakeholder feedback and iterate on the product.