Program management practices in context of Scrum : a case study of two South African software development SMMEs
Agile approaches have proliferated within the software development arena over the past decade. Derived mainly from Lean manufacturing principles, agile planning and control mechanisms appear minimal and fluid when compared to more traditional software engineering approaches. Scrum ranks among the more popular permutations of agile. Contemporary literature represents a rich source of contributions for agile in areas such as practice guidelines, experience reports, and methodology tailoring; but the vast majority of these publications focus on the individual project level only, leaving much uncertainty and persistent questions in the multi-project space. Questions have recently been raised, by both academics and practitioners alike, concerning the ability of Scrum to scale from the individual project level to the multi-project space. Program management is an area encompassing practice and research areas concerned mainly with harmonizing the existence of competing simultaneous projects. Existing literature on program management essentially perceives projects as endeavours that can be carefully planned at the outset, and controlled in accordance with strong emphasis placed on economic and schedule considerations. This complexion seems to be mostly a result of well-established and ingrained management frameworks like Project Management Institute (PMI), and is largely at odds with emerging practices like Scrum. This disparity represents a gap in the literature and supports the need for deeper exploration. The conduit for this exploration was found in two South African software development small to medium sized enterprises (SMMEs) practicing Scrum. The practical realities and constraints faced by these SMMEs elicited the need for more dynamic program management practices in support of their quest to maximize usage of limited resources. This thesis examines these practices with the aim of providing new insights into the program management discourse in the context of Scrum software development environments. The research approach is qualitative and interpretive in nature. The in-depth exploratory case study research employed the two software SMMEs as units of analysis. Traditional ethnographic techniques were commissioned alongside minimal researcher participation in project activities. Activity Theory honed the data analysis effort and helped to unearth the interrelationships between SMME characteristics, program management practices, and Scrum software development. The results of the data analysis are further refined and fashioned into eleven knowledge areas that represent containers of program management practices. This is the product of thematic analysis of literature and data generated from fieldwork. Seeing as the observed practices were highly dynamic in nature, concept analysis provided a mechanism by which to depict them as snapshots in time. As a theoretical contribution, proposed frameworks were crafted to show how program management practices might be understood in the context of organizations striving towards agile implementation. Furthermore, representations of the mutually influential interfaces of SMME characteristics and Scrum techniques that initiate the observed fluid nature of program management practices, are brought to the fore.