Global Software Team and Inexperienced Software Team

Global Software Team and Inexperienced Software Team

Kim Man Lui (The Hong Kong Polytechnic University, Hong Kong) and Keith C.C. Chan (The Hong Kong Polytechnic University, Hong Kong)
DOI: 10.4018/978-1-60566-026-4.ch263
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Given that the number of qualified programmers cannot be increased drastically and rapidly, software managers in most parts of the world will likely have to live with a human resources shortage in this area for some time. One way of dealing with this shortage is to form global software teams in which members are recruited from all over the world and software is developed in a distributed manner. Forming such a global software teams can have many advantages. In addition to alleviating the problems caused by scarcity of human resources, programmers on a global team would be free to work without being confined by physical location. Although forming global software teams may increase the size of the pool of programmers that can be recruited, both team quality and software quality are issues of great concern. Some software companies would prefer to establish a global software team with software programmers in developing countries, such as China, Poland, and South Africa (Sanford, 2003). Given the tremendous salary gap between skilled and unskilled developers or between developed and developing countries, it is not difficult to see that maintaining a team with a proportion of less experienced members significantly reduces running expenses (Figure 1). On the other hand, however, it would present the problem of managing inexperienced programmers. This chatper shares our experience of managing inexperienced software teams in China. To simplify our discussion, we deal separately with the two topics of inexperienced software teams and global software teams. However, it should be noted that a global software team can be composed of both inexperienced and experienced software subteams. We categorize the problems in these two types of software teams which will help software managers learn more how to manage the two types of software teams.
Chapter Preview
Top

Introduction

Given that the number of qualified programmers cannot be increased drastically and rapidly, software managers in most parts of the world will likely have to live with a human resources shortage in this area for some time. One way of dealing with this shortage is to form global software teams in which members are recruited from all over the world and software is developed in a distributed manner. Forming such a global software teams can have many advantages. In addition to alleviating the problems caused by scarcity of human resources, programmers on a global team would be free to work without being confined by physical location.

Although forming global software teams may increase the size of the pool of programmers that can be recruited, both team quality and software quality are issues of great concern. Some software companies would prefer to establish a global software team with software programmers in developing countries, such as China, Poland, and South Africa (Sanford, 2003). Given the tremendous salary gap between skilled and unskilled developers or between developed and developing countries, it is not difficult to see that maintaining a team with a proportion of less experienced members significantly reduces running expenses (Figure 1). On the other hand, however, it would present the problem of managing inexperienced programmers.

Figure 1.

In the software world, the proportion of highly professional to less experienced teams may fall as companies operate under the constraints of tighter cash flows and for reasons of cost replace more experienced programmers with junior programmers and seek to avoid the costs associated with the professional development of senior programmers.

This chatper shares our experience of managing inexperienced software teams in China. To simplify our discussion, we deal separately with the two topics of inexperienced software teams and global software teams. However, it should be noted that a global software team can be composed of both inexperienced and experienced software subteams. We categorize the problems in these two types of software teams which will help software managers learn more how to manage the two types of software teams.

Top

Background

This section reviews real cases that have driven the formation of an inexperienced software team and a global software team. The motivation behind managerial decisions to build such teams is both financial and environmental.

Key Terms in this Chapter

Time-to-Market: A work product to the market as quickly as possible, before competitors, in order to get a larger market share or to begin earlier cost recovery.

Multisite Software Team: Software teams located in different cities and/or in different countries collaborate as a single team for a clear project objective.

Agile Software Development: Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.

Software Development Rhythms: Software development rhythms (SDR) respects and builds upon the inherent flexibility of agile practices (e.g., pair programming, refactoring, test-driven development, stand-up meeting, plagiarism programming, etc.), focusing on understanding the “why and when” of the effective application of practice-move-practice or activity-move-activity

Complete Chapter List

Search this Book:
Reset