An Agile Perspective on Open Source Software Engineering

Author(s):  
Sofiane Sahraoui

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 chapter 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 chapter 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.

2012 ◽  
Vol 4 (3) ◽  
pp. 52-65
Author(s):  
Sofiane Sahraoui ◽  
Noor Al-Nahas ◽  
Rania Suleiman

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.


2011 ◽  
Vol 23 (4) ◽  
pp. 64-79 ◽  
Author(s):  
Diane Kelly

The development of scientific software is usually carried out by a scientist who has little professional training as a software developer. Concerns exist that such development produces low-quality products, leading to low-quality science. These concerns have led to recommendations and the imposition of software engineering development processes and standards on the scientists. This paper utilizes different frameworks to investigate and map characteristics of the scientific software development environment to the assumptions made in plan-driven software development methods and agile software development methods. This mapping exposes a mismatch between the needs and goals of scientific software development and the assumptions and goals of well-known software engineering development processes.


Author(s):  
Walt Scacchi ◽  
Chris Jensen ◽  
John Noll ◽  
Margaret Elliott

Understanding the context, structure, activities, and content of software development processes found in practice has been and remains a challenging problem. In the world of free/open source software development, discovering and understanding what processes are used in particular projects is important in determining how they are similar to or different from those advocated by the software engineering community. Prior studies have revealed that development processes in F/OSSD projects are different in a number of ways. In this paper, we describe how a variety of modeling perspectives and techniques are used to elicit, analyze, and validate software development processes found in F/OSSD projects, with examples drawn from studies of the software requirements process found in the NetBeans.org project.


Author(s):  
Nancy A. Bonner ◽  
Nisha Kulangara ◽  
Sridhar Nerur ◽  
James. T. C. Teng

There is little doubt that agile software development (ASD) methods have gained widespread acceptance in industry. Despite the attention these methods have received, there is little empirical affirmation of the benefits that accrue to those who use agile methodologies. Grounded in the conceptual foundations of innovation diffusion and agile philosophy of development, the authors' study validates a model to assess the perceived advantage of an iterative approach to software development. Consistent with their predictions, the results suggest that evolutionary development - the cornerstone of agile development – is perceived to be less complex and more compatible with the work habits of developers. Further, the findings support the hitherto unsubstantiated claim that iterative development yields benefits to software developers. However, process flexibility, yet another important characteristic of agile development, had no significant impact on complexity, compatibility, and relative advantage. The implications of the study for academics and practitioners, and directions for future research are discussed.


2022 ◽  
pp. 1511-1534
Author(s):  
Chung-Yeung Pang

Reusability is a clear principle in software development. However, systematic reuse of software elements is not common in most organizations. Application programmers rarely design and create software elements for possible future reuse. In many agile software development processes, the project teams believe that the development of reusable software elements can slow down the project. This can be a misconception. This chapter examines various ways to reuse software. Three approaches to developing reusable software artifacts from 15 years of experience in the agile development process are presented. The first approach is to create generic programs or configurable frameworks that support similar solutions for a variety of use cases and environments. The reuse of patterns is the second approach presented. Another effective way is to use a model-driven approach with model patterns. These approaches help to speed deployment software. The final product is flexible and can easily be adapted to changes. This is one of the main goals of an agile approach.


2017 ◽  
Vol 21 (1) ◽  
pp. 71-79
Author(s):  
Jai Vigneshwar Alavandhar ◽  
Oksana Ņikiforova

Abstract In order to develop and deliver a software project successfully, any software development organisation has to follow a well-known and recognised software engineering process for successful delivery and maintenance of the software. However, when the organisation is willing to follow a new software development process, the success rate of adopting a new software engineering process is a question mark. In the paper, we aim at studying and comparing two software engineering processes, which are based on different paradigms or models, and proposing a hybrid methodology, which integrates advantages of both compared methods. They are Microsoft Solutions Framework as a representative for an iterative methodology and SCRUM for agile software development. The comparative analysis will help a software development company to make the transition easier from Microsoft Solutions Framework to SCRUM or vice versa.


Sign in / Sign up

Export Citation Format

Share Document