An Agile Perspective on Open Source Software Engineering

An Agile Perspective on Open Source Software Engineering

Sofiane Sahraoui (American University of Sharjah, Sharjah, UAE), Noor Al-Nahas (American University of Sharjah, Sharjah, UAE) and Rania Suleiman (American University of Sharjah, Sharjah, UAE)
Copyright: © 2012 |Pages: 14
DOI: 10.4018/ijossp.2012070105
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Open source software (OSS) development has been a trend parallel to that of agile software development, which is the highly iterative development model following conventional software engineering principles. Striking similarities exist between the two development processes as they seem to follow the same generic phases of software development. Both modes of development have less emphasis on planning and design and a more prominent role for implementation during the software engineering process. This article expounds on this connection by adopting an agile perspective on OSS development to emphasize the similarities and dissimilarities between the two models. An attempt is first made to show how OSS development fits into the generic agile development framework. Then, the article demonstrates how the development process of Mozilla and Apache as two of the most famous OSS projects can be recast within this framework. The similarity discussed and illustrated between agile and OSS development modes is rather limited to the mechanics of the development processes and do not include the philosophies and motivations behind development.
Article Preview

Introduction

As conventional software development methodologies struggle to produce software within budget limits and set deadlines, and that fully satisfies user requirements, alternative development models are being considered as potentially more effective. One such model comes under the general umbrella of agile software development, which prescribes a highly iterative and adaptive development process that adapts not only to the changing software requirements and operating environments, but also to the “collective experience and skills” of people working in the development teams (Turk, France, & Rumpe, 2005). Proponents of agile methods advocate the superiority of their model in delivering quality software, produced at an economic cost within a fast development period and meeting evolving customer requirements.

A parallel trend to agile software development has been that of open source software (OSS) development, which looks a priori as a random and chaotic process harnessing the abundance of programmers on the Internet to produce software that is deemed of very high quality. However, upon a closer look at both processes, agile and open source, striking similarities exist in terms of the development process itself. Indeed some research has already pointed out that OSS development, although driven by different motivations and economic considerations than agile methods, follows the same generic phases of agile methodologies (Warsta & Abrahamsson, 2003). In this article, we expound on this connection by adopting an agile perspective on OSS development. This is not to confuse the two paradigms, which remain distinct, but to emphasize the similarities and dissimilarities between the two approaches to software engineering.

In the first part of the article, we attempt to retrofit OSS development within a generic agile software development framework. In the second part, we demonstrate through the example of two landmark open source projects, Mozilla and Apache, how OSS development processes can be recast within the generic agile development model.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 8: 4 Issues (2017): 1 Released, 3 Forthcoming
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing