Main Article Content
Investigating the Support for Agility in Developing Government Software Systems: A Case of Three East African Countries
Abstract
Agile Software Development Methods support an iterative and incremental way of developing software systems while responding to change by prioritising various aspects at different times. This differs from traditional sequential methods like Waterfall, in which one software development stage has to be 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, despite such 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 documents from 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.