Features

Adapting to Change: Why Make Plans in an Agile World?

By Lee Turner

Why plan in an Agile environment? Agile development is an ever-changing, turbulent environment that may cause you to wonder if you even have time to plan. But planning is the key element of Agileā€”its heart and soul, if you will. And what cannot be missed but is often overlooked is that the plan or planning phase is not the goal. Results or outcomes are the goal. When the plan becomes the destination, Agile ceases to be, well, agile, and the software environment merely replicates older models of development.

Agile plans are primarily foundations. As with a home, while the foundation is important, no one wants to live in a house with only a foundation. Proper Agile planning takes this philosophy into consideration, and such planning within an Agile development environment remains key exactly because it gives the organization that foundation with which to be Agile. So you may need to change the way you have thought about and approached planning in the past to create effective plans in an Agile environment.

Weekly Planning

The most effective methodology for Agile planning that I have used comes from J. D. Meier's system of Monday Vision, Daily Outcomes, and Friday Reflection (Figure 1). To use this method, start by selecting three results you want to achieve for the week: the Monday Vision. Then sift through the tasks associated with accomplishing these results, and select three smaller results to achieve each day: your Daily Outcomes. The Daily Outcomes should all support your three big goals for the week. As a key ingredient to this planning phase, make every effort not to merely list all your tasks. These lists can be unending and often do not work cohesively together to accomplish larger goals. At the end of your week, review what you have accomplished toward your goals: Friday Reflection. By focusing on goals or results, you will create a real metric that will allow you to recognize and measure how your daily outcomes have helped you achieve larger results. This iterative prioritizing of tasks and results blends well with Agile environments.

As you go through the week, whenever you are ready to start on a new task, review your daily and weekly results goals to make sure you are working on a task that supports your goals for the week. Adjust tasks or daily outcomes only when necessary to achieve the goal or if some higher priority goal surfaces after you have decided on your goals for the week. Start each day by deciding the three outcomes you'd like to accomplish that day. If you accomplish all three by lunch time, start on your next best result to accomplish for the day. By having three daily and weekly outcomes defined, you can keep your focus on accomplishing results.

When the end of the week hits, spend some time reviewing the goals you set and how well you accomplished them. Try to list three things you did well during the week and three things you would like to improve on. As the weeks go by, you should be able to improve your goal setting and your ability to reach your goals. Even when unexpected items find their way into your week, you should be able to quickly react and get back on track. By reviewing what went well and what you can improve each week, you should have a few items in each category that bubble to the top of the list that you can review with your Agile team during sprint retrospectives.

Figure 1.
Figure 1.

User Story Development

User story development is one early step in the Agile development process that gets you started with planning. Planning through user stories helps define use-cases and gives you an opportunity to define task-based content related to that user story. A well-written user story should also help you visualize the best medium for conveying your content. As you identify tasks for your user story, you gain a good reference point for identifying your daily outcomes.

Early Writing

Start writing content early in the development cycle to help with planning. As Simon St. Laurent points out, while some folks assume you must be a master of something to write about it, your best content may come from your own early experience with what you are writing about. Who better to speak to your new customer than someone new to the product or feature? Even existing customers will be "new" to the features you add to your product after the initial release. Keep your new customer in mind as you write early in the software development cycle so you don't forget the things you learned as you discovered how a feature works. As you learn more, iterate and improve your content while you keep important details that might trip up the newest users and ensure they remain in your content.

Another method for planning and getting started with writing is to generate content that is "good enough" for now and version your results. This approach is the perfect application to writing in an Agile environment. How many times have you "finalized" your documentation plan months before a product release? Even as you execute the exact plan you made, you realize by the end of the release cycle that you would have made a different plan if only you had known then what you know now. For example, I have documented a feature during the sprint where it was implemented by development, only to realize later that the feature really did not need documentation above the content included in the software. After putting in so much effort, it is extremely difficult to change direction when you have invested time and energy into what you already have. Wouldn't it be better to provide less content that you can easily tweak in several different directions once you know what questions your audience actually has?

Social Media

Social media can help you find out what questions your audience has, allowing you to connect with actual and prospective customers to base your content on what the customer needs to know. If your company maintains a user forum, this is the perfect place to pose questions about how your customers use your product. If your product is released early to select customers for a beta release, you should be included on the team to contact the customer for feedback on the content you provide as well as to understand what business problem the customer is solving when using your product. Make sure that a part of your planning includes time in the social media environment to keep you fresh and up to date.

Agility and Progress

By keeping your planning phases short and iterative, which matches the Agile development environment's hallmark attraction as a development philosophy, you spend less time making plans than traditional planning. This, in turn, keeps you nimble and able to respond to changes without negating the planning you've done. Shorter planning cycles also let you avoid analysis paralysis and maintain a bias for action. When you set goals for a week, then identify your daily outcomes to support those goals, you jump on doing something toward accomplishing your goals rather than over-planning. Using the Monday Vision, Daily Outcomes, and Friday Reflection cycle to set a week's goals by daily three- to four-outcome chunks, it's easy to see progress, as well as where you stray off track. This cycle also gives you time to change direction, if needed, when the product or feature changes direction. Your planning for results also gives you tangible results to show your team how you are progressing toward the overall goal of the larger project.

Conclusion

Planning in an Agile environment is critical to success. As you adjust to a shorter, iterative approach to product development, allow your planning to be shorter and get you on the road to achieving results more quickly. Remember, your plan is in sand and your goal is in stone. Adjust your plan as needed to achieve your goal.

Essential Steps in the Agile Planning Process for Personal Productivity
  1. Adjust your mindset and your approach to planning.
  2. Make plans each week using Monday Vision, Daily Outcomes, and Friday Reflection.
  3. Focus on results and review your goals as you begin work on new tasks each day.
  4. Change your goals for the week or day only when a truly higher priority goal is discovered during the week.
  5. Measure your outcomes and use them in your next set of plans.
  6. Be nimble, be agile, be productive.

Lee Turner believes you are the product. She has been working in Agile development environments since 2002 and leading information development projects for NetIQ Corporation since 2009.

Suggested Reading

Meier, J. D. 2010. Getting Results the Agile Way. Bellevue: Innovation Playhouse.

St. Laurent, Simon. "Writing Without Knowing," O'Reilly Radar blog. http://radar.oreilly.com/2014/02/writing-without-knowing.html.