6 Steps to Save a Late Software Project

Photo by Jp Valery on Unsplash

According to the CHAOS Report, 60% of software projects are late.

These are the impacts of late projects that I have personally witnessed:

  • The team cuts quality corners to “go faster,” only to be thrown off schedule by awful defects at the end of the project
  • Competitors took the market with their inferior — but on-time — product
  • The entire team was laid off because the project became too expensive

Engineering teams should be able to (a) make commitments they can keep or beat and (b) deliver high quality software. And I highly recommend the Exceptional Engineer℠ course to learn these skills.

But what if (a) or (b) don’t happen, or go wrong?

It’s equally important for an Exceptional Engineer to be able to recognize the first signs of a late project, and renegotiate to get it back on track.

This article explains how.

From Late to On-Time

How exactly does the Exceptional Engineer transform a late project into a success?

Time for some role play!

Scenario:

  • The team is halfway through a 40-week project — it’s due in 20 weeks.
  • They need to deliver 60 features total.
  • They sense the project is behind schedule, but they don’t know for sure.
  • The project stakeholders are adding an Exceptional Engineer to save it.

Here is the Exceptional Engineer’s response:

1) Get Today’s Project Status

For a complete understanding of project status, she sets out to answer these 3 questions:

  1. Is the project ahead or behind schedule?
  2. By how much?
  3. Why? Hint — it’s usually because: features require more or less effort than expected, the number of features grows or shrinks, or the number of hours the team can dedicate to the project is more or less than expected.

In a span of a few hours, she is able to pull this data from the team’s project management software, and talks with them to confirm her findings:

This team has been completing 1 feature per week because it takes 120 hours to complete a feature and the team can work 120 hours per week.

Even though they have been working overtime, the team was supposed to have 30 features done by now, but have only completed 20. Their actual rate of completion is 179% of their estimated rate of completion. That means it’s taking them almost double the amount of time to get things done — ouch!

With this simple amount of data, she gets the answers:

  1. Ahead or behind? Answer: Behind schedule. 10 features are not done yet.
  2. By how much? Answer: 10 weeks. Each of the 10 late features will take a week to complete, assuming the same rate of overtime for future work.
  3. Why are they behind? Answer: The features have required more effort than anticipated.

Caveat — I’m sure there are some smart people out there thinking “but 120 hours per feature is an average. What if the last 10 features are small?” Sure, that could be the case, but in my experience of leading many projects, it doesn’t happen often. Also, this is a simple estimate — more effort can definitely be spent to get a detailed estimate of the remaining 10 features.

2) Estimate Project Completion

The previous step focused on today’s project status. (Already 10 weeks behind.)

In this step, the Exceptional Engineer tackles the question, “When will the project be done?”

Answer: 40 more weeks from today — but the project is due in 20!

Why? At a rate of 1 feature per week and 40 of 60 features not started yet, the team needs 40 more weeks to finish.

3) Tell Stakeholders the Truth. Be on Their Side.

The Exceptional Engineer’s next responsibility is to communicate the status of the project to the stakeholders. Yes, that means a seemingly scary face-to-face meeting to show them the calculations above.

But it doesn’t have to be scary because the Exceptional Engineer and the stakeholders have the same goal: the best project results to excite their customers.

This meeting is about being on the same side and increasing trust.

Here is her 3-step process for a successful, non-scary conversation:

  1. She reiterates the stakeholder goals for the project — “If I understand our goals correctly, this project will allow our company to expand to a new and promising market. This is a crucial step for our business’s success.”
  2. She communicates the team’s lateness, with disappointment. She reaffirms that she and the team are personally invested in stakeholder goals — “As shown by our data, the team is 20 weeks behind schedule. When we saw this data, we were shocked and saddened because we really want to achieve our shared goals and see our business thrive.”
  3. She affirms that the team will investigate every idea to go faster“We want to be wrong about our prediction for when this project will be done. We have a list of ideas for accelerating, and we would love to hear yours as well.”

Hearing bad news often triggers a flood of anxiety, even panic for the stakeholders. The next step explains how to guide this process along.

4) Help Stakeholders Grieve

Ever heard of the 5 stages of grief? It’s true — they happen even in professional situations.

(Yes, the team also went through these stages. But their grief happened a few steps ago, when they crunched — and re-crunched in disbelief — their project status numbers.)

But they know that the stakeholders won’t just immediately jump to acceptance. They’ll need to go through the process themselves.

More importantly, the Exceptional Engineer knows that when stakeholders express these emotions, it’s not personal or about her — it’s about the data and the reality.

Here are the responses she gives to the stakeholders for each of the intermediate stages:

  • Denial “I also felt stuck and shocked when I saw the data. After multiple examinations, I am convinced that these are the facts.”
  • Anger “You seem distraught. What do you fear? Let’s work together to address this.”
  • Bargaining “I would be happy to look at the data in detail with you. We may find ideas we missed!” (Caution! Sometimes the conversation will lead toward fixing “high estimates” of future work, making them more aggressive. If the original is truly the best estimate, be prepared to explain why.)
  • Depression“Our team also hit a point of despair when we realized that our overtime wasn’t enough to achieve our original commitment. We have come up with multiple options for recovering this project and would be happy to choose the best ones with you.”

5) Provide Options

Options generally fall into these 3 categories (and they can be mixed, matched, and combined to suit different parts of the project):

  1. Add more resources
  2. Remove (or delay) functionality
  3. Extend the deadline

Here are the specific options the Exceptional Engineer came up with. She also calculated the impact (in weeks) each would have on the project and presented that data to the stakeholders.

  • Add an additional 1–2 of the best engineers to the project
  • Give the team more focus time — excuse them from certain meetings, defect escalations, and responsibilities on other projects. Put “interrupt-free” hours on the calendar.
  • Choose the least important features to deliver later
  • Downsize the scope of certain features
  • Encourage voluntary overtime (But not too much! And give them some bonus time off later.)
  • If possible, delay the final commitment date

By combining all of these options and applying them to certain parts of the project, the team once again had a new project plan they could believe in.

6) Relaunch with a Renewed Commitment

At this point, the options to accelerate the project have been chosen.

The Exceptional Engineers leads the team through a re-planning session where they decide who’ll do what by when.

She also reaffirms the importance of quality because defects are extremely expensive to fix during the testing phase (and could put the project at risk). Thorough designs, code reviews, and unit tests are the best tools we have to prevent late-stage gnarly issues.

If this relaunch is done correctly, the team should have a renewed excitement and commitment to the journey.

They make their new commitment public.

(This is the end of the role play. Applause! Standing ovation! Curtain call!)

** Also, notice that the Exceptional Engineer can be anyone on the team — not just the team lead or manager.

You’re in Control

I remember feeling extremely disappointed when the large team of people was laid off because the product wasn’t achieving its schedule and quality goals. So many years of people’s best efforts would never reach customers.

Thinking back to that experience, the team’s answer to their crisis was to mandate working more hours and cut some design corners. Also, their project data was incomplete, or not closely tracked. Had I asked the questions, “Is the project ahead or behind schedule, by how much, and why?” I likely wouldn’t have received accurate answers, and we wouldn’t have been able to come up with a plan to fix it.

But that situation doesn’t have to happen again.

With project data, you can track the project’s real status.

And by tracking the project’s schedule and quality data as the project progresses, you can continue to steer toward success.

References

This article is based on the presentation: The Exceptional Engineer℠: Engineers that Drive Culture Change from Within given by Alan Willett and Emilia Vanderwerf at the Software Excellence Alliance in November of 2020. See it below:

The Exceptional Engineer℠: Engineers that Drive Culture Change from Within. November 2020.

Also see Alan Willett’s book Lead with Speed.

--

--

--

Software Engineer & change leader. Mom. Past: Fought human trafficking. Now: Improving the internet. Future: Fight climate change.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Handling null pointer exceptions in Java

How Asynchronous Payments helped Scaling Up Application

Final Entry

CS371p Spring 2022: Gautham Raju

Taming Time in Python

Snowflake: Say Hello to the Data Cloud!

There’s a programming language that rules the world, but doesn’t have a name!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Emilia Vanderwerf

Emilia Vanderwerf

Software Engineer & change leader. Mom. Past: Fought human trafficking. Now: Improving the internet. Future: Fight climate change.

More from Medium

Lessons in Productivity from a STOMPer and Software Engineer

Moms Working at Home

Post-Pandemic Remote & Flexible Work Statistics

My first week at Everest Engineering