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.