Investigating the Support for Agility in Developing Government Software Systems: A Case of Three East African Countries - Binamungu, Leonard Peter; Mahundi, Masoud (Tanzania Journal of Engineering and Technology, 2023)
Agile Software Development Methods support an iterative and incremental way of developing software systems while responding to change by prioritising various aspects atdifferent times. This differs from traditional sequential methods like Waterfall, in which one software development stage has tobe completed before starting the next stage. To produce software systems that meet the requirements of their institutions, several governments in Africa have issued standards and guidelines to be followed during the development of government software systems.Such standards and guidelines specify the specific activities and deliverables for each stage of software development. While well-intentioned, such guidelines and standards can also hinder creativity and innovation which could be key to producing good quality and sustainable software systems. Given the degree of leniency that they offer, Agile methods could give room for such creativity and innovation among team members. However, despitesuch good potential in Agile methods, the literature lacks evidence regarding if and how the software development guidelines and standards issued by several African governments support agility. Various documentsfrom three East African countries were reviewed, to determine if and how they support for agility during the development of government software systems. Guidelines and standards were reviewed using the lens of four Agile Values stated in the Agile manifesto. Results show the following: there is a marked lack of support for agility during the development of government software systems; the standards and guidelines are generally characterised by excessive micromanagement of the development process, leaving little or no room for innovation and creativity amongst members of the development teams; and the guidelines seem to assume uniformity across development projects, irrespective of the fact that software development projects can vary depending specific contextual dictates. Furthermore, recommendations on how governments can adopt and support agility during software development are provided. Keywords: Agile software development, government software systems, support for agility, agile project management, agile implementation