Contrary to what some practitioners may think, estimating in agile is no less critical than estimating in more traditional project environments, but it is different. In this next instalment of The Agile Journey, we consider four factors to bear in mind to help boost your chances of delivering your agile projects on time.
Agile, by definition, is iterative and elaborative but does that mean that agile approaches negate the need for planning and estimating? The simple answer is ‘no’.
If you’re working in a project utilising agile methods, it is not just about ‘doing’. In fact, it’s essential that you develop appropriate estimates for the project phase you are in (think early days, versus doing evolutionary development), and update estimations frequently to ensure you maintain confidence in delivery.
But estimating for agile is different to estimating for projects with a more sequential style of development (think, for example, concept, design, build, test). When we are applying agile approaches we are incorporating iterative and incremental delivery. As such, we need to ensure that our estimating styles, techniques and practices fully embrace the agile way.
So, where do you start? Consider these four tips when getting to grips with estimating in agile:
1. Estimating styles
When estimating, there are a number of styles that can be adopted. Are you comparing to other similar projects (analogy), or looking at high level requirements and categorising into size ranges such as small, medium, large (top down), or breaking the project down into detailed tasks and then rolling up the individual estimates (bottom-up).
Each style has a place relative to where you are in the project lifecycle. For example, early estimates are typically about the ‘big picture’ – in such circumstances, analogy enables an estimate to be created quickly.
2. Estimating techniques
Size and complexity of work can be estimated based on relative effort using such techniques as story points, t-shirt sizing, estimating in days’ effort or ideal days. For example, t-shirt sizing literally looks at size ranges (e.g. XS, S, M, L, XL) whereas a story point is an arbitrary metric used to estimate the relative difficulty of implementing a given user story (requirement).
3. Estimating practices
Agile estimating practices provide further guidance on how you generate the numbers that support the various estimating styles and techniques. Options include planning poker, affinity estimating, and velocity. In addition, you need to understand practices for tracking progress against estimates, such as burn down or burn up charts.
4. Estimating and contingency
Estimates are exactly that – an approximation based on information available at that point in time. An estimate should include contingency to address associated risks. Applying MoSCoW (must have, should have, could have and won’t have for now) prioritisation means that the lower level requirements are in effect contingency. If risks eventuate and delivery is threatened, then the ‘could have’ and the ‘should have’ requirements can be dropped to ensure the ‘must have’ requirements can still be delivered.
“Estimates are only as precise and accurate as is necessary for their purpose at a given point in the lifecycle”.
Keen to learn more about agile estimating styles and techniques? Try our one-day Estimating in Agile course to boost your understanding and experience. Or call one of our professional development consultants today on 1300 70 13 14.