If we are being agile doesn’t that mean we just do? Or does it?
Do we really need to do any estimating or planning if we are ‘agile’?
Well, if you are working in a project utilising agile methods, the simple answer is: It is not just about ‘doing’ – agile approaches do not negate the need for estimating. It is essential that we develop appropriate estimates relative to where we are in the project (think early days versus during evolutionary development), and ensure estimates are reviewed frequently to maintain confidence in delivery.
So does estimating for agile projects differ from ‘other’ projects?
Yes, estimating when utilising agile methods 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.
4 tips when estimating in Agile
- Estimating Styles. When estimating, there are a number of styles that can be adopted. Are we 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 we 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.
- 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).
- 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, we need to understand practices for tracking progress against estimates, such as burn down or burn up charts.
- 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, Should, Could, 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”.
Our 1 day Agile Estimating course will provide participants with a solid understanding and experience of working with various agile estimating styles and techniques that will improve your chances of delivering projects on-time.