Outsourcing certain Tasks or Activities within a BI Project is more and more common these Days. The main and maybe only goal is to save costs, since the avg. daily rate might be 250$ (compared to 1000$) for an onsite Consultant. Most often the actual Build or Implementation work is outsourced, but the Requirements and Design work is executed onsite in order to stay as close as possible to the Business Side.
However, one Problem that inevitably will occur is that the knowledge gained during the Build Phase is not feed back to the People who come up with the Design and also vice-versa; the Design Document might not contain all important Information or doesn’t answer all Questions a Developer might have.
When using standard Software like Siebel or Oracle BI Applications the standard will often be customized or tailored to Customer needs. The Recommended Project Method for doing this is Oracle Unified Methode (OUM) which is based on an Iterative Approach, meaning more than one cycle is planned to correctly build the System according to the Requirements. This has the advantage that the Business Side but also the Designers/Developers get the Results sooner (or more quickly) compared to a “classic” Waterfall approach, where only one Build Phase is planned.
The following Figure should illustrate the Iterations of a OUM Project:
The darker colours denote the weighting or the Focus on the Iterations. In the first Iteration the focus is on the Req., but the next Iteration focuses on the Design and the third on the Testing.
Especially this Iterative approach has a Problem to accommodate an Outsourcing Model, since the Knowledge that is gained during the first Iteration e.g. a Problem with data or that the Data model is actually different is outsourced and needs to be feed back with more effort. In an Waterfall approach this might be not so harming since this back and forth only needs to happen once. But in an quick and agile Iterative approach the Knowledge needs to be passed constantly..
This Knowledge breach of having two separate teams needs to be factored into the Cost Savings, when Outsourcing the Build or Implementation Phase.