Toward a Framework for Evaluating Extreme Programming

Toward a Framework for Evaluating Extreme Programming

Toward a Framework for Evaluating Extreme Programming Laurie Williams1, William Krebs2, Lucas Layman1, Annie I. Antón1 1North Carolina State University, Department of Computer Science {lawilli3, lmlayma2, aianton}@ncsu.edu 2IBM Corporation, [email protected] Abstract efficacy of XP is a contemporary software engineering research challenge. Software organizations are increasingly adopting Sim et al. challenged the software engineering the development practices associated with the Extreme community to create benchmarks, or a set of tests used to Programming (XP) methodology. Most reports on the compare the performance of alternative techniques [45]. efficacy of these practices are anecdotal. This paper In this paper, we provide a benchmark for expressing the provides a benchmark measurement framework for XP practices an organization has selected to adopt and/or researchers and practitioners to express concretely the modify, and the outcome thereof. This benchmark, XP practices the organization has selected to adopt called the XP Evaluation Framework (XP-EF), is and/or modify, and the outcome thereof. The framework designed for use throughout development by agile [16] enables the necessary meta-analysis for combining teams, and is comprised of metrics that are focused, families of case studies. The results of running concise, and can be collected by a small team without a framework-based case studies in various contexts will dedicated metrics specialist. The XP-EF is comprised of eventually constitute a body of knowledge of systematic, three parts: XP Context Factors (XP-cf), XP Adherence empirical evaluations of XP and its practices. We Metrics (XP-am) and XP Outcome Measures (XP-om), present the initial validation of our XP evaluation as shown in Figure 1. Use of this framework enables the framework based upon a year-long study of an IBM team necessary meta-analysis for combining families of case that successfully adopted a subset of XP practices studies. The results of running XP-EF-based case studies appropriate for their team culture and their project by our and other research teams in various contexts will characteristics. Our findings suggest that agile/XP eventually constitute a body of knowledge of systematic, methodologies can be successfully adopted in empirical evaluations of XP and its practices. This body environments reliant on traditional software methods. of knowledge will be valuable to organizations awaiting stronger evidence of the efficacy of the XP practices prior to adoption. 1. Introduction XP Evaluation Framework (XP-EF) Often compelling empirical evidence is not available XP-cf XP-am XP-om when a technology is introduced. Typically, such Context Adherance Outcome evidence evolves with the rate of adoption of the Factors Metrics Measures technology [17]. For example, strong empirical evidence of the value of the Software Capability Maturity Model (CMM) [35] came after wide initial adoption [17]. Figure 1. The structure of the XP-Evaluation Similarly, Extreme Programming (XP) [8] is becoming Framework increasingly popular. However, the evidence of its efficacy is still predominantly based upon experience In the XP-EF, researchers and practitioners record reports. Anecdotes of industrial teams’ successes with essential context information about a project via the XP partial or full implementations of XP are abundant [29, Context Factors (XP-cf). Factors such as team size, 30, 47]. However, organizations and researchers need a project size, criticality, and staff experience can help framework to assess empirically XP’s strengths and explain variations in the results of applying the practices. weaknesses in a variety of contexts. Examining the The second part of the XP-EF is the XP Adherence Metrics (XP-am). Rarely, if ever, do software development teams fully exercise all XP practices in a 2.1. Strategies and frameworks “pure” form [17]; some employ only a few practices. The XP-am enables one to express concretely and Software measurement is imperative for companies comparatively the practices a team utilizes. By competing in a rapidly-changing environment. McGarry examining multiple XP-EF case studies, the XP-am also proposes several project management strategies to allows researchers to investigate the interactions and establish a customized measurement framework [31]. dependencies between the XP practices and the extent to Grady offers similar strategies tailored to customer which the practices can be separated or eliminated. satisfaction, defect prevention, analysis, and removal Part three of the XP-EF is the XP Outcome [20]. The ISO/IEC 14598 standard [22] establishes Measures (XP-om); it provides researchers and guidelines for measuring and assessing software quality. practitioners a means to assess and report a team’s Several frameworks for planning the collection of outcome from using a full or partial set of XP practices. software metrics exist, including the Goal-Question- The XP-om consists of traditional external software Metric (GQM) approach [1, 5], the Quality Improvement development metrics, such as productivity and quality. Paradigm (QIP) [4], the Model, Measure, and Manage Ideally, a team (comprised of researchers and/or Paradigm (M3P) [34], and the Measurement Information practitioners) performing a case study will have a Model (MIM) [31]. These models are process- baseline product that can be used for comparison. independent and may be used to establish systems of The three parts of the XP-EF work together to enable software measurement tailored to individual projects. the examination of the relationships between the context, Kitchenham et al. [25] proposed a detailed set of the practices, and the team’s outcome, leading to the guidelines for designing, collecting data, analyzing, and following general contention: reporting the results of empirical studies. The use of The use of {XP practices recorded by the XP- their guidelines is purported to improve the quality of am} leads to {results recorded by the XP-om} individual studies and to increase the likelihood that when used by teams that operate within {context meta-analysis can be used to combine the results of recorded by the XP-cf}. multiple related studies. These guidelines have been In this research, we utilized the “industry-as- incorporated in the composition of the XP-EF. laboratory” [37] approach in which software engineering Williams et al. [50] introduced a metric suite for researchers worked closely with industry to create and empirically assessing an agile methodology’s evaluate solutions [37]. In a year-long, “in-vivo” (in the effectiveness. Several hypotheses and metrics are field, under normal conditions) [3] case study, the XP-EF proposed for productivity, cycle time, externally-visible was applied within an IBM software development team. pre- and post-release quality, responsiveness to customer This seven-person IBM team develops Servlet/XML change, internal code structure, and job satisfaction. This applications for a toolkit that other IBM teams utilize to prior work serves as a foundation for the framework create products for external customers. The team proposed herein. adopted and sustained the use of a subset of XP practices deemed “safe” and appropriate for their team culture and 2.2. Metrics and comparisons project characteristics. This case study is the first of a family of XP-EF case studies, providing initial validation The XP-EF is a compilation of validated and of the XP-am metrics. Additionally, it demonstrates how proposed metrics. Metric validation requires the to conduct an XP assessment utilizing the XP-EF convincing demonstration that (1) the metric measures framework. what it purports to measure and (2) the metric is The remainder of this paper is as organized as associated with an important external metric, such as follows. Section 2 discusses measurement frameworks field reliability, maintainability, or fault-proneness [18]. and surveys related XP research. Section 3 sets the Schneiderwind proposes that six criteria be applied when context for our IBM case study. Section 4 presents the validating software metrics: association, consistency, results of the case study. Section 5 presents the analysis discriminative power, tracking, predictability, and of our results and our plans for future work. repeatability [42]. The XP-om utilizes the CK suite of object-oriented metrics as defined by Chidamber and 2. Background and related work Kemerer [14]. These metrics have been repeatedly correlated with fault proneness in industrial projects. In this section, we discuss existing software The consistency of these findings varies depending on measurement and assessment strategies, frameworks and the programming language under study [46] and metrics. We then provide a survey of prior XP studies. therefore, the metrics are still open to criticism [15]. In empirical studies, comparisons are informative. For example, a new project’s measures can be compared against a prior project’s measures within the same satisfaction, higher quality projects, and steady or organization. Alternatively, comparisons can be made to improved schedules by XP projects. industry standards and/or benchmarks. Jones has In an XP university case study, Müller et al. found compiled data from many software organizations and that pair programming, iteration planning, and test-driven provides benchmarks, best practices, and statistics for a development had mixed benefits and implementation range of software development topics [23]. difficulties.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    10 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us