Outsourcing a Software Development Project

I was recently invited by one of the larger companies in Kansas City to observe a vendor meeting aimed at discussing a software development project they are outsourcing. After a couple of failed or stalled attempts at other outsourced projects, they were (rightfully) questioning their process of vendor selection and product management. As typical, the issues were on both sides of the transaction and I was asked to ride-along during the process and provide feedback on how to improve their results.

Unfortunately I was contacted a bit late in the process and was emailed a few documents representing requirements and key deliverables and dates and then had a 20 minute conversation with my contact before the meeting (more than we sometimes receive, right?). The usual vendor suspects were in attendance—those you typically expect to see in front of a potential customer like this. After the normal guarded chit chat amongst vendors, everyone settled in as representatives of the customer entered the very well-appointed meeting room.

First, each vendor introduced themselves mostly along the lines of “Hi, I’m Chuck and I’m the main Kahuna in charge of various things with GoodDevs, which is a BigTechCo platinum partner and leading developer of this and that…”. The customer representatives briefly introduced themselves and what their organization does and then I was introduced as a consultant there to assist the customer with the decision process. The customer representative leading the evaluation process proceeded to describe the project in 5 minutes or less and then spent approximately 30 minutes on the finer points of formatting, structure and deadlines for vendor responses. That’s it. The vendors had no more information than I had (less since I got a 20 minute conversation) and judging by the documents I reviewed, I knew they had (or should have) a lot of questions.

Within those few pages of documents and during the 5 minute mission-critical project overview provided by the customer (I kid you not) were the following (mostly verbatim) comments/requirements.
“We don’t want to reinvent the wheel.” “We want world class software.” “We want to follow best practices.” “We want the software to be scalable, maintainable and flexible for the next 5 years—and beyond.” “We want to anticipate a variety of potential architectures—some that we haven’t yet envisioned or fully defined.” “We want the code to follow strict guidelines and standards.” “We want the software to be fully-tested with near zero-defects.” “We want magic fairies to feed and care for the software around the clock…” (Okay, I made that one up.) “The final requirements will be ready by the end of next month and we need the software delivered in three to six months.” “As a part of your proposal, we want to know who you will have working on the project.”

The meeting was then open for vendor questions. As you might guess few of the vendors present asked probing questions. Most played it safe, being suspicious about what inside information or forged customer relationships the other vendors may have or not wanting to seem clueless even though the information they were operating on was crying out for more definition. Most vendors stuck to the typical key dates, verification/hand-off process, technical/tool considerations and deliverables. Questions mostly designed for the vendors to try and differentiate themselves from the pack and designed for the customer to tip his hand about budget, key decision criteria or anything else that might be considered revealing in this setting.

If I mentioned the company name, many of you might be surprised. It’s a well known Kansas City-based organization that develops commercial software as its main line of business and a company that assumedly should be aware of what is required to provide a meaningful exchange of ideas and information toward a goal of pricing and scheduling a software development project.

While there are many success stories in vendor selection, product management and outsourcing in general, more often something similar to the above scenario occurs. There are many methods for handling custom software vendor selection and for outsourcing in general. A lot depends on the organization looking for a vendor, the people within the organization handling the selection process, the technical expertise and the product –and- project management experience available on staff. A separate post will dive deeper into ways to avoid the pitfalls but for now, treat this like any other project or functional area within the organization. If you don’t already possess the different roles required to run effective vendor selection, outsourcing or product management, get help. Find experts in these areas and/or hire a rent-a-CIO to lead the charge. For the relatively nominal cost of various experts in these areas, the investment will be well worth the risk mitigation you’ll receive.