Managing engineering deadlines is about more than setting dates. Here’s how to plan for ambitious but achievable deadlines for your team.
Deadlines: we can’t live with them, we can’t live without them. Depending on your past experiences, attaching a deadline to your work may saddle you with a touch of anxiety, or strike fear deep in your heart.
Before I transitioned into management, I viewed deadlines with immense dread. I didn’t like the idea of attaching a due date to the product development process. But once I moved into a leadership role, and became responsible for the productivity (and subsequent output) of an engineering team, I began to see just how much value a deadline can bring when it comes to planning, targeting, and accomplishing a shared goal.
Without a concrete deadline, a project can drag on forever, and feel like a slog. It can quickly turn into a never-ending to-do list for engineers, taking all the enjoyment out of the work.
Delivery dates are what allow us to target a finish line, and work towards it. They turn nebulous goals and lists into something more concrete: commitments. Ultimately, deadlines are crucial when it comes to planning your team’s work and targeting goals, and can be genuinely useful for coordinating work from stakeholders across multiple departments.
But managing an engineering deadline is about so much more than circling a date on your calendar and calling it a day. As engineering leaders, how do we go about planning for optimistic yet achievable deadlines?
Planning and scoping out the project in advance
The key to setting realistic, achievable, and humane project deadlines is making sure that the project is well-planned, properly scoped, and adequately researched ahead of starting any work. A deadline is only as good as the planning that happened before that deadline was set.
When it comes to planning, it’s worth taking the time to do it right, even if that means you won’t get started on a project right away. I recommend prioritizing finding out the uncertainty in a project sooner rather than later. While it can be easy to fall into the trap of thinking, ‘Let’s just get started on this project, we can figure out the details later’, that path is littered with unknowns and, inevitably, will lead to pressure down the road when it becomes clear that the deadline you set is going to be missed.
Identifying the risks surrounding a project ahead of time allows you to not only find the answers to the unknowns, but also helps you account for those unknowns and nudges you to build buffer time into the project’s timeline. For example, if a project requires that your team learn a new technology, tackle a mound of technical debt, dive into a domain in the codebase or product that they are unfamiliar with, or collaborate closely with another team in the organization that has different engineering processes than your team, you will want to allocate extra buffer time for those uncertainties. Ideally, you want to try to get as much clarity on a path forward as you can during the planning process itself.
Identifying the most critical aspects of the project
Once you have a clearer vision – and have answered some of the questions around the unknowns – it’s time to start evaluating what parts of the project are crucial for shipping, which aspects are nice-to-haves, and which parts are completely out of scope and can be cut. Work with your product counterparts to figure out these three buckets of work. Understanding what is important to release immediately and what can be tackled later on will be useful down the road if you do end up needing to cut scope and de-prioritize some tasks in order to meet a deadline, then you have conveniently already done the work of figuring out what can be cut first!
As you go through this exercise, a realistic deadline for when the project could be finished should start to become self-evident. If it turns out that there are very few things that can be cut from the scope, and if your product counterparts feel that all of the tasks are crucial for releasing, then it’s important to push back on the concreteness of a deadline.
If scope is not on the table, then the deadline must have some wiggle room. On the other hand, if the deadline is a hard date that has no room to budge, then the scope of a project must absolutely be flexible.
Allowing for unpredictable human factors
Last but not least, be sure to take staffing into account when setting deadlines. Once you have clarified uncertainties and have settled on a rough timeline of the work to be done, build in additional buffers for the human factors that impact a team, like scheduled PTO, leaves of absence, and upcoming holidays. Be sure to also consider changes happening in the wider organization as well – is there an impending hiring boom or freeze that you need to account for? What about a department-wide reorg that might impact the makeup of your team?
These are all external factors that bring their own element of uncertainty to a project and its execution. While your team might not be impacted, it’s helpful to remain cautiously optimistic when it comes to setting a date as a goal you want to hit together.
Building tight feedback loops
Once you feel confident in the planning of your project and the deadline attached to it, the hard work of building can finally begin. While folks on your team start diving into the task at hand, as an engineering leader, it’s your job to keep a tight feedback loop with your team. This is the ideal time to use your recurring 1:1s, team meetings, and touchpoints with stakeholders to help you build in these feedback loops.
Even with a robust planning practice and accounting for external factors beyond your team’s control, it is still possible for unexpected obstacles to pop up – perhaps learning that new technology is taking longer than you all thought it would, or another team that is a dependency of this project is having delays or staffing issues on their end. Keeping a healthy, bird’s-eye view of what’s happening on your team will help you continuously gut-check if the deadline and work you scoped out earlier still seems reasonable and whether the project is still on track. Revisiting a deadline or descoping work will be easier to navigate and set expectations around if you do it earlier on in a project’s life cycle, rather than waiting until the week before the release date.
Celebrating when the team hits a deadline
As you get close to release day, take a moment to relish in your and your team’s hard work. From a psychological perspective, deadlines are a goalpost, a finish line; it’s important to take the time to properly celebrate them!
Whether your team is in-person, fully distributed, or a hybrid of the two, make sure you plan a celebration of some kind ahead of launch day. When my team recently launched a major project after three months of work, I encouraged them all to expense a sweet treat to enjoy. We all joined a Zoom call and ceremoniously turned on the feature flag that released our project into the user's hands. It was momentous and fun, and we all rejoiced in seeing our hard work go live on production.
Reflecting on a project beyond a deadline
After you take the time to celebrate a release, be sure to also make an effort to reflect on the project as a whole, too. It’s best to do this right after a project is completed, when it’s still fresh in everyone’s mind.
Team retrospectives and individual 1:1s are a great space for discussion and introspection. If your team successfully met your deadline, reflect on what you did well to achieve your goal. Standardize those practices and document them so you can repeat them in the future.
And even if your team missed a deadline or was only able to release part of the project on time, reflecting on what caused the miss and what you can learn from it will be useful to you down the road, when the next project comes knocking. Gathering multiple perspectives will help your team gain a better sense of what you can do the next go-around to hit the mark.
With each project deadline you face and with different teams that you will lead, there will be new things to learn about how to effectively manage a deadline. Hopefully, with enough practice and a template for how to plan for and face a deadline, the anxiety will start to fade away and you’ll start to see deadlines the same way that I do now: as an important forcing function that helps me learn how to be better at my job as an engineering leader.