Abstract
In recent years, agile methodologies have gained popularity due to their ability to accommodate volatile requirements, focus on collaboration with the customer and support early product delivery. These agile methodologies propose a set practices and principles that if applied, have the ability to theoretically produce improved software quality under time pressure and in an unstable requirements environment. However there are still challenges seen in real life scenarios within software organizations that are transitioning from traditional methods to agile development methods.
This research sought to understand the practices and principles that should be put in place during agile implementation, and assessed how these practices and principles contributed to the acclaimed agile software quality according to literature. By researching agile implementation requirements through mandatory practices and principles, roles and responsibilities pre-requisites, it is possible to benchmark a certain company’s agile adoption success by comparing adopted practices with the recommended practices.
The literature review showed that many of the practices and principles advocated by agile are extremely quality oriented. Practices such as automated developer testing, test-driven development, user stories, backlog grooming and pair programming contribute to improving software functional quality while practices such as refactoring, continuous integration and simple design contribute to software structural quality. It also revealed that, beyond technical practices, team spirit and social factors such as team spirit and communication practices are important in ensuring successful implementation of agile development. However, it highlighted challenges and underlying assumptions that are native to agile methods practices and principles which could be seen as an explanation to why some companies struggle to improve their software quality, even after agile has been implemented...
M.Ing. (Engineering Management)