CSC - Experience. Results. CSC World - Putting Innovation to Work
 

 

Managing Global Software Development

 

By Philip Karecki

Companies across many industries have achieved the kind of revenue growth that stockholders are demanding by offshoring software development. While driving down hourly and projected costs in a significant fashion, offshoring has distributed development teams across the globe.

Distributed development has grown in clear phases. In the first phase, teams were made up of employees of a single company in multiple locations within that company. Those employees could be distributed across two or three buildings on a campus or across several states, provinces, or regions. Distribution became global in the next phase as companies, either through wholly owned subsidiaries or joint partnerships, purchased facilities in other countries and directly employed citizens of those countries. The latest phase has seen more partnerships between vendors who have their own distributed development capabilities — the partnership between CSC and IBM is only one example — which means teams are distributed across companies.

Global sourcing is no longer just about India. It is evolving as other areas — China, Eastern Europe, even South America — expand the talent pool by getting into the game. Global sourcing is no longer just about less expensive labor, either. More and more, it’s about getting access to that bigger talent pool.

Manage globally the way you manage locally

But how do you manage that global distributed development model to sustain growth? You will need to change your operating model for IT, but you can do it by applying the same core components you used in traditional development projects.

The difference between traditional development projects and the global ones you have to manage today is that now you have to factor in a 24x7 development cycle with different cultures, different time zones, and the distances between the people doing different facets of the development work. But the same five core components — delivery model, technology, people, processes, and governance — still apply.

Delivery models                           You need to understand your delivery models. How does the in-house team translate the business value to derive requirements that can be passed off to the offshore development team?

Technology        How do you leverage emerging technology to accelerate those business innovations? Is this something you’re going to model upfront, locally, and give to the distributed development teams to use in a consistent fashion around the globe? You need to mature the technology significantly to facilitate this process.

People   Developing a plan for the new organization means revising your hiring, training, and investment plans. Whether it’s cross-cultural training and skills or taking people who are able to liaise between the business and the technology, you need to focus on the right people with the right skills.

Processes           It’s your processes that will enable your people and your technology to carry out your delivery model. Technology-enabled processes define the how-to for managed cross-geography development.

Governance       Although too often overlooked, a strong governance model with business units and partners has always been necessary to ensure the delivery of business value. It’s a facet that becomes very important in the global development environment, especially as global development supports SOA and services deployments.

Getting from here to there in three phases

If you don’t already have a distributed development capability, CSC has a three-phase approach to building one.

Perform capability assessment   Organizations need an independent look at the current state of the development environment and processes in place to support business objectives. An assessment can vary in scope from addressing the customer’s entire software development organization to looking at a single software project. The goal is to assess your development process, evaluate the tools you are using, and identify opportunities for improvement. Some organizations may decide to stop here and build on the identified opportunities themselves.

Deploy a test environment         In the second phase, CSC recommends and creates the software architecture, tooling, and distributed staffing model assignments for a test environment. Deploying this environment requires close attention to software configuration management, to securely track all of your assets as they are updated and transferred from location to location. In addition, deployment services typically include training and mentoring for key staff roles. Deploying a new environment means changing the way people work, so it is essential to establish or optimize the change management environment. The dynamics of iterative development, including concurrent workflows by different teams working on shared artifacts, necessitates a focus on change management. 

Some organizations may decide to make this phase the first step of a quick-start approach that gives them an “instant environment.” This more aggressive option puts the tools right in your hands by deploying a starter infrastructure of a server, five seats of software, and global development process templates that are focused on global distributed development. These organizations then use those tools to do the same kind of capability assessment done in phase one and develop a go-forward plan and strategy built around the starter environment.

Configure process, establish workflow automation and measurement   Once a global distributed development model is established, it’s important to take a closer look at the labor and tasks being executed. The more you can automate the workflow, especially change information, the easier it is to manage distributed complexities and communication barriers. CSC will work with you to establish and monitor a common, configurable process that gives all team members access to guidance and tool mentors throughout the development life cycle. This process will also provide the metrics and reporting that team members and management need to get visibility into all dimensions of development and delivery.

Until very recently, global delivery was the specialty of a few firms, and it was focused on technical programming. That is no longer true. It will not be long before most companies will have to have global delivery capability, and not only for technical programming. As global delivery becomes a standard that applies to consulting, BPO, SOA, and architecture, building a distributed development capability becomes more critical.

Philip Karecki, of CSC Consulting, is the solution director in CSC’s New York office.

 

Sidebar:

Ensuring Consistent Global Delivery

The biggest challenge to developing a global delivery system is getting all team members to work efficiently and effectively together. Sharing knowledge and expertise is crucial in any team, and in a team where members work in different countries and time zones and speak different languages, communication is not something that can be left to chance.

CSC Consulting Group is meeting these challenges by creating Systems Integration Services, virtual practices that bring together practitioners of seven core services — business transformation, systems transformation, infrastructure transformation, data transformation, enterprise technology, security solutions, and enterprise/program management and architecture — from different business units.

These practitioners come together to review industry trends and best practices to develop business and technology services that are consistent across solutions, customers, and business units. The goal is to create a focused vehicle for communicating and sharing expertise and leadership around the core services.

© Copyright 2006 Computer Sciences Corporation