Many problems related to offshore development that are reported in the industry often being explained by culture difference, lack of communication, time zones etc. From what I’ve learned, many companies reporting such problems do not have optimal team structure. Popular models include complete outsourcing of engineering team or outsourcing of one function only (QA being very popular). To “protect” from failure, these companies often build in SLAs into contracts.
Alternative model with much more chances for success is what I call “Extended teams”. In this model, offshore teams are not silos, but actual extensions of the onsite teams. The idea is that from management point of view, the only difference is – location. This allows engineering management perform planning based on skills and availability and not location. Of course if you work with Indian offshore company, this will be much.. much more difficult due to the time difference, but in our case, working with a Ukrainian company the time difference proved to be a non issue in most cases.
Good communication is built into this model, as feature teams, including members from both sides of the ocean HAVE TO communicate often and effectively to produce good results. Now here is a caveat: for several years this was working for us and proved to be successful. As our organization is moving towards Agile product development we need to decide whether this mixed mode is the best approach or should we move towards collocation, building complete teams in one location to the degree possible. Moving to collocated teams in offshore location will actually improve the team members interaction and communication, but will require more oversight by onsite architects. It becomes more complicated when we consider shared resources available onsite only, but need to be part of Agile teams.
More update on that later on my Agile Transformation blog.
No comments:
Post a Comment