There I waited at my customer’s desk while he ran late from a prior meeting. Tacked to his cubicle wall was a letter from his company’s legal department to mine. It declared a breach of contract. It demanded repairs, including assignment of a full-time professional project manager.
What A Way To Get A Promotion!
I learned that my company had acquired a company. The acquired company had contracted to deliver a custom software product to our customer. After a year, we still hadn’t delivered that product. Nor had either party begun the work to integrate the product into the customer’s ecosystem. Now, both technology teams were in a corporate game of “chicken” to see who would do their part of the integration first.
Soon I found that the product we were to deliver was nowhere near completion. This is why our team hadn’t bothered to begin their part of the integration work. It seems the founders of that small company were better at sales than software delivery. Seeing my company’s lack of definitive progress, our customer had been wise not to invest further.
Ultimately, the product was not delivered, installed, or commercialized. At least two people were fired. A number of business plans were not successfully executed. Investments and opportunities were lost.
Software Development Doesn’t Have To Be So Hard.
In fact, I have concluded that the leaders involved in arranging these situations are usually doing exactly what they feel is appropriate. They are well-trained, have decades of experience, hundreds of employees, and millions of dollars in financial authority.
This project was not business critical, the value of resources deployed was not material, and the perceived ROI was too low to invest further, relative to other commitments.
On the other hand, my company had prevented competitors from acquiring the business and product it acquired. It had created the impression that we were entering that market space, and it had prevented a competitor from selling a competing solution to that customer. All of these helped get our company noticed by competitors, and ultimately acquired. The CEO, investors, and unvested 401k accounts all received windfalls.
The Real Loser Was The Customer.
Even assuming this product development initiative was little more than a lottery ticket to all parties, delivery of any of the following would have required very little additional cost (or even just a reallocation of existing resources). Each would have improved probability of project and product success:
- Detailed functional requirements documents
- Detailed user acceptance tests
- Frequent demonstrations of software functionality
- Pay only for progress against explicit functional milestones
Don’t Be A Loser Too.
Next time you contract for a custom solution, ask for and implement project and business controls to make sure your lottery ticket pays. Too often, I have seen companies rely on outside technology experts, then carry out poor vendor due diligence, poor contracting practices, and poor project oversight. They transfer execution risk to a party that is no better at execution, then fail to manage the relationship or the initiative. This is like hiring a junior employee, then failing to supervise them. You wouldn’t do that, would you?
Also published on Medium.