Looking at software engineering from a historical perspective, we can see how software development methodologies have evolved over the past 50 years. Using the right software development methodology with the right settings has always been a challenge. Therefore, there has always been a need for empirical evidence about what worked well and what did not, and what factors affect the different variables of the development process. Probably the most noticeable change to software development methodology in the last 15 years has been the introduction of the word “agile”. As any area matures, there is a need to understand its components and relations, as well as the need of empirical evidence about how well agile methods work in real life settings. In this thesis, we empirically investigate the impact of agile methods on different aspects of quality including product quality, process quality and stakeholders’ satisfaction as well as the different factors that affect these aspects. Quantitative and qualitative research methods were used for this research, including semi-structured interviews and surveys. Quality was studied in two projects that used agile software development. The empirical study showed that both projects were successful with multiple releases, and with improved product quality and stakeholders’ satisfaction. The data analysis produced a list of 13 refined grounded hypotheses out of which 5 were supported throughout the research. One project was studied in-depth by collecting quantitative data about the process used via a newly designed iteration monitor. The iteration monitor was used by the team over three iterations and it helped identify issues and trends within the team in order to improve the process in the following iterations. Data about other organisations collected via surveys was used to generalise the obtained results. A variety of statistical analysis techniques were applied and these suggested that when agile methods have a good impact on quality they also has a good impact on productivity and satisfaction, also when agile methods had good impact on the previous aspects they reduced cost. More importantly, the analysis clustered 58 agile practices into 15 factors including incremental and iterative development, agile quality assurance, and communication. These factors can be used as a guide for agile process improvement. The previous results raised questions about agile project governance, and to answer these questions the agile projects governance survey was conducted. This survey collected 129 responses, and its statistically significant results suggested that: retrospectives are more effective when applied properly as they had more impact when the whole team participated and comments were recorded, that organisation size has a negative relationship with success, and that good practices are related together as when a team does one aspect well, they do all aspects well. Finally, the research results supported the hypotheses: agile software development can produce good quality software, achieve stakeholders’ satisfaction, motivate teams, assures quick and effective response to stakeholder’s requests, and it goes in stages, matures, and improves over time.
Identifer | oai:union.ndltd.org:bl.uk/oai:ethos.bl.uk:518561 |
Date | January 2009 |
Creators | Abbas, Noura |
Contributors | Gravell, Andrew ; Wills, Gary |
Publisher | University of Southampton |
Source Sets | Ethos UK |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Source | https://eprints.soton.ac.uk/158357/ |
Page generated in 0.0124 seconds