Tuesday, January 29, 2019

How to outsource

The major benefit of outsourcing is to do more with less personel, to be shielded from human resources management issues and concentrate on the product. However, outsourcing work that is not clearly defined (like most research & development work) can be a headache if done haphazardly. By its very nature, most R&D work fails and should be treated as learning experiences. How can you outsource something that will most probably fail? I suggest dividing the task into the following three phases:
  1. Analysis: Concept of Operations, detailed requirements and acceptance test plans are generated.
  2. Design: Design documents and a minimum viable product that implements basic functionality is produced.
  3. Production: The end product covering all requirements is tested according to the acceptance test plan.
Instead of a single contract encompassing all three phases, each phase has its own contract. At the end of each phase, in order to continue to the next phase, both the contractor and the customer have to say GO. After that, the contract for the next phase is signed. The contractor gets paid only for the phase it has finished.

Note that for phases 1 and 2, there are no acceptance criteria for the deliverables, because adding additional criteria will drive the cost up. The contractor could submit a one page document and call it "requirements". The only leverage the customer has during these phases is the threat of not awarding the next phase and blacklisting. Therefore, most of the payment should be done in phase 3. If the total cost of the project is 100%, phase 1 should be 10%, phase 2 should be 20% and phase 3 should be 70%. Due to the relatively low cost, phases 1 and 2 could be awarded to multiple contractors to have some kind of competition.

Dividing the work into three phases protects the customer from mediocre contractors. At the end of phase 1 or phase 2, if the customer is not satisfied, armed with lessons learned and documents / prototype at hand, it can select another contractor. This phase structure also protects the contractor from fuzzy requirements and challenges that turn out to be technically impossible.

No comments: