Loading...

Developing an Agile Product Line Engineering Methodology

Farmahini Farahani, Farima | 2014

911 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 46079 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Ramsin, Raman
  7. Abstract:
  8. Software Product Line Engineering (PLE) and Agile Software Development are two leading approaches in the software industry. Despite the inherent differences between the two approaches, they are intended to fulfill common goals, such as: Reducing time to market, increasing customer satisfaction, promoting product quality, managing changes in requirements, and lowering the costs of development. In addition, each of them has certain positive features which address the other’s weaknesses. As a result, it seems reasonable to integrate the two approaches in order to produce a combined method which fulfills the common goals while addressing the weaknesses. Agile Product Line Engineering (APLE) is a relatively novel approach which has emerged as the result of combining the two mentioned approaches. Although there are many advantages in combining the two approaches, some difficulties also exist. One of the most important problems is the need for design documents in PLE, whereas agile methods are typically unwilling to prescribe such documents. In addition, PLE is more suited to large projects, whereas agile methods are more compatible with smaller-sized projects. Furthermore, the two approaches use radically different strategies for managing changes in requirements. These obstacles turn the combination of the two approaches into a challenging venture. Therefore, the development of a new methodology which prescribes a practical process for this combined approach, and which addresses the difficulties in combining the two approaches, is a justifiable and worthwhile endeavor.Since “software development processes are software too,” an engineering approach has been pursued for developing the target methodology. This relatively novel discipline, which has come to be called “Method Engineering,” helps developers engineerbespoke methodologies that are tailored to fit the requirements of the project at hand. To this aim, a high-level framework, which is the result of applying abstraction to current methodologies,should first be produced;it can then be utilized,along with its constituent method fragments, to instantiate the target methodology.The main objective of this project is to use method engineering approachesto develop a new agile PLE methodology thatresolves the issues in combining the two approaches and addresses the weaknesses of other APLE methodologies. To this aim, existing APLE methods have first been investigated, and an evaluation framework has been proposed for them. After analyzing the methodologies based on this evaluation framework and identifying their strengths and weaknesses, ahigh-level framework has been produced forAPLE methodologies, which was then instantiated to yield a generic APLE methodology. The target methodology is in fact a configured instance of the generic methodology, and has been produced as such. The validity of the final methodology produced has been assessed based on the proposed evaluation framework, and also through a case study
  9. Keywords:
  10. Methodology Engineering ; Software Product Line ; Agile Methodology ; Agile Product Line Engineering

 Digital Object List

 Bookmark

No TOC