paint-brush
How to Properly Estimate Tasks So You Never Miss Another Deadlineby@ternarywat
652 reads
652 reads

How to Properly Estimate Tasks So You Never Miss Another Deadline

by JohnOctober 4th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

With a great plan, you’ll be able to advocate for expanding the team and cutting scope. The first step to managing a project with a deadline is to answer two questions: Can we add people to the project to hit the deadline? If we add more people, can we even meet the. deadline? Write out everything that you know at this point. Add metadata to each task to each to-do item in your project’s spreadsheet. This information is CRITICAL for later: Make a rough estimate of how many days it will take for ONE engineer to complete a task.
featured image - How to Properly Estimate Tasks So You Never Miss Another Deadline
John HackerNoon profile picture


I’ve led many projects with deadlines over my career, but one stands out from how much I learned about planning.


My team needed to redesign all five applications within three months. The problem was the sheer amount of work. We needed to re-architect some core UI components and update a ton of code. We only had three people on the team.


This is a lot of work for a small team. We were going to miss the deadline.


But we got it done. Ahead of schedule.


How did we do it?


We couldn’t change the amount of time, but there were two other options. We could add people or reduce the project scope. Both are costly. Adding people disrupts other teams and changing the scope may disappoint stakeholders. So how do figure out which lever to pull to hit the project deadline?


We created a plan.


In this post, I’ll explain what you need to do when planning for projects with deadlines. With a great plan, you’ll be able to advocate for expanding the team and cutting scope.


So where do you start?

Disclosure: This article includes affiliate links to any books I reference. I may receive compensation when you click on links to these products.

Planning Projects with Deadlines

The first step to managing a projects with deadlines is to answer two questions:


  1. Can we add people to the project to hit the deadline?
  2. If we add people, can we even meet the deadline?


To get answers, we need to figure out the project’s effort.


So grab a spreadsheet and write down the to-do list of the entire project. Don’t worry about user stories or project ceremonies. Just create a to-do list of everything you’re aware of. If a project area depends on someone else’s work, go find that person and have them write their to-do list.


Spreadsheets work GREAT for scoping out a project with a deadline:


  • They’re simple to write out a list of things.
  • You can add metadata to each to-do item
  • You can analyze and manipulate the data.


Write out everything that you know at this point. It’s ok if you discover unknown scope later. This phase of a project with a deadline is about gathering data and advocating for more resources.

Essential Data for your Project Plan

Now it’s time to add metadata to each task in your project’s spreadsheet. I recommend the following:


  • Project Area – Which systems or product areas will someone work in for this task? For example, the sign-up feature, data filters, a settings page, etc. This information is CRITICAL for later.
  • Effort Estimate – Make a rough estimate of how many days it will take for ONE engineer to complet’e a task. Include non-coding work – code reviews, QA work, deployment costs, etc. Stakeholders need an idea of when the project will ship.
  • Notes – (Optional) Add special context for a task that others may need. For example, a hard dependency from your infrastructure team to provision a server.


With this metadata, you can create some data-driven summaries of the project’s work:


  • Use the SUM() function to calculate the total number of days needed for the project. You can even calculate the effort of specific project areas.
  • Color-code each row by the project area to get a quick understanding of where people will work.


NOW we can start answering those expensive questions from earlier.


Want to learn how to become the successful leader your team needs? Sign up for my newsletter to learn how.

Will Adding People Help Hit Deadlines?

Many software engineers have internalized the famous saying from The Mythical Man-Month:


Adding manpower to a late software project makes it later.

Brooks, Frederick P. The Mythical Man-Month. Addison-Wesley.


While true for some projects, there are times when adding some people will help a lot. The trick is finding how engineers can work concurrently on projects with deadlines.


“Working concurrently” means finding work where an engineer can work independently from teammates. These independent project areas are exactly where you want to add headcount. Engineers can start writing code and not worry about coordination costs.


Remember when I told you to identify which project area a task contributes to earlier? Those project areas highlight where people can work concurrently.


Say your team has two engineers and you identified four project areas. You can add two more engineers to the project and increase velocity. You now have one engineer independently working on each project area.


In this situation, your new project estimate is the area with the most effort. What may have taken four months to complete may now be one. Your stakeholders would love to hear this news.

Can We Cut Scope from Projects with Deadlines?

So we’ve added headcount to the project, but let’s assume you STILL won’t hit the deadline. What do you do?


Reduce the project’s scope.


At this point, you need to meet with stakeholders and walk them through your plan. Your spreadsheet is critical here. It anchors the discussion and shows that you thought through every aspect of the project. Explain each requirement’s effort, your estimates, and how you outlined the work.


You can expect two responses from your bosses.


First, they’ll see they asked for too much and redefine the scope. You’ll learn what’s exactly needed for the deadline. There may be follow-up work after the date, but there’s less scope for the deadline.


The second outcome will identify the wrong assumptions you made. Maybe you thought you needed to over-engineer a system with five-9s of availability. Turns out, that’s not important. Getting feedback on your project plan highlights spots where extra effort isn’t needed.


Cutting this scope will be an immense help.

The Last Option (Seriously…avoid this)

Adding headcount and cutting scope will address most problems for projects with deadlines.

But what if the team STILL won’t hit the deadline?


Ask why the deadline exists. Is the deadline arbitrary or externally mandated? What happens if the team misses the date?


Understanding HOW the deadline came to be may unveil other options.


If there are no other options, then working late (or crunching) is your only choice. Asking a team to work overtime is the LAST thing you should consider. The team will lose a lot of trust if you don’t approach this topic carefully.


Sometimes, it’s a reasonable ask. The Log4Shell incident is one instance, but asking a team to work overtime needs to be a rare event. Asking once every few years is all you’ll get before people start quitting.

Conclusion

When your team has to work on a project with a deadline, the first step is to create a plan. Make a spreadsheet and outline the to-do list of every task needed to complete the project. Your job is to answer the following questions:


  • Can we hit this deadline with the current team?
  • Where can we add headcount to the project?
  • What scope can be removed?


But this exercise will do more than answer these questions. By outlining the project’s work, you can lead it. You have the map of what the team needs to work on. You can coordinate how everyone will work.


With a plan in place, it’s up to you to ensure the team gets to the finish line.


Good luck.

Want to learn how to become the successful leader your team needs? Sign up for my newsletter to learn how.


Also Published here