Contrary to popular belief, agile projects require as much planning as any other project type – it is the timing of this planning, and how we attempt to minimize wasted effort that is different from other approaches. To many people, working in an agile manner means little or no planning, or planning at the last possible moment (e.g. writing user stories for the upcoming iteration during the iteration planning meeting). While this may work in a very small project, with a close-knit, highly-effective, very small team, for larger projects this becomes problematic.
Following the key principles of scaling agile development, our Project Launch service helps your organization plan “just enough” of the new initiative to develop something, test it, and determine what the next set of things to launch should be based on the results. Quite honestly, this is an ongoing activity, not a single event. As with all of our services, we are here to make you self-sufficient in launching projects, supporting you when you need it, and leaving you to experiment and try things on your own when you feel ready.
Planning a project, then executing against this project involves 5 levels of planning:
Level 1 – Project vision
This is where we develop the project vision, determine the business goal to be met, ensure we understand the business capabilities that we need to satisfy, and possibly detail some of the features the new solution must provide.
Level 2 –Release planning
Release Planning involves capturing functionality necessary for a successful product. Although we may inherit functionality from the Project Vision phase, this is where we add meat to the bones, and ensure we look at the solution from the end-users points of view. We also need to prioritize each function, which is often a difficult process.
Level 3 – Rolling look-ahead planning
During each iteration, it is the responsibility of some team members (usually the analysts and scrummaster) to determine if the work to be done in the next iteration is sufficiently detailed, or if additional work needs to be done to prepare the stories for the iteration. This follows the same approach as when writing stories in Release Planning – write the story, prioritize it, estimate it, etc. But we also need to ensure that acceptance criteria have been developed for each story – tests that will tell us if we have been successful. Rolling look-ahead planning ensures we are ready for upcoming iterations, rather than being caught by surprise. However, we need to balance the need for planning ahead with the need for adaptability – a key component of successful agile development efforts.
Level 4 – Iteration Planning
If we have done the rolling look-ahead planning well, iteration planning should be a very short event. This is when the entire team has the opportunity to ensure they know what stories are planned to be in the next iteration, if they have enough understanding of them to complete them, and identify issues that may inhibit the team from completing all of the work.
Level 5 – Daily Stand-up
Never thought about the daily stand-up as a planning opportunity? Well, it is the ideal opportunity to plan the next short horizon of work – 1 day.
Rather than focusing on “what I did yesterday” (one of the 3-questions of a stand-up), I prefer team members to tell the team what they plan on doing today, and asking for help if they need it. This allows other team members to quickly identify if there is a potential for road-blocks of their work, and decide if they have something to add to another team members efforts.
Of course, there is much more to planning a project than described above – we need to consider architecture, risks, staffing, team size, remote teams, communication, and lots of other things. We introduce each of these issues – and more – at appropriate times during project launch. Ask us how we can help you with your next key initiative.
Using the approach above, we come out of the project launch phase with the following deliverables:
* A vision and success metrics for the overall project
* A list of Business Capabilities to be satisfied by the project, in priority order
* A set of prioritized features for each Business Capability
Note that the Business Capabilities with highest priority – and therefore to be worked-on soonest – will have more definition than one to be worked-on later in the project
* A set of stories for each piece of functionality that is to be delivered in the first release
* Estimates for each story, feature, and Business Capability
* Estimated velocity for the first few iterations
* An initial plan and timeline for the first release
In addition, we will address risks, technical environment, logistics (daily stand-up time, showcase schedule, etc.), team make-up, etc. Also, we will have a plan for rolling look-ahead planning at each level of the entire project, ensuring a consistent, thoughtful, and value-driven approach to delivery.
We have executed this Project Launch initiative with many companies, on projects from a single team planning to deliver their project in a couple of months, to a multi-team, multi-year project utilizing on-shore and remote teams. We know it will work for you.