“In preparing for battle I have always found that plans are useless, but planning is indispensable.” Dwight David Eisenhower
Dwight D. Eisenhower—American President, five-star general in the US Army…and an agile development expert ahead of his time?
Well, that last one might be a bit of a stretch, but his quote definitely describes a trademark of the agile methodology—a more value-driven development approach, as opposed to the traditional plan-driven approach.
So why are plans bad, yet planning essential? These days, the pace of change is lightning fast. If you have a detailed upfront plan at the beginning and follow it all the way through, the requirements usually change by the time the solution is developed and tested. You run the risk of wasting 6-12 months (or more) on a plan that is no longer viable. Instead, with agile, you leverage short-term planning to discover insights that can help you improve along the way.
But a common misconception of agile is that it avoids long-term planning in favor of only planning a few weeks out. Going agile doesn’t mean you don’t have a future plan—it just means that you’re more flexible about the path you take. Successful agile teams put a strong focus on strategy and understand their objectives.
While agile doesn’t support highly detailed long-term plans up front, it still accounts for the future. With agile, you outline your high-level business goals first, think about the six-month and twelve-month plan, focus on problems over solutions, abandon timelines, and leave room to adjust priorities as you work towards the goals.
In short, you’re not held hostage by an outdated plan.
But the question still remains—how exactly can you plan for the future with agile development? It’s certainly easy to get swept up in the short-term iterations and lose sight of the main objective.
Here’s how you can craft a plan:
Develop a Product Vision
Every product you develop needs a vision. The task of developing a product vision should be assigned to the product owner. The product vision is a broad picture of the future—it summarizes the major benefits and features the product will provide. This vision is long-term and usually spans a year or more into the future.
Why it’s important: the product vision defines the product users, defines the overall goals, and helps form your ‘elevator pitch’. An effective product visions guide the scrum team and align stakeholders and customers. It’s essential for the long-term success of your product.
Forming the elevator pitch: Use Geoffrey Moore’s positioning statement exercise to form the elevator pitch. Answer the following:
- For (target customers)
- Who must (solve a specific problem)
- Our service is a new (new service/product category)
- That provides (key breakthrough benefit vs. current way of doing things, solves dilemma)
- Unlike (competitor in a new category)
- We have (whole product most relevant for you)
How to develop the product vision:
A good product vision answers the following questions at a high level:
- Who is the target customer?
- Which customer needs will the product address? What problems does it solve?
- Which product attributes are essential to satisfy those needs?
- How does the product compare to other existing products? What are its unique selling points?
- What are the target timeframe and budget for developing and launching the product?
With clear answers to these questions, you can make a justified case for the product and decide if and how the project should proceed.
Create a Product Roadmap
After you define the product vision, it’s time to input it into a product roadmap. The product roadmap outlines when products are scheduled for release, and it includes a list of the key features and characteristics the product needs to deliver to fulfill the product vision.
Follow these 4 steps to create the product roadmap:
- Identify your product requirements
- Arrange product features into themes
- Estimate and order the product’s features
- Determine high-level timeframes for completion
The list of desired features that need to be built is the product backlog. The features must be prioritized in the product backlog because the success of an agile project depends on early delivery of the highest priority features.
Once an initial feature list is identified, prioritized, and estimated, it’s time to start release planning. A release is a set of product increments that is released to the customer. Release plans look several iterations (agile sprints) into the future and can stretch over six to nine months. The further out the release date of a feature, the more likely it is to change.
Releases are defined by date, theme, and planned feature set. The goal is to estimate which features will be delivered by the release deadline.
How to create the release plan:
The release plan is determined by the team’s velocity (the amount of work they can successfully complete in a sprint) and the size estimate of the work.
Agile development accounts for the uncertainty and rapid pace of change in today’s world. These steps will help you get started planning for the future with your agile development project. As you can see, the agile development process is filled with planning throughout each stage, instead of a long, detailed plan at the beginning.
Even though the long-term plan is more general and open-ended, you can still lay out the main objectives and work towards them. Throughout each iteration and release, it’s important to keep those goals and objectives in mind.
Has your company struggled when planning for the future with agile development? What have been some of the pitfalls? Have you tried incorporating a product vision, product roadmap, and release planning?
Want more great tips to help you build a successful application? Subscribe below!