Figure 2. The overall framework of PD (orange) and mitigation strategies(green).
We propose an overall PD conceptual framework (Figure 2) where all the key elements and their relationships are visible (RQ1). This is a high-level model, and additional details about the entities and connections are explained in our findings according to the various RQs. Also, a preliminary framework (without the mitigation strategies) is provided in our previous study [24].
An optimal process is either designed or has emerged in the organization, usually depending on their culture and practices (some companies have a top-down, usually more formal, approach to defining processes, while others have a more bottom-up approach, where processes emerge from the needs of the stakeholders). Optimal processes are usually defined in terms of an optimal tradeoff among stakeholders.
We define an optimal process and tradeoff here as the one that gives the most value to the involved stakeholders. However, it is likely that, in practice, the optimal process recognized by an organization would still not be a theoretically optimal one, but rather the best option recognizable by the organization . When we refer to an optimal process in the rest of this paper, we refer to this latter one and not a theoretical one. For example, a company working with a perfectly functioning waterfall approach (in theory) might have debt if they could identify that Agile would be superior in their context.
An optimal process can be subject to PD and its accumulation according to three high-level accumulation patterns : in other words, there are three main distinguishable ways in which PD usually occurs. The presence of PD generates consequences (often in terms of negative effects) that affect the stakeholders, balancing the tradeoff and making the process sub-optimal . Consequences can be short-term or long-term: in the first case, PD generates an initial waste , which can be reduced and mitigated, but can also develop intolong-term consequences.
Several causes trigger the PD accumulation patterns to happen (discussed in section XXX). The starting point responsible for the accumulation of PD is either a process designer (who has created the process with a sub-optimal design ) or a process executor (who hasdiverged from the decided process ). In addition, the main source of PD can be a sub-optimal infrastructure . When a process emerges, often the process designer and executor can be the same, and in such cases, PD often occurs because of an involuntary sub-optimal design.
PD can be identified by a type: this can be a sub-optimal aspect of the process (role, documentation, synchronization with other processes etc.) or by a specific sub-optimal activity (this can depend on the specific activities that the process is composed of, for example is it a code review step, prioritization, etc.,). A combination of aspects and activities can also be used, for example “lack of prioritization roles”.
The negative effects of PD can be reduced by applying mitigation strategies . These can be applied by developers and managers, but such mitigation strategies are costly and need to be prioritized based on some key factors.
To prioritize mitigation strategies for PD one needs to assessand estimate the interest (the cost of negative consequences), the principal (the cost of changing the process) and thevalue for the stakeholders . When promoting a change to mitigate a specific PD, organizations need to take into consideration these three variables and weigh them taking into consideration the costs and benefits of applying such mitigation strategy with respect to implementing other strategies instead or just continue developing features.
For example, it is possible that changing a prioritization process would be costly but would also mitigate several negative consequences, while changing a code review process for a specific team would not cost much and would give limited benefits. Often managers and developers need to prioritize either of the two (for example, because of project resource constraints). Let’s assume that the prioritization process could give a much higher value to the stakeholders than the review process, the former one should be prioritized.
It is important to notice that the prioritization of mitigation strategies also depends on other factors that are not PD specific, but can be constraints of a specific project, such as resources and time-span. Such factors are already well-known from the literature on SPI and are often context-specific, so we do not report them in our framework for the sake of simplicity, but they would need to be taken into consideration when PD is assessed.