UserPreferences

AgileResearchAtGaState


Research and Teaching in Agile Software Development at [WWW]Georgia State University

There are strong research and teaching interests in Agile software development in Atlanta. Researchers in the Department of Computer Information Systems in Georgia State University are conducting research on various aspects of agile development. CIS department is the largest department focusing exclusively on information systems studies in the United States. It has received considerable recognition over the years and has been ranked as the top 10 IS programs in the country.

Agile methods have been introduced to the students in Georgia State University for several years. It has been discussed in courses on system analysis, system design, project management in undergraduate and graduate level. A programming class follows XP approach in a class project. Andrew Fuqua has been invited to give presentations to the class every semester since Fall 2003.

The recent research activities on agile development include:

1. A set of agile development principles have been proposed based on a discovery colloquium [1]. Also, based on a study of software development practices in multiple U.S. Internet software development companies, they have identified a set of Internet speed development practices. They compare the agile principles to traditional software development principles, and with Internet speed software development practices. They also compare the practices and principles that were identified by their study with the principles proposed in the agile manifesto, which characterizes the values of agile methods and how agile methods distinguish themselves from traditional methods.

2. They are conducting a Delphi study [2] to investigate the effectiveness of agile methodologies and their applicability across a wide spectrum of projects. The Delphi method is a structured, multi-pass group decision process developed to address research problems based on the opinions of the panelists. The panel they targeted includes experts who have both knowledge of agile methods and experiences in agile development. Their goal in this research is to explore the following features of agile methods: 1) the context, 2) the challenge on project management, 3) the applicability, and 4) the limitation of agile methods. By doing so, it is aimed to gain a deep understanding of agile methodology and its applicability in software development. This understanding can be used to guide further research on this issue as well as help practitioners to make informed decisions on the use of agile methods.

3. They have conducted an exploratory study investigating the impact of some critical practices used in agile methods including pair programming, short iteration cycles, and evolving design. Using a student project conducted over a period of nine weeks that implemented these practices, they collected qualitative data on the use and effectiveness and use of these practices. Some interesting findings have been discussed in [3]. For example, they found that depending on the pairing combination used, the effects of pair programming can be both positive and negative.

4. They have conducted a case study [4] on application of XP on large-scale, complex software. Based on the case study, the key differences between agile principles proposed in prior literature and the agile practices that are suitable for large-scale, complex software development are highlighted. A general guidelines on tailoring agile development methodologies to make them suitable for the development of large, complex software systems is proposed

5. A Ph. D student is working on her dissertation research in simulating agile process using system dynamics. An integrated simulation model will be built based on extensive literature review and field data collected from agile projects. By explicitly modeling the variables in a agile project, and more important, the interactions between those variables, the mode will examine basic assumptions such as the constant cost of change, and the benefit of pair programming and the impact of customer involvement quantitatively [5].

Reference:

1. R. Baskerville, B. Ramesh, L. Levine, J. Pries-Heje, and S. Slaughter, "Is Internet-Speed Software Development Different?" IEEE Software, vol. Sep, 2003.

2. Ramesh, B. , Cao, L., Lyttinen, K., Baskerville, R. “A Delphi Study on Agile Software Development Process”, Working paper, 2004.

3. Cao, L., Ramesh, B. “An Exploratory Study on the Effects of Pair Programming”, 8th Conference on Evaluation and Assessment in Software Engineering (EASE). May 2004, Edinburgh, UK.

4. Cao, L., Mohan, K., Xu, P., and Ramesh, B. "How Extreme Does Extreme Programming Have to be? Adapting XP Practices to Large-scale Projects," Proceedings of the 37th Annual Hawaii International Conference on System Sciences (HICSS'04), Hawaii, 2004.

5. Cao, L. “Modeling Dynamics in Agile Software Development”, Ph. D Dissertation, ongoing.