Chapter 8. Planning

Today I talked to a friend who wanted to know how I organized software projects. His team has grown rapidly, and their attempts to create and manage detailed plans are spiraling out of control. “It just doesn’t scale,” he sighed.

The larger your project becomes, the harder it is to plan everything in advance. The more chaotic your environment, the more likely it is that your plans will be thrown off by some unexpected event. Yet in this chaos lies opportunity.

Rather than trying to plan for every eventuality, embrace the possibilities that change brings you. This attitude is very different from facing change with clenched jaws and white knuckles. In this state of mind, we welcome surprise. We marvel at the power we have to identify and take advantage of new opportunities. The open horizon stretches before us. We know in which direction we need to travel, and we have the flexibility in our plan to choose the best way to get there. We’ll know it when we find it.

This approach may sound like it’s out of control. It would be, except for eight practices that allow you to control the chaos of endless possibility:

We know why our work is important and how we’ll be successful.

Vision. If there’s a more derided word in the corporate vocabulary, I don’t know what it is. This word brings to mind bland corporate-speak: “Our vision is to serve customers while maximizing stakeholder value and upholding the family values of our employees.” Bleh. Content-free baloney.

Don’t worry—that’s not what you’re going to do.

Before a project is a project, someone in the company has an idea. Suppose it’s someone in the Wizzle-Frobitz company.[31] “Hey!” he says, sitting bolt upright in bed. “We could frobitz the wizzles so much better if we had some software that sorted the wizzles first!”

Maybe it’s not quite that dramatic. The point is, projects start out as ideas focused on results. Sell more hardware by bundling better software. Attract bigger customers by scaling more effectively. Open up a new market by offering a new service. The idea is so compelling that it gets funding, and the project begins.

Somewhere in the transition from idea to project, the compelling part—the vision of a better future—often gets lost. Details crowd it out. You have to hire programmers, domain experts, and interaction designers. You must create stories, schedule iterations, and report on progress. Hustle, people, hustle!

That’s a shame, because nothing matters more than delivering the vision. The goal of the entire project is to frobitz wizzles better. If the details are perfect (the wizzles are sorted with elegance and precision) but the vision is forgotten (the wizzle sorter doesn’t work with the frobitzer), then the software will probably fail. Conversely, if you ship something that helps frobitz wizzles better than anything else, does it really matter how you did it?

Like the children’s game of telephone, every step between the visionaries and the product manager reduces the product manager’s ability to accurately maintain and effectively promote the vision.

If you only have one visionary, the best approach is to have that visionary act as product manager. This reduces the possibility of any telephone-game confusion. As long as the vision is both worthwhile and achievable, the visionary’s day-to-day involvement as product manager greatly improves the project’s chances of delivering an impressive product.

If the visionary isn’t available to participate fully, as is often the case, someone else must be the product manager. Ask the visionary to recommend a trusted lieutenant or protégé: someone who has regular interaction with the visionary and understands how he thinks.

Frequently, a project will have multiple visionaries. This is particularly common in custom software development. If this is the case on your project, you need to help the visionaries combine their ideas into a single, cohesive vision.

Before you go too far down that road, however, ask yourself whether you actually have multiple projects. Is each vision significantly different? Can you execute them serially, one vision at a time, as separate projects built by the same team on a single codebase? If you can, that may be your best solution.

If you can’t tease apart the visions (do try!), you’re in for a tough job. In this case, the role of the product manager must change. Rather than being a visionary himself, the product manager facilitates discussion between multiple visionaries. The best person for the job is one who understands the business well, already knows each of the visionaries, and has political savvy and good facilitation skills.

It might be more accurate to call this sort of product manager a product facilitator or customer coach, but I’ll stick with product manager for consistency.

The vision statement documents three things: what the project should accomplish, why it is valuable, and the project’s success criteria.

The vision statement can be short. I limit mine to a single page. Remember, the vision statement is a clear and simple way of describing why the project deserves to exist. It’s not a roadmap; that’s the purpose of release planning.

In the first section—what the project should accomplish—describe the problem or opportunity that the project will address, expressed as an end result. Be specific, but not prescriptive. Leave room for the team to work out the details.

Here is a real vision statement describing “Sasquatch,” a product developed by two entrepreneurs who started a new company:

In the second section, describe why the project is valuable:

In the final section, describe the project’s success criteria: how you will know that the project has succeeded and when you will decide. Choose concrete, clear, and unambiguous targets:

After creating the vision statement, post it prominently as part of the team’s informative workspace. Use the vision to evangelize the project to stakeholders and to explain the priority (or deprioritization) of specific stories.

Be sure to include the visionaries in product decisions. Invite them to release planning sessions. Make sure they see iteration demos, even if that means a private showing. Involve them in discussions with real customers. Solicit their feedback about progress, ask for their help in improving the plan, and give them opportunities to write stories. They can even be an invaluable resource in company politics, as successful visionaries are often senior and influential.

Including your visionaries may be difficult, but make the effort; distance between the team and its visionaries decreases the team’s understanding of the product it’s building. While the vision statement is necessary and valuable, a visionary’s personal passion and excitement for the product communicates far more clearly. If the team interacts with the visionary frequently, they’ll understand the product’s purpose better and they’ll come up with more ideas for increasing value and decreasing cost.

If the visionaries cannot meet with the team at all, then the product manager will have to go to them to share the plan, get feedback, and conduct private demos. This is the least effective way of involving the visionaries, and you must decide if the product manager understands the vision well enough to act in their stead. Ask your mentor for help making this decision. If you conclude that the product manager doesn’t understand the vision well, talk with your executive sponsor about the risks of continuing, and consider that your team may be better off doing something else until the visionaries are available.

Discussing the vision has led to contentious arguments. Should we stop talking about our vision?

Even if there are big disagreements about the vision, you should still pursue a unified vision. Otherwise, the final product will be just as fragmented and unsatisfactory as the vision is. You may benefit from engaging the services of a professional facilitator to help mediate the discussions.

Our organization already has a template for vision statements. Can we use it?

Certainly. Be sure you cover what, why, and success criteria. Find a way to fit those topics into the template. Keep your vision statement to a single page if you can.

Our visionary finds it very difficult to communicate a cohesive vision. What can we do when it changes?

Rapidly shifting goals tend to be common with entrepreneurial visionaries. It isn’t due to lack of vision or consistency; instead, your visionary sees a variety of opportunities and changes direction to match.

If the vision is constantly changing, this may be a sign that what you think of as the vision is just a temporary strategy in a larger, overarching vision. Take your concerns to the visionary and stakeholders and try to identify that larger vision.

If you succeed in discovering the larger vision, adaptive release planning (see Adapt Your Plans” later in this chapter) can help you keep up with your visionary. Adaptive planning’s emphasis on learning and on taking advantage of opportunities will fit in perfectly with your visionary’s entrepreneurial spirit.

Your visionary may continue to shift direction more quickly than you can implement her ideas. Wild and unpredictable shifts make it difficult to develop software effectively. The planning game helps; stick with the normal mechanism of scheduling and implementing stories. Your product manager should act as a buffer in this case, protecting the team from rapid shifts and explaining to your visionary what the team can reasonably accomplish.

Can individual iterations and releases have smaller visions?

Of course! This works particularly well with release planning—it can be a great way to help customers choose the priority of stories as they plan their next release.

I’m less fond of visions for iteration planning, just because iterations are so short and simple that the extra effort usually isn’t worth it.



[31] Not a real company.