Adding More Agility to Software Product Line Methods: A Feasibility Study on Its Customization Using Agile Practices

Adding More Agility to Software Product Line Methods: A Feasibility Study on Its Customization Using Agile Practices

Kun Tian (University of Wisconsin, USA)
DOI: 10.4018/978-1-5225-3422-8.ch055
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Software Product Line Methods (SPLMs) have been continuously gaining attention, especially in practice, for on one hand, they address diverse market needs while controlling costs by planned systematic reuse in core assets development (domain engineering), and on another hand, they reduce products' time-to-market, achieving a certain level of agility in product development (application engineering). More cost-effective and agile as they are than traditional development methods for producing families of similar products, SPLMs still seem to be heavy weight in nature. In SPLMs, significant up-front commitments are involved in development of a flexible product platform, which will be modified into a range of products sharing common features. Agile Methods (AMs) share similar goals with SPLMs, e.g., on rapidly delivering high quality software that meets the changing needs of stakeholders. However, they appear to differ significantly practices. The purpose of this work is to compare Agile and Software Product line approaches from fundamental goals/principles, engineering, software quality assurance, sand project management perspectives, etc. The results of the study can be used to determine the feasibility of tailoring a software product line approach with Agile practices, resulting in a lighter-weight approach that provides mass customization, reduced time-to-market, and improved customer satisfaction.
Chapter Preview
Top

2. Background

AMs are software processes that share the same values: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation and responding to changes over following a plan. The Agile Manifesto inspired 12 principles for Agile process (Martin, 2002). Among these principles, the highest priority is to satisfy the customer through early and continuous delivery of software. Agile methods use short iterations (sprints) that are typically two to four weeks long. Satisfying the customer also involves recognizing the need to change requirements, even late in development, to support the customer's competitive advantage. The customers are highly involved, as they receive frequent deliverables of working software and work together with the technical people daily throughout the project. Working software is the primary measure of progress on the project, as opposed to modeling artifacts, etc. The software is built by motivated individuals, who have an environment and the support they need to get the job done. The self-organizing teams strive for technical excellence (i.e., best requirements, best architecture, etc.) and simplicity (i.e., maximizing the amount of work not done, such as extensive documentation for planning, requirements, architecture, etc.). The project proceeds at a pace that is sustainable over the long run and includes regular reflections on how to become more effective at implementing necessary changes.

Complete Chapter List

Search this Book:
Reset