- Software estimates and measuring progress
- Work off prioritized tasks and products to fix software estimates
- Software estimates and why timelines and due dates fail
- Additional reading that helps understand software estimates and Agile working
Software estimates and measuring progress
Software estimates have come to use timelines and due dates to measure progress. They are how we know when we have completed the work. But the same way agile processes changed many parts of the SDLC, could they help evolve timelines and due dates?
The same way agile attempts to address requirement gathering, it addresses timelines and due dates. Agile focuses on delivering the right thing, more incrementally. When working incrementally, the priority becomes more important than timelines and due dates.
But if you don’t use timelines and due dates to tell you when you are done? How will you know when things are completed? Maybe more importantly, how will you ensure that things are completed before they are required to be completed?
Work off prioritized tasks and products to fix software estimates
By working off priorities, I am meaning working from a prioritized list of features, products, or work tasks. I would make the case that working from a well-ordered list still meets due dates and timelines. This can happen as you still work first things first. With most work, you don\’t have an accurate sense for the timeline to completion when you first start the work. You often find out more once you have started the work.
Of course, work items have due dates. Work has to be done when it has to be done. When items are due should be used in determining priority though. Due dates need to be used to drive where you rank work items in the prioritized list. By working off priorities, you save much rework.
As with fitting work to timelines, you are constantly figuring out new timelines of all of the varying work.
That work is constantly shifting as you do the work, as you figure out new things, and as business shifts. By working priority, you don\’t waste effort that is spent on timelines that only have to be continually reworked. Instead, focus on when something has to be done and align priorities to match that. Then work on the priority list.
Working the priority list over timelines and due dates is better for software estimates
The large work effort where you create multiple deliverable dates, milestones, and an ultimate completion date. After this, you have other projects that depend on the first. When finished, they can begin, or maybe continue. When one is delayed, others are delayed.
The large work effort is never fully understood upfront. It will always have unknowns. They only vary in severity and cost. Those unknowns have the potential for changes to the work, which require changes to timelines. Which shifts everything coming after.
Working towards priority on large work effort items, you can still get a sense of when things can be completed. You can’t do this accurately before starting the work though. Instead, you start top priority work, and once you are far enough, you can then accurately predict some dates.
Which also lets you know when you might start the 2nd priority, etc etc. Work the top priority item, as your focus to be done as best and as soon as it can be. For larger teams, priority can also help determine how many resources will work the item.
Use agile priorities over timelines and due dates for better software estimates
Working on items using the priority over a timeline is more of an agile concept. It is also a product mindset, vs traditional thinking and methodologies. If your organization truly wants to improve efficiency, shift away from timelines.
Use processes that deliver the best work on the top priorities first. With this, you will find better success and less wasted time. Timelines and due dates can be a thing of the past. Replace with priorities, and work those priorities diligently.
Software estimates and why timelines and due dates fail
An important item to consider is that when timelines and due dates are not met, what is the true reasoning. There are many reasons that cause software estimate failure, but an underlying theme is that the work wasn’t started soon enough.
Thus, avoid the extraneous work of overly planning of dates, and work a priority in a better way. Software estimates based on timelines and due dates as a resource management tool will have issues when you don’t work your priority order correctly. Move the top priority work up. Start it sooner. Get it done and allow yourself to move on before it becomes due.
Traditionally, we try to figure out exact dates and timelines, to squeeze as much work out of the process as possible. But, the dates are mostly wrong. So embrace that and work in a different and more Agile way. Use priority more effectively. Reduce headaches and stress. All while getting the top items done sooner.
Additional reading that helps understand software estimates and Agile working
Agile software estimates are a great tool and here is info on the different types to use for your team.