Build a Rough Plan for Your Work
Planning is a topic that I find myself coming back to time and time again. I'm asked enough questions about it so I decided to write down some of the answers. Folks who have not had to do any planning are stumped when asked to make a plan. I found that planning can be rather intimidating until you start with writing down what are the deliverables and what is the time frame. This will get your thinking started in the right direction. This and upcoming notes are here to help you get started on planning your own work.
Consider this scenario: you get assigned to a project, but instead of being the one you dreaded, this is one that you are excited about! The technical lead held an effective iteration kick-off meeting. You picked up work on a couple of features that you thought were really cool. You are expected to make a commitment to deliver the features at the end of the two-week iteration. Can you do it? How sure are you? How do you begin to build a plan for your work?
The first step is to decide how much time you can afford to spend on each feature.
- Kickoff (1 day)
- First feature (4 days)
- Second feature (4 days)
- Wrap up and demo (1 day)
Next, estimate how you intend to spend the 4 days you budgeted for each feature. You must think of your time as money. Spend it well. Let's suppose that your technical lead had done a good job coming up with granular features, and you can indeed implement each feature in 2-4 days. Here is how you can "spend" your time during the iteration:
- Iteration kick-off meeting (1/2 day)
- Plan the iteration (1/2 day)
- Design the first feature (1 day)
- Implement the first feature (1 1/2 days)
- Test the first feature (1/2 days)
- Prototype the second feature (1 day)
- Design the second feature (1/2 day)
- Implement the second feature (1 1/2 days)
- Test the second feature (1/2 day)
- Fix the defects found in integration & system test (1 day)
- Demo the iteration results to the team. (1/2 day)
- Buffer (1 day)
That's it. This is your rough plan for the iteration. If you wish, you can call this a time budget and not a plan. If you are to deliver the features at the end of the two weeks, this is all the time you have. The key point is that this plan, even with its limited details, shows you what time can you afford to spend on each feature.
The presence of the buffer in your plan is the clearest acknowledgment that you don't yet know enough. When new things come about, you won't have to replan your entire plan. You can just eat into your buffer. However, once your buffer gets exhausted, then you need to rework your plan.
Looking at this plan you might think that you won't be looking at times at both features. That should not be the case, especially if they are related. It just means that now you have a way to get the work started. As you get into the details of the work, you will refine this plan. For ideas on how to move forward take a look at What do you know? and Guidelines for Detailed Planning.
There are many other aspects of planning, e.g. getting some data on how you are doing, and how to improve your planning skills. For now though, just get started. As the old Chinese proverb puts it:
The one thousand mile journey starts with the first step.
Ready! Set! Plan!