Four outsourcing models for software development -Tyner Blain
In his post Tyner explains makes the case for four outsourcing models. The models are based on what you outsource. He then goes on to explain how things work in each respective model. He concludes there are no right answer and every project has its specific.
I would like to push his model further, to help people figure what would work for their organization, and literally where geographically it would work best for them. Just like italian cuising, any projects like a reciepe has its holy trinity of ingredients, they are Control, Coordination and Communication ( or 3Cs for short). BTW for an italian receipe the three ingredients that makes up the holy trinity or frisotto are oinion, carrots, and celery.
Depending on the project, various of each C will be required to deliver on time an on budget. How you prepare, manipulate, transform the 3Cs is done through People, Process and Tools.
What needs to be realized at this point is the correlation strong correlation that exists between People and Communication, and Control and Tools. My reasoning is as follow:
- The spectrum of software projects goes from mechanical work to highly innovative, leading edge work
- Tools and Control - The more mechanical the tasks in the projects are, the more tools are developed and used to implement the tasks, the more the project can be Controlled strictly by the execution of tools
- People and Communication - The more innovative the tasks, the more communication they require among its team members to get it done.
One can conclude - The more a project relies on people, the more important it is that we understand each other clearly - the more important it becomes the team hired is close by, ie same language, same culture, same time zone etc... At the other extreme the more a project relies on tools, the less important it that the team is close by etc, the tools will churn out metrics that tells you if the partner is on track or not, and help you control what is going on. More of a throw over the wall approach.
So in my mind how you outsource depends on what your project at hand is and how much time one has to deliver.