Being an estimator or project manager, you will be faced with the challenge of scheduling projects. While this is a very daunting task, it can become even more difficult when there are too many unknowns in your projects. There are tools out there that solve these problems but what if I took something away from one of those tools? Here are five reasons that I think Kanban estimation is something you should consider adding to your toolbox.
Uncertainty in projects
One of the biggest challenges is how do you estimate a project without having too much data? Or, what is the best way to approach this problem where I have so many unknowns? You can use either an approach of best-fit, an approach of worst-fit, or you do what I find is the most valuable, which is to estimate based on value. However, value based estimation can be difficult due to the uncertainty in your project.
Kanban Estimation Best Practices
The next challenge that presents itself is how do you create a baseline when you are using value-based estimation? One of the best ways to do this is with a tool like Kanban.
This is because Kanban allows each item to be estimated in three different categories, which are size, effort, and complexity. To solve for uncertainty, I can use a process called “Triple Constraint Estimating”. By having these three separate estimates I can use math to calculate an average estimate while also providing some variance based on my knowledge of the product backlog. This number will allow me to make better decisions around what and how much work should be pulled into an iteration or sprint (if you don’t know what this is read my article: Software Development Sprint vs Iteration – What’s the Difference?).
Reduce risk in your project
One of the biggest challenges that we face when using a Kanban system is that we only have one column, typically called “To Do”. How do you add more structure to your work and not move things back and forth between columns? By adding estimation into our kanban boards we can use it as a mechanism for prioritizing or organizing our workflow. Here are some examples:
This allows me to prioritize my backlog without being too granular because all estimated items are still added to my “ToDo” column. The next step is estimating effort instead of size. It is important here to note that I am doing this so I can avoid simply using story points This way I am better able to judge the size of each item instead of estimating it. This allows me to estimate more items at a macro level making my backlog ready for planning. The final step is to estimate complexity, this is typically by business value. It is important to note that size and effort are relative whereas I can use complexity based on how difficult or risky the product owner thinks that an item will be to deliver.
Smaller Stories improve flow
One of the biggest challenges around any type of estimation is correctly sizing your stories. By adding this capability into our Kanban system, we are better able to tag, group, prioritize, schedule, and pull work through our workflow effectively.
Kanban estimation helps us break down our user stories into small chunks of work which in turn helps us with a few things. First, it forces our product owners to prioritize larger stories into smaller ones that are more manageable that can then be pulled through our workflow instead of large epics that contain multiple user stories. Second, it allows the development team to better understand what is being asked of them without having too much information upfront and not knowing how to scope out an item xotic news.
Scrum vs Kanban – Which one is right for you?
This also allows the development team to estimate each small story allowing them to better schedule their work and plan around vacations, holidays, and other commitments. This practice alone reduces a lot of wasted time when estimating a project because the team is able to work items through the system quickly allowing each team member to not be blocked on too many things.
Kanban estimation can provide value for your business by improving communication, reducing risk, and increasing transparency throughout the development process. This allows you to move fast with small pieces of code that are reused throughout your application instead of having large chunks of code that aren’t easily tested or changed without touching every part of the application itself. By using Kanban estimation will give you better insight into what is being worked on allowing you to have access to more information which allows you to make better decisions around planning, prioritizing, budgeting, and resource utilization which in turn will help yield a more predictable outcome with less waste. This saves your company time and money by delivering faster and making you more agile in moving quickly to take advantage of market conditions.
Kanban estimation helps us break down our user stories into small chunks of work which in turn helps us with a few things. First, it forces our product owners to prioritize larger stories into smaller ones that are more manageable that can then be pulled through our workflow instead of large epics that contain multiple user stories. Second, it allows the development team to better understand what is being asked of them without having too much information upfront and not knowing how to scope out an item.
A few other notable benefits are that it prepares you for the sprint planning meeting by having a better idea of what can and can’t be accomplished in a two-week period and allows you to make more accurate estimations for story points. This improves your velocity during the sprint planning meeting allowing your team to plan out work more effectively and not over commit themselves. It also helps to improve stakeholder collaboration which will lead to less rework, reduced risk, and improved quality throughout the application life cycle because stakeholders know exactly where an item is in development at any given time. By using Kanban estimation we are able to push value back into our organization sooner than later allowing us to learn from our mistakes rather than spending months trying to perfect something only having to scrap it and start over again. This is where Lean principles help us with making changes throughout the process to ensure that our code is being utilized in a safe, predictable, and agile way.
This allows you to move fast with small pieces of code that are reused throughout your application instead of having large chunks of code that aren’t easily tested or changed without touching every part of the application itself. Using Kanban estimation will give you better insight into what is being worked on allowing you to have access to more information which allows you to make better decisions around planning, prioritizing, budgeting, and resource utilization which in turn will help yield a more predictable outcome with less waste. This saves your company time and money by delivering faster and making you more agile in moving quickly to take advantage of market conditions oyepandeyji.
You can apply Kanban estimation on new features, bug fix requests, and technical debt items while still being able to divide up work amongst team members. It allows developers to have a better idea of what is expected from them at the start so they are not working blindly without knowing exactly how something should be completed which will lessen their chances for errors by having proper upfront communication with stakeholders. This also helps lessen the chance for disaster during sprint planning meetings because it gives you an opportunity to forecast out your backlog item by item that way you are not over committing yourself on too many things causing issues down the road when you actually try to implement changes in your code aditianovit.