Same company, with a fresh new look. Clevertech is now Lumenalta. Learn more.

Negotiating software development deadlines

Estimating deadlines and tickets can make or break a project, but it’s not a simple thing to do.
At Lumenalta, our culture coaches provide a safe space for senior developers to not only vent their frustrations, but also to unblock difficult situations together. I was in a coaching session with a developer today, and he was telling me how drastically things had improved on his project since the middle of the year: It came down to the team’s ability to set software development deadlines more effectively.
It wasn’t a magic metric or algorithm that made things better. “It came down to everyone communicating and paying attention,” he said.
Setting deadlines improved when the developers committed to:
  • Knowing their boundaries
  • Being honest about their capacity
  • Negotiating with the client for a mutually beneficial outcome.
This is why soft skills matter. No matter how technically proficient you are, if you don’t have the ability to negotiate effectively, you can’t successfully create the future you want or build trust with clients like you need to.

Why do senior developers need to learn how to negotiate deadlines?

We negotiate because we want to create a new reality.
Negotiation is expressing a desire to someone and going back and forth until both parties are in agreement as to what action should take place.
When we think of negotiation as creation rather than war, it changes the entire approach.

How senior developers can negotiate software development deadlines effectively

The first part of negotiation is the request. You need to know how to ask for what you want (and how to figure out what you want in the first place!).
Every negotiation begins with a request or a proposal.
Agree? Disagree? Counter offer?
Once the request has been sent out, it will either be agreed to, disagreed with or a counter offer will emerge.
Typically when there is a counter offer, what is being adjusted is not the what but the how.
Here’s what I mean. If both parties want to develop an app that allows users to keep track of their tasks and finances they have agreed to the “what.”
However, the client may request that a certain feature be added by a certain deadline. The developer may have deeper knowledge of the code base, and make a counter offer that addresses some architectural issues first so the feature can be added with fewer issues down the line.
The “how” is typically what we are negotiating — not the “what”.
When we realize that we are aligned on the “what,” it allows us to find more space and more easily negotiate the “how.”
Related: Enneagram for developers

What a successful deadline negotiation looks like

The best negotiations are ones where both parties walk away satisfied that they are getting a win and have created the future they want. In order for this to take place, we have to know what a win looks like.
What are you willing to give and what do you want in return? Knowing your boundaries, how much time and expertise and energy you have to give will allow you to negotiate successfully.
One of the most challenging things to negotiate are deadlines or giving ticket estimations.
Here are five tactics that can help with providing deadlines:

1. Be honest with yourself about your expertise, time, and ability

Don’t try to be a hero. Don’t work outside of work hours on a regular basis (it may happen from time to time, but don’t make it your regular practice). Don’t overestimate your abilities. In the end it only puts strain on the relationship with your team and client.

2. Build in buffer because you

Always add time for the unforeseen events. If you don’t encounter anything, great! You get done earlier and everyone is happy. If you do, you are ok because time was already built in to account for it.

3. Don’t be afraid to speak up to the client or your tech lead

Be direct and respectful. Explain what factors you are looking at and why you need to push back. Explain what you are not ok with and then make a counter offer of what would work for you.

4. Keep open communication as you move along

As you take action and unforeseen things arise, document everything. Make sure everyone is aware of what is happening so there are no surprises.

5. Remember what estimations are and what they are not

Estimations are not a promise or specific obligation, they are an aim. It gives you a direction to focus energy and effort. Make sure that all parties understand this distinction so expectations are managed.

Outcomes of improving your negotiation skills

By knowing what you want and listening to others, your negotiation skills will open up your life and career to work with some amazing people and on some amazing projects.
The more skilled you are at negotiation, the more options are available to you, and the more likely it is that you find yourself in a position that feels fulfilling, exciting and powerful.
This kind of career doesn’t happen by accident. Learn how to negotiate well and you will find satisfaction in your work and life.
Where have you negotiated successfully in your life? What kinds of things contributed to that success?
Read next: 5 ways to build trust with engineering managers