Mastering Agile Planning and Estimation for Beginners
Sujith G
Table of Contents
Planning is an essential, inevitable and very first phase of any project be it a conventional project or an Agile Project. The basic idea behind planning any software project is to find answers to some basic questions like :
What is the scope of the work?
How long will it take to deliver?
How much will it cost?
When do we have to deliver it?
With the industry and technology evolution over the years, ever increasing competition , constantly changing customer needs, and the need to get feedback as early as possible, our conventional ways of project management or project planning may not be suitable. This is the reason why companies adapt to Agile software development. Where the planning is expected to also change as per the customer’s changing objectives.
The industry evolution has pushed us to change our product development with continuous deliveries, adapting to changing priorities, iterative and incremental deployments etc. This necessitates us to change our ways of planning to accommodate this new reality. We need to start looking at delivering in smaller chunks with just enough planning leaving room for uncertainties versus upfront, in-depth planning at the start.
Before we go deeper into the levels of planning in Agile , all Agile teams including Product owners, development team, scrum masters, team members need to understand a few basic principles or parameters about agile ways of working. Mike Cohn in his book of “Agile estimation and Planning” explains in detail the basic understanding Agile teams need and they are as follows:
Delivery or increments happen in iterations / sprints : Basic building blocks of an agile plan is a defined duration called iterations, where teams plan work based on their capacity and deliver it to get feedback and this repeats during the course of the project
Work items ( Features / stories ) which deliver greater value has to be prioritized first. – Release features which will add more value to the customer first and within the feature, user stories which have high value to be delivered in the first few sprints. Basically teams are constantly looking to deliver what the customer / user wants as early as possible
Consider the room for changing priorities and uncertainties : Agile teams need to ensure that the changing priorities / requirements will need to be addressed. Having a concrete plan and not adapting to the changing needs does not fit into the value of adapting to agile itself. Also, there needs to be proper understanding of the dependencies / uncertainties in the work items and we need to plan our mitigation of risk
One Team Estimation and Planning : Since our delivery is continuous, our planning also becomes continuous. We will have to move away from the concept of leads and architects giving a high level estimation and making a plan out of it. Involve the doers ( development team members ) right from the stage of understanding the requirements, estimation, planning till the execution phase.
Levels of Agile Planning in Agile
Imagine a big organization or a company which deals with a lot of portfolios or products.. They can get huge requirements, or initiatives or even a new product itself for a portfolio. The requirements itself can be of different sizes and with these huge requirements, product ideas may need a lot of teams to work simultaneously with a common goal. The challenge which arises is how do we connect , collaborate and plan for multiple products with multiple teams and also how do we ensure just enough planning which Agile promotes?
To accommodate such needs, agile recommends 5 levels of planning at different stages or unit areas. The below picture represents a flow or breakage of planning at different levels.
Vision/Strategy
The first step/level of planning is to identify the vision of the product itself. What is the product we are trying to build, for whom are we trying to build? What is the outcome we are trying to achieve in the long run?
This helps to identify the goal of the company and what set of products we will need for which set of users/countries. The outcome of this planning is the set of products which we will have to deliver for a set of users. Basically the list of portfolios for the organization. The best way to identify the vision is to use a simple technique called “Elevator Pitch Technique”.
This level of planning sets the tone and the direction for the organization and is usually revisited / modified every year or once in 2-3 years.
Portfolio Planning/Roadmap Planning
Once the Vision is published, and portfolios are segregated based on the value streams, it is time for each portfolio owner to plan the list of products which will have to be developed to achieve the bigger goal.