Agile Development: Planning for Sprint Success

Agile Development: Planning for Sprint Success

When I was 16, I had the opportunity to go white water canoeing on the New River in North Carolina. As adventurous Boy Scouts, my friends and I were anxious to hit the river and take our chances with the rapids. We were all in good health, strong swimmers and had been canoeing for years. Our leaders, however, had a different plan.

Instead of heading straight to the river, we instead visited a nearby lake. In the cool, calm waters of Lake Sabotta, we spent a day practicing paddling techniques, flipping capsized canoes, proper swimming techniques in whitewater, eddy approach angles and a number of other important skills.

The next day we headed out to the river, brimming with confidence and ready to tackle what lay ahead.

While a few canoes took on quite a bit of water through certain stretches of rapids, our preparation carried us safely through every obstacle we encountered. Around midday, we passed through a stretch of rapids and decided it was time for lunch. Pulling our canoes to the side of the river, we began preparing our meal.

That’s when we began to see paddles, life jackets, and other unexpected debris floating by. Surprised, we quickly ensured everyone in our group was present and accounted for. That’s when we noticed it wasn’t just equipment in the water. A large YMCA group of teens and adults had gone through the same stretch of rapids we had just descended. Most of their canoes had capsized, scattering gear across the river. The few canoes that still had occupants were so full of water I was amazed they were still afloat.

We quickly sprung to action and helped rescue our fellow adventurers. In the end, there were no injuries or serious problems, and everyone gained a story to tell.

What made the difference between the two groups was planning and preparation. While my group had been eager to head straight to the river – like the YMCA group – diligent leaders made sure we understood the tasks and challenges ahead, and made sure we were adequately prepared.

Sprint Planning and Canoeing

Sprint planning is much the same as my time on Lake Sabotta. While the mantra of agile is fail fast, the goal is to quickly identify issues so they can be resolved. Successful sprint cycles still require some amount of preparation and planning.

Regardless of whether the sprint cycle is one week or four, every sprint should begin with a spring planning meeting. One important note with planning meetings is these aren’t meant to be as meticulous or thorough as waterfall-type implementations. Spend 2-4 hours mapping out the work for the next few weeks and then get started.

During the sprint planning meeting, a few key tasks must be completed.

Feature Selection

Most sprint cycles I’ve worked on begin with a long list of backlog items. Prioritizing what to go after is key. An exercise I love is making a list of items to focus on, and then identifying three to five criteria to evaluate them all on. I assign 1, 4 or 7 points to each criterion, and then multiply all columns together. The items with the highest total are my top priorities.

Item

Cost

Time Required

Value Add

Total

7 = low, 1 = high7 = low, 1 = high7 = high, 1 = low
Widget A

7

41

28

Component B

4

74

112

Widget C

4

14

16

Widget D

1

47

28

When identifying features to go after, it is also important for each member to realistically determine how much time they have to contribute. For this reason, it is sometimes helpful to include the client in at least part of the sprint planning. That way if there’s too much work to fit into the sprint, you can have a quick discussion about which features to push to a later cycle.

Having the client present also allows you to gain clarity on the details of each feature.

Task Planning

Once you have your features, it’s time to break them down into specific tasks. Most tasks should be something that can be completed within a day – any longer than that and there might be an opportunity to sub-divide the task. This is also when team members should sign up for tasks and make sure estimates for completing each task are as accurate and realistic as possible.

While it may be tempting in agile to jump right in and get to work, taking a few hours at the beginning of each new iteration can help ensure that you’re able to successfully navigate the turbulence and trials that await you downstream.

Leave a Reply

Your email address will not be published. Required fields are marked *