System Analysis and Design in a Large-Scale Software Project: The Case of Transition to Agile Development

Agile software development methods mainly aim at increasing software quality by fostering customer collaboration and performing exhaustive testing. The introduction of Extreme Programming (XP) – the most common agile software development method – into an organization is accompanied with conceptual and organizational changes. These changes range from daily-life changes (e.g., sitting together and maintaining an informative project environment) and continue with changes on the management level (e.g., meeting and listening to the customer during the whole process and the concept of the whole team which means that all role holders are part of the team). This paper examines the process of transition to an agile development process in a large-scale software project in the Israeli Air Force as it is perceived from the system analysis and design perspective. Specifically, the project specifications of the agile team are compared with those of a team who continues working according to the previous heavyweight method during the first half year of transition. Size and complexity measures are used as the basis of the comparison. In addition to the inspection of the specifications, the change in the role of the system analysts, as the system analysts conceive of it, is examined.

[1]  Donald A. Schön Educating the Reflective Practitioner: Toward a New Design for Teaching and Learning in the Professions , 1987 .

[2]  Orit Hazzan,et al.  Introducing Extreme Programming into a Software Project at the Israeli Air Force , 2005, XP.

[3]  James E. Tomayko,et al.  Human aspects of software engineering , 2004 .

[4]  David Talby,et al.  The Design and Implementation of a Metadata Repository , 2005 .

[5]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[6]  Orit Hazzan,et al.  Agile metrics at the Israeli Air Force , 2005, Agile Development Conference (ADC'05).

[7]  H. C. Plotkin,et al.  Darwin machines and the nature of knowledge , 1994 .

[8]  D. Schoen Educating the reflective practitioner , 1987 .

[9]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[10]  James E. Tomakyo,et al.  Human Aspects of Software Engineering , 2005 .

[11]  Orit Hazzan,et al.  The reflective practitioner perspective in software engineering education , 2002, J. Syst. Softw..

[12]  Jim Highsmith,et al.  Agile Software Development Ecosystems , 2002 .

[13]  Victoria Hoban,et al.  The Reflective Practitioner , 2013 .

[14]  D. Schoen The Reflective Practitioner , 1983 .

[15]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[16]  Dolores R. Wallace,et al.  Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric , 1996 .

[17]  D. Schon Educating the Reflective Practitioner. Toward a New Design for Teaching and Learning in the Professions. The Jossey-Bass Higher Education Series. , 1987 .