Should Software Companies Outsource for Excellence in Product Development?
Cost versus quality. This article by James Kwak speaks to the classic theme of cost verses quality. How much are you willing to pay to enhance the quality of your software products? Also, how much are you willing to pay to meet a deadline versus enhance your product’s quality?
Jim McCarthy in his book “Dynamics of Software Development” writes about the core of the problem, “…ZD stands for Zero Defects, although that doesn’t mean that there are no bugs in the software, or that it has no missing functionality. At the ZD milestone, the team achieve the quality level set for the milestone in the time allotted to it, and the product is tested to that effect.”
Can outsourcing, coined by Harvard Business Review to be one of the most influential business ideas of this century, bring new solutions to his dilemma?
Well, to a certain extent this is already happening. In manufacturing, companies buy parts from suppliers that they themselves could not produce to the same quality and cost. Computers and smartphones from competing brands, say Apple and Samsung, share the same components under the hood because of their high quality-cost ratios. These manufacturers have outsourced vital components of their products to increase quality while lowering costs. Let’s call this strategy “Outsourcing for Excellence”.
Outsourcing for Excellence is only taking place in the software industry to a very limited extent. From a vendor perspective, we have still not really understood how to supply highly efficient development, testing and QA of software products without adding substantial overheads such as CMMI. According to an expert in software outsourcing, Erran Carmel, outsourcing for cost saving is second level, just above the experimental level. Outsourcing of specialized and high expertise is the next step and is still not mainstream in the software industry.
To most small and medium size software companies, properly testing and documenting software is too expensive. Outsourcing for Excellence could remove this obstacle by providing cost efficient services to hunt more bugs out of the software without significantly blowing the budget.
Needless to say, Outsourcing for Excellence does not solve all the issues of breaking or buggy software that cause multi-million dollar failures, but it’s an existing and flexible measure (employed by other industries) to intelligently reduce bugs in software.
About the Author
Zahid Abdullah has worked in the IT industry for more than 15 years. He holds a Masters degree from Denmark’s Technical University and has worked with international corporations on various management positions. Since 2003, he has headed companies working with international software development.