Agile System Analysis and Design
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
- PDF / 600,524 Bytes
- 12 Pages / 430 x 660 pts Page_size
- 46 Downloads / 243 Views
Department of Computer Science, Technion – Israel Institute of Technology [email protected] 2 Department of Education in Technology & Science, Technion – Israel Institute of Technology [email protected] 3 MAMDAS – Software Development Unit, Air Force, IDF, Israel [email protected], [email protected]
Abstract. 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 Introduction System analysis and design are basic activities in software development. Traditionally, they are carried out by a separate group of practitioners, who gather the system requirements, analyze them and prepare the specifications documents to be handed to the development group. In large-scale software projects these activities are highly significant. The agile development methods [6] and specifically Extreme Programming (XP) [1, 2] introduce a change in the software development environment. For example, working according to primary practices of XP, the team Sits Together while implementing ∗
This chapter is based on the following paper: Dubinsky Y., Hazzan O., Talby D., and Keren A.: System Analysis and Design in a Large-Scale Software Project: The Case of Transition to Agile Development. In the 8th International Conference on Enterprise Information Systems (ICEIS), Paphos, Cyprus (2006).
Y. Manolopoulos et al. (Eds.): ICEIS 2006, LNBIP 3, pp. 281–292, 2008. © Springer-Verlag Berlin Heidelberg 2008
282
Y. Dubinsky et al.
the notion of Whole Team, which means that role holders, such as the system analyst, work with the other role holders – developers, testers and team leaders. These work habits are introduced to foster communication among teammates. A natural question to be asked at this point is: How can we deal with these notions in a large-scale project? Should system analysts need to Sit Together with the d
Data Loading...