Coordination in Agile and Open Source

Coordination in Agile and Open Source

Barbara Russo, Marco Scotto, Alberto Sillitti, Giancarlo Succi
Copyright: © 2010 |Pages: 24
DOI: 10.4018/978-1-59904-681-5.ch005
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Although the situation in the software industry is improved in the last years, the percentage of software project cancelled 18%, or challenged (late, over budget, and with less than the required features) 53% is still high1. Researchers and practitioners are looking for the magic solution or the silver bullet that will allow software companies to overcome the software crisis (Brooks, 1987). New development approaches like AMs and OSD models are some of the solutions identified (Feller & Fitzgerald, 2002; Abrahamsson et al., 2003). One critical problem in software development consist of coordinating interdependent processes involving many interacting stakeholders with different interests, points of view, and expectations (Toffolon & Dakhli, 2000).
Chapter Preview
Top

5.1 Introduction

Although the situation in the software industry is improved in the last years, the percentage of software project cancelled 18%, or challenged (late, over budget, and with less than the required features) 53% is still high1. Researchers and practitioners are looking for the magic solution or the silver bullet that will allow software companies to overcome the software crisis (Brooks, 1987). New development approaches like AMs and OSD models are some of the solutions identified (Feller & Fitzgerald, 2002; Abrahamsson et al., 2003).

One critical problem in software development consist of coordinating interdependent processes involving many interacting stakeholders with different interests, points of view, and expectations (Toffolon & Dakhli, 2000).

Two inherent characteristics of software make coordination a critical issue and a primary cause of the software crisis. These characteristics are (Kraut & Streeter, 1995; Marchesi et al., 2002):

  • 1.

    Complexity: software systems are often very large and far beyond the ability of any individual or small group to create or even to understand in detail. Several, different groups work toward a common goal, share information, and need to coordinate their activities. A lot of interdependent decisions have to be made in the presence of incomplete information and high uncertainty.

  • 2.

    Uncertainty: software development is permeated by uncertainty. Environmental factors like technological innovations and market changes introduce uncertainty into software projects. The intangibility of software makes it difficult to review progress, thus introducing uncertainty into software project management. The flexibility of software and the volatile environment that software projects face makes change a main source of uncertainty. Changing and incomplete requirements increase uncertainty in software development.
Finally, software is uncertain because the different subgroups involved in its development often have different beliefs about what it should do and how it should do it.

Coordination becomes much more difficult as project complexity and uncertainty increase (Kraut & Streeter, 1995).

This chapter focuses on how to coordinate software development when there is a high level of complexity and uncertainty. Companies adopting new development approaches like AMs and OSD models are investigated. In fact, AMs are suitable for developing software in dynamic and uncertain environment, while OSD models develop software in particularly complex conditions.

Using the framework provided by organization and game theory, we are going to identify the main kind of dependencies and coordination mechanisms both in OSD models and AMs.

Complete Chapter List

Search this Book:
Reset