Proactive is interested in engaging with technologists and architects involved in cloud systems and solutions. We would like to share our thoughts and ideas on cloud forensics, cloud migration, cloud analytics, systems design, and operations.

Tuesday, November 29, 2011

Proactive’s Perspective: Offshore Software Services Model in the Cloud

By: Michael Stankiewicz

Much as in the same way that US hard industries embrace globalization in support of their manufacturing needs, the same model has matured with the use of offshore resources for software development.   In fact, the opportunities to utilize a team of offshore software developers whether in India, Eastern Europe, China or elsewhere are now greater than ever.  The keys to success, not surprisingly, are similar to in-house development, and at Proactive we have positioned ourselves to help companies leverage offshore resources while meeting all customer expectations.
Software development was once exclusively an in-house choice and high on the product development value chain of activities.  Software developers protected their code discouraging and precluding partnership with offshore organization; however, today the maturity of the software development discipline with successful reusability and modularity has opened up the need for varied models.
Ultimately financially focused managers realized that the old model does not always fit, especially given the salary levels, attrition, and hiring costs for exceptional high-tech talent.  The goal is to develop high quality software by leveraging offshore resources in the most effective ways.  We all empathize as to its effects on America but realize that the American model needs to change to remain as competitive as ever, striving to do things better, faster, cheaper.  Creativity, design, marketing and sales are where the US has somewhat an advantage.  The software industry must embrace globalization and work within this new model.
There are several success factors that we’ve identified at Proactive with respect to our offshore partnerships.  It should be obvious that positive results just don’t happen by choosing the offshore model, and our managed offshore model is similar to standard 3rd party development.  By embracing a solutions approach, software development must get closer to the business problem and understand the customer’s pains.  By addressing the business technology gap, we continually map requirements to the customer needs.   While an offshore team may not be able to react to changes in project scope or direction or priority, a local project management presence is able to bridge any geographic or cultural concerns.
In speaking with colleagues about offshore projects inevitably the discussion turns to the need to provide excruciating detail to offshore development team in that they will do exactly what you tell them to do.  The average offshore developer is typically given a set of tasks and is expected to deliver code, integration, or other services taking a “black box” approach. 
There are good and bad issues associated with this “black box” reality.  One important point is that when given the details most offshore software development companies provide excellent deliverables.  However, local project partners who continue to manage customer expectations realize a hybrid model that helps to ensure the project success.  One key is to improve project success is to engage the software development team so they have a greater understanding of the project goals and dynamics.  Knowing the project motivations will help them anticipate design requirements, e.g., user interface development.
The final point is that a private cloud makes a great development environment coordinating offshore resources with local project management and support.
So, in summary, how do you ensure the success of offshore development projects?
*Engage with a proven offshore development team.
*Develop a team approach.  Visit and know your team members.
*Utilize a hybrid approach with an organization like Proactive, who completes the business/technology bridge with local project and client management.
*Accept globalization of software development as a viable alternative to your own IT group.
*Provide a private/hybrid based cloud development environment.