Requirements Prioritization in Scaled Agile Distributed Software Development
| aut.embargo | No | |
| aut.thirdpc.contains | No | |
| dc.contributor.advisor | Clear, Tony | |
| dc.contributor.advisor | Lal, Ramesh | |
| dc.contributor.author | Antil, Priyanka | |
| dc.date.accessioned | 2023-08-21T22:28:19Z | |
| dc.date.available | 2023-08-21T22:28:19Z | |
| dc.date.issued | 2023 | |
| dc.description.abstract | Context: The adoption of Agile methods has altered how Requirements Engineering (RE) is understood in development. Agile RE, for example, is a continuous and incremental process. There is a substantial amount of work being conducted with regards to Agile RE (Dikert et al., 2016; Inayat et al., 2015). The adoption of Agile RE practices in large-distributed software development is a recent trend. However, study on RE in Scaled Agile Distributed Software Development (SADSD) is growing, but little is known about requirements prioritization in SADSD, a decision-making process which plays a significant role in the successful development of software products. The motivation and gap emerged via Multi-vocal Literature Review (MLR) study that was conducted to understand the current state of art of RE in SADSD. Aim: The overall aim of this research study was to provide an in-depth understanding of how requirements prioritization may be done in scaled agile distributed software development. Research Methodology: To attain the aim of this research study, qualitative interpretive exploratory case study research methodology was adopted. Two large-distributed organizations (one from New Zealand, another was from Australia), employing Agile practices at the enterprise level, were studied. A corpus of data was collected via semi-structured interviews with practitioners (who were dispersed by location, function, and hierarchy), recordings of key decision-making events, requirements artefacts. An evolving strategy for the analysis of case study data was undertaken, primarily grounded within the data (i.e., grounded theoretic analysis) and complemented via deductive analysis. Thus, rich in-depth understanding of phenomena of interest is achieved. Findings: The obtained results show that requirements prioritization occurs at various levels in scaled agile distributed software development. The findings indicated that, there are typically three key decision-making levels where prioritization of requirements is performed. These typically occurred in the form of inter-iteration and intra-iteration prioritization: (i) portfolio level where business goals that connect with an organization’s overall business strategy are decided and prioritized as well as High-level Requirements (HLRs) that are needed to achieve them are formally signed-off and prioritized. (ii) domain level, two-fold role where in the first part, initial evaluation of HLRs is performed and submitted to portfolio level for formal decision-making. On the other hand, in the second part, Intermediate-level Requirements (ILRs) are decomposed from HLRs and priorities across teams are decided to implement them via short development cycle (e.g., 2 weeks). (iii) team level where Low-level Requirements are decomposed from ILRs wherever needed, and priorities are decided for the individual delivery teams. At all these decision-making levels, required prioritization activities occurred that are not clearly separated. Instead, activities are highly integrated and occurred with varying details, for example levels of requirements abstraction, decision-making events, roles and responsibilities of decision-makers. Another key finding of this research study is boundary spanning mechanisms that typically include boundary spanning event(s), boundary spanning requirement artefact(s), boundary spanner role(s), which primarily occurred when requirement prioritization decisions, are made at inter-iteration (i.e., portfolio level, second part of domain level). However, boundary spanning mechanisms partially occurred during intra-iteration prioritization as well, that typically yields knowledge acquisition, negotiation, consensus building, and conflict resolution, which are the key activities typically needed while making decisions on priority requirements. Conclusions: This research study provides implications for both practice and theory by providing an in-depth understanding of the requirements prioritization process in SADSD. As an outcome, a conceptual framework has been developed that has the potential to be applicable in the contexts similar to the organizations that were studied in this research study. Recommendations for the researchers have been given to replicate and/or enhance the findings of this research study by conducting further research in a similar context and/or different context. | |
| dc.identifier.uri | http://hdl.handle.net/10292/16580 | |
| dc.language.iso | en | |
| dc.publisher | Auckland University of Technology | |
| dc.rights.accessrights | OpenAccess | |
| dc.title | Requirements Prioritization in Scaled Agile Distributed Software Development | |
| thesis.degree.grantor | Auckland University of Technology | |
| thesis.degree.name | Doctor of Philosophy |
