Software quality assurance in scrum projects: a case study of development processes among scrum teams in South Africa
MetadataShow full item record
The use of Information and Communication Technology (ICT) in business has evolved to such an extent that many organizations (if not all) rely on Information Technology (IT) systems to better manage their processes, get competitive advantage, improve performance (efficiency and effectiveness), provide quality services on time and most importantly to keep customers happy. This has changed the way people communicate and conduct businesses, lowering processing cost, time and improving a return on investment. Therefore, high quality software systems are essential. Organizations adopt Agile Scrum methodologies in order to develop applications that help them to obtain a return on investment quickly, to improve customer satisfaction and to maintain competitive advantage. However, the IT industry is yet to develop error-free software that meets the expected quality standards. Therefore, the aim of this study was to explore the extent to which software quality assurance measures can be understood and applied to maximize the quality of software projects developed under Scrum methodology. A qualitative research method informed by an interpretive approach was used to collect and analyse data. Following the purposive sampling technique, five Scrum teams operating in different environments and two academics from one academic institution were interviewed. Structuration Theory (ST) was then used as an analytical framework to analyse data and to improve the understanding of Scrum practices and related quality assurance (QA) processes. Drawing on the major terms of ST, the contextual terrain of the Scrum development process was mapped. It reflected that rules are important aspects of Scrum functions. However, rules are not as strictly applied as in the traditional methodologies. The developer skill, project type and size have a direct influence on the practice/s. In Scrum, rules are flexible in that they can be modified to meet the environment and conditions of the team. Equally significant are resources, most particularly, time and the human resources in the form of developers and Scrum leaders. Otherwise, unit testing, user acceptance testing, close collaboration and code reviews were perceived as the most important practices in Scrum projects. In view of the findings, recommendations can be summed up into 4 main points; (1) that to ensure quality assurance in Scrum, Scrum teams, especially team leaders, should enforce compliance to standards, regardless of time pressures and tight deadlines; (2) It seems that the practice of working with the client to test final products as a quality assurance mechanism is working for all parties. This practice is encouraged and must be maintained; (3) Code reviews must be enforced, and that organisations invest in resources including the constant training of developers; (4) Project product owners, project managers, team leaders and business analysts should regularly meet with the user to verify requirements prior to the implementation phase. Active stakeholder involvement can minimize development costs and time.