The Roadmap to Value has seven stages:
- In stage 1, the product owner identifies the product vision. The product vision is your product’s destination or end goal. The product vision includes the outer boundary of what your product will be, how the product is different than the competition, how the product will support your company or organization’s strategy, who will use the product, and why people will use the product. The product vision should be revisisted at least once a year.
- In stage 2, the product owner creates a product roadmap. The product roadmap is a high-level view of the product requirements, with a general time frame for when you will develop those requirements. It also gives context to the vision by showing the tangible features that will be produced during development. Identifying product requirements and then prioritizing and roughly estimating the effort for those requirements allow you to establish requirement themes and identify requirement gaps. The product owner, with support from the development team, should revise the product roadmap at least biannually.
- In stage 3, the product owner creates a release plan. The release plan identifies a high-level timetable for the release of working functionality to the customer. The release serves as a mid-term boundary against which the scrum team can mobilize. Many releases may be required to accomplish the product vision and the highest-priority features should appear first. You create a release plan at the beginning of each release, which according to Principle 3 should be “frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale
- In stage 4, the product owner, the development team, and the scrum master will plan iterations, also called sprints, and start creating the product functionality in those sprints. Sprint planning sessions take place at the start of each sprint. During sprint planning, the scrum team determines a sprint goal, which establishes the immediate boundary of work that the team forecasts to accomplish during the sprint, with requirements that support the goal and can be completed in the sprint. The scrum team also outlines how to complete those requirements.
- In stage 5, the development team has daily scrum meetings during each sprint to coordinate the day’s priorities for accomplishing the sprint goal. In the daily scrum meeting, based on what was completed up to that point, you coordinate what you will work on today and any roadblocks, so that you can address issues immediately.
- In stage 6, the scrum team holds a sprint review at the end of every sprint. In the sprint review, you demonstrate the working product to the product stakeholders.
- In stage 7, the scrum team holds a sprint retrospective. The sprint retrospective is a meeting where the scrum team discusses the completed sprint with regard to their processes and environment and makes plans for process improvements in the next sprint. Like the sprint review for inspecting and adapting the product, a sprint retrospective is held at the end of every sprint to inspect and adapt your processes and environment.
Progressive elaboration
During each stage of product development, you plan only as much as you need to plan. In the early stages of your work, you plan widely and holistically to create a broad outline of how the product will shape up over time. In later stages, you narrow your planning and add more details to ensure success in the immediate development effort. This process is called a progressive elaboration of requirements.
Planning broadly at first and in detail later, when necessary, prevents you from wasting time on planning lower-priority product requirements that may never be implemented. This model also lets you add high-value requirements during product development without disrupting the flow.The more just-in-time your detailed planning is, the more effective your planning becomes.
Standish Group studies show that customers rarely or never use as much as 80 percent of the features in an application. In the first few development cycles of an agile product development effort, you complete features that have the highest priority and that people will use. Typically, you release those groups of features as early as possible to gain market share through first-mover advantage; receive customer feedback for viability; monetize functionality early to optimize return on investment (ROI); and avoid internal and external obsolescence.
Inspect and adapt
Just-in-time planning brings into play two fundamental tenets of agile techniques: Inspect and adapt. At each stage of development, you need to look at the product and the process (inspect) and make changes as necessary (adapt).Agile planning is a rhythmic cycle of inspecting and adapting. Consider the following:
- Each day during the sprint, the product owner provides feedback to help improve the product as the development team creates the product.
- At the end of each sprint, in the sprint review, stakeholders provide feedback to further improve the product.
- At the end of each sprint in the sprint retrospective, the scrum team discusses the lessons they learned during the past sprint to improve the development process.
- After a release, the customers can provide feedback for improvement. Feedback might be direct, when a customer contacts the company about the product, or indirect, when potential customers either do or don’t purchase the product.
At the beginning of development, you know the least about the product you’re creating, so trying to plan fine details at that time just doesn’t work. Being agile means you do the detailed planning when you need it, and immediately develop the specific requirements you defined with that planning. Remember the Agile Manifesto value: “Responding to change over following a plan.”
After you know a little more about how agile planning works, it’s time to complete the first step: defining the product vision.