Putting the best first
Agile projects start with a roadmapping and prototyping phase.
In the roadmapping phase, you write down everything that you want
to deliver. This is sometimes called brainstorming. You then sort
those ideas in priority order. Finally, you take the top
deliverables and form them into a minimum useful release.
Roadmapping delivers three things:
- A vision and description of the completed system you want to
deliver. This will explain what you are trying to accomplish, and
serves as an inspiration during your incremental development.
- A roadmap that shows the order you intend to implement the
ideas.
- A minimum useful release that you can show to your customers.
This consists of the first deliverables on the top of the roadmap.
This is the most important and essential output from the
roadmapping process.
The roadmapping process:
- Brainstorm. Collect all requests and ideas. In brainstorming,
you don't filter very much. You take all of the ideas, and later
you sort through them and throw out the weaklings. It's helpful to
try to organize them as stories - capabilities that users actually
want, described in terms of a role, a goal, and an action. Stories
will come from roles - people that want them, or target users.
Often your idea contributors come from these distinct roles.
- Optional: Add information by categorizing the ideas, voting on
the most important, and estimating the effort required.
- Incrementalize. For each idea that you want to deliver, break
it into a simple first version, with a series of improvements.
- Sort by priority. Your next release should come from the items
on the top of the list.