Most of the literature in Agile talk about the principles, framework, and practices for Software Development. But very few sheds light on anti-patterns that can derail your Agile efforts. In this short but excellent post, Hari talks about some anti-patterns in the context of Agile Estimation.
What is an Anti-pattern?
It signifies what NOT to do and provides a bird’s eye view of not-so-good practices in following a method. In short, it is a pattern NOT to be followed.
Why is it relevant?
Over a period, certain practices which are accepted but WRONG becomes the habit or culture of the team. It is important to highlight and discuss them.
Now with this context, let’s talk about the “Agile anti-patterns in estimation.”
Anti-Pattern # 1: Extrapolation: Story Points = Hours = Deadlines
We tend to use story points as a task-based estimate and discuss/give the impression that we can extrapolate for timelines of completion. Such a usage is common when we communicate with PMs and other stakeholders leading to bad assumptions and failed commitments.
Anti-Pattern # 2: Missing specifics
We tend to miss details in the story by not following principles of INVEST while writing a story. Follow the INVEST principle to make a good user story.
You can read more about the INVEST here.
Anti-Pattern # 3: Not addressing unknowns
Unknowns like re-work, bug fixing, build time, status tracking and reporting is sometimes not addressed. These are tracked as an indirect cost to the story completion.
Anti-Pattern # 4: Missing story types
Sometimes, story types are not factored in estimation. This results in a vague story that doesn’t lead to a tangible outcome or deliverable.
Anti-Pattern # 5: Lack of Learning from Failures
When there is a failure, learning from them is classified into two types, one is ignorant, and other is ignoring. The failures are not willing to be learned or prefer to omit them for convenience.
How to avoid such Anti-patterns?
It is quite simple. Just remember these steps.
- Follow INVEST principles
- Factor in all direct and indirect costs
- Learn from failures of the previous estimation
- Be very specific and have a story type for the user stories
- Communicate estimates and timelines for completion are different, in a clear and concise manner
What are the anti-patterns you encounter in your Agile initiatives? How do you handle them? We would love to hear back from you in the comments.