The Art of Project Management: Expert advice from experienced project managers in Silicon Valley, and around the world

Outsourcing software development:a bad idea? (continued)

A few more things to do before making the outsourcing decision:

3. Create a Request for Proposal (RFP) that describes, in great detail, the software you want a supplier to create (the software requirements), anything else you want them to deliver (documentation, testing results), the testing they must do, the processes and tools you expect them to have and use, and all of the project management reporting you expect of them so that you will have insight into their progress and their evolving product. Include your deadline for completion, and if the delivery is to be phased, describe the phasing.

Don’t expect them to evolve their own requirements. This may very well be the number one reason for outsourcing failure and is a combination of vague requirements and scope creep. These are bad enough when you experience it within your own company. But in a company on the other side of the world: ?


4. Ask for bids, and question the supplier to be sure they understand what you’re asking of them. It doesn’t do you any good to try to fool a supplier into bidding low based on a misunderstanding of the scope. A supplier’s failure will be your failure.

If you have a choice of suppliers, don’t necessary use the lowest bidder. Convince yourself that the supplier you choose can actually do the work at the quality and schedule you need, and is not just saying they can. Make them explain to you how they will do that.

5. Analyze your costs to manage the supplier. In addition to the project management tasks (analyzing status, managing progress), don’t forget that you’ll need technical staff to manage technical reviews and assess quality, and you’ll need a testing staff. Ah, you’re going to outsource the testing too? Not a good idea. Rethink that.

And if you’re considering an offshore supplier, make sure you’re ready for language challenges, the time zone shift, and the distance between you and the faces of the development team.

Now that you have bids, and now that you understand the in-house effort that will be needed to manage this work,

redo the cost/benefit analysis and make sure that you still want to outsource the work.

If it still makes sense to outsource, then:

6. Choose a supplier and write a contract that includes everything you put in the RFP. Do you want a progress report every Friday by 5 PM? Then make sure it’s in the contract or Statement of Work. Include language that allows you to see the code while it is being developed and include the requirement for incremental deliveries of the software.

In my next post I’ll discuss what to do once the decision has been made and the outsourced development begins.


About the Author

ANITA WOTIZ, M.S. in Computer Science, B.S. in Mathematics, has more than 30 years experience in software design, development and management. She has held high level management positions in a variety of Silicon Valley companies of all sizes, most recently as vice president of engineering at an enterprise application software company. She has been a contributor to and an industry consultant. She is currently an instructor for two UCSC Extension in Silicon Valley courses: Software Requirements Engineering & Management and Software Project Planning, Monitoring & Management. Anita is a passionate advocate for taking a practical-but-disciplined approach to software project management.
Creative Commons License
Note: This work and all associated comments are licensed under a Creative Commons Attribution-Noncommercial 3.0 United States License.

Leave a Reply