A note on the examples: many of my clients are in the middle of valuations or are actively doing business. To protect their brands and their investors, I replace names and industries with generic labels like Company A and Company B.
You’ve paid for months of work and you still don’t have software you can sell. Or it launched, and now every release breaks something. Either way, the invoices keep coming and the answer from your developer is still “almost there.”
A software rescue consultant is the person you call at that point. This is what the job actually involves, based on rescues I’ve done, and what to ask before you hire one.
Two situations that need a rescue
It never shipped. The launch date keeps moving, you’re paying for work you can’t use, and the developer is building the wrong thing or has disappeared.
It shipped, and it’s sinking you. Every release breaks something, the team wants to rewrite it again, and the bill keeps climbing.
The work is different in each case, but the first steps are the same.
What a rescue consultant does
1. Gets the complete source code
Company E’s founder had hired a small firm that kept building the wrong things. He paid a designer for the interface, and the firm built a different one. Updates broke what had worked, the developer disappeared for stretches, and the product was never finished. All he had was a desktop script.
The developer had also given him a download that was missing pieces. Before anything else, I worked with that developer to recover the complete source code. Then I interviewed developers one at a time and built a new team. The project was finished in 3 months.
If you don’t hold all of your own code, nothing else on this list can start.
2. Finds out whether the team can deliver
Company C needed a content management system to run its core work. The project was about 6 months past its deadline and over budget, with five developers who kept missing feature targets and ignoring the design specifications. Nobody on the team really knew how to use Angular or .NET.
Within a month, working with the owner and the CTO, I identified the three engineers who couldn’t follow direction or accept training on the frameworks. The owner let them go, which freed $55K. I trained the remaining developer on both frameworks, and the project finished in 3 months, before the money ran out.
Adding people to a team that can’t deliver doesn’t change what the team delivers.
3. Decides whether to repair or rebuild, with numbers
Company A’s lead engineer was rewriting the whole app and told the owner Angular couldn’t scale. I spent a month stabilizing the app that already existed, and upgraded Angular, which was five versions behind. Engineering cost fell from $48K to under $9K a month, with no rewrite.
Company B went the other way. Its second version had cost about $37K a month for three years, and it had no proper architecture. Repairing it would have cost more than rebuilding, so I rebuilt it. I wrote about how to tell which situation you’re in in “Repair or rewrite? How to decide.”
4. Hands it back stable
A rescue ends when the software is stable and the cost to run it has come down. Company C ended up maintained by one trained developer on minimal hours. Company B’s maintenance fell to under $2K a month, with small fixes and features added as needed.
Why it matters
CISQ, the Consortium for Information & Software Quality, was co-founded by Carnegie Mellon University’s Software Engineering Institute and the Object Management Group, a software standards body, and it develops standards for measuring software quality from the source code. Its 2022 report estimates that poor software quality cost U.S. organizations at least $2.41 trillion that year, including about $1.52 trillion in accumulated technical debt.[1] At the size of your company, the same problem shows up as a monthly bill for software that doesn’t work.
Questions to ask before you hire a rescue consultant
1. Who will do the work? On many teams, the person who sells the project is not the person who writes the code. Ask who will be in your code, and ask to speak to them. With me, there’s no account manager and no handoff.
2. Do you work on my stack? If you owned a Ferrari, would you take it to a mechanic who works only on Ferraris, or to one who works on every make and model? The same reasoning applies to software. I work on .NET, Angular, Azure and SQL Server, and I’ve stayed on that stack since 2009.
3. Will I own everything? Your source code, hosting and accounts should be in your name. If a consultant won’t agree to that, ask why.
4. How do you bill, and how will I know what it costs? I bill hourly, and you set a weekly hour cap, so there are no surprise invoices. A full-time rescue runs about $9,500 a month, and most projects are stable within 1 to 3 months. After that, maintenance usually costs a fraction of that. I can’t know the exact total before I’ve read the code, so on the first call I’ll tell you which situation you’re in and what it’s likely to cost.
5. What results can you show, with numbers? When you talk to any consultant, ask them to describe a past engagement with a before and after: the cost per month, the months it took to finish, or both. If they can’t give you numbers, you can’t compare them to anyone else. That’s why every rescue in this post has a number attached.
What the first call covers
I work fully remotely with U.S. companies of 1 to 10 people. On a free 15-minute call, you’ll hear what’s wrong with your software and what it would take to fix.
If your software never shipped, or shipped and keeps breaking, book a free 15-minute call.
Sources
The client examples come from my own work, so only the industry figure is cited.
- Herb Krasner, The Cost of Poor Software Quality in the US: A 2022 Report, Consortium for Information & Software Quality (CISQ), 2022. https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2022-report/
