Desarrollo interno de proyectos de software con
equipos maduros: estimación de esfuerzo y provisión de recursos en equilibrio
Insourcing software projects with mature teams: effort
estimation and resource provision at equilibrium
María-Guadalupe Medina-Barrera[1], Rosa
María Cantón Croda[2],
Damián Emilio Gibaja-Romero[3]
La Estimación de
Esfuerzo (EE) es crucial para la planeación de proyectos de software toda vez
que contribuye al logro de objetivos. Sin embargo, la EE es un proceso complejo
aún en las metodologías ágiles debido a los factores ambientales y
estructurales que se encuentran presentes durante la interacción entre el equipo
de desarrollo y su líder. Para hacer más sencillo el proceso de EE, las
compañías prefieren el desarrollo interno con equipos maduros y un líder que
provea recursos. Modelamos la interacción entre el líder y el equipo de
desarrollo como un juego líder-seguidor para entender como ambos se comportan
en equilibrio. Después, comparamos las estrategias en equilibrio del líder y
del equipo de desarrollo al momento en que intercambian sus roles. Nuestros
resultados principales proveen condiciones que garantizan la unicidad de las
estrategias en equilibrio, y mediante ejemplos numéricos ilustramos el impacto
de las variables exógenas sobre las estrategias en equilibrio.
Palabras clave: Desarrollo de
software ágil, estrategias óptimas, estimación de esfuerzo, Scrum.
Effort
estimation (EE) is crucial for planning software projects since it contributes
to delivery goals. Nevertheless, even in agile methodologies, EE is a complex
process due to environmental and structural factors surrounding the interaction
between the leader and the development team. To simplify EE, companies prefer
insourcing development with a mature team and a leader that provides resources.
We model the interaction between the leader and the development team as a
leader-follower game to understand how they behave at equilibrium. Later, we
compare leader and development team equilibrium strategies when they
interchange their roles. Our main results provide conditions that guarantee the
uniqueness of equilibrium strategies, and we illustrate the impact of exogenous
variables on equilibrium strategies through numerical examples.
Keywords: Agile software development,
optimal strategies, effort estimation, Scrum.
Scrum is the most widely
used framework for agile software development (Digital.ai, 2020; Mutiullah et al., 2018; Fustik,
2017; Usman, Mendes & Börstler, 2015). In such a
context, effort estimation is fundamental in Scrum since it is necessary
for planning a sprint, which is a development cycle (Azanha,
Argoud, Camargo Junior & Antoniolli,
2017). However, such a process remains challenging because there is a mutual
dependence between the scrum master and the development team. On the one
hand, the scrum master aims to produce the highest business value in
each sprint. On the other hand, the team wants to maximize its profits
by exerting some effort. Hence, Scrum is a cycle development that casts
similarities with principal-agent problems, where uncertainty is attributed to a
lack of communication between the leader and the team (Eisenhardt, 1989). Consequently,
companies often prioritize insourcing development with mature teams because agents
know each others’ abilities and expertise under such
a structure (Paramanantham, Nizam & Eissa, 2019; Omar,
Bass & Lowit, 2016). Also, companies have control
over their products and services (Chudzicka, 2013),
which is necessary for businesses based on technology and innovation (Naik,
2016).
Despite the
advantages of insourcing development with mature teams, EE is not an easy task
because it is a complex process where agents face structural deficiencies and
pursue different objectives (Popli & Chauhan,
2014). In this paper, we perform numerical simulations concerning the behavior
of the scrum master and the development team at equilibrium. The simulated
strategies are based on Medina-Barrera et al. (2022), which analyzes a
leader-follower interaction between the scrum master (who provides resources
during the first stage) and the development team (that exerts effort in the
second stage). Later, they analyze two alternative scenarios where i) agents exchange their roles and ii) an additional
meeting is considered. Our main contribution relies on showing the impact of
parameters’ variations on equilibrium strategies.
In recent years, the
importance of software development analysis has increased since digital
solutions diminish costs and increase efficiency. So, digital solutions are
increasingly required in social and economic activities. However, development
teams struggle to cope with delivery given the complexity of software projects
and their increasing demands, which saturates development teams (Brem, Viardot & Nylund, 2021). So, effort estimation and resource
provision are crucial for planning software projects and achieving successful
results (Mohagheghi & Jørgensen,
2017; Arias et al., 2012). We observe
that effort and resources at equilibrium increases as the players are more skilfull but the interaction structure reduces the
resources at equilibrium when the scrum master is the leader; We also observe decreasing
marginal returns finding a point where expending more effort becomes
inefficient.
This paper is organized into fifth sections, as
follows. The second section explains how a software project development is
planned under the Scrum context. The third section presents the
game-theoretic model of Medina-Barrera, et al. (2022) for effort estimation and
resource provision in Scrum projects. Also, we describe the variations
of such a model. The fourth section shows some numerical examples, and we
derive strategies for managing software projects. Finally, the conclusions are
exposed in the last section.
Scrum develops software projects by carrying them out
incrementally; in other words, the customer receives partial deliveries
following planned scheduling. From the product owner, the scrum master gets the product backlog, a
prioritized list with k user stories1
describing customer requirements that the team must develop (see block A in
Figure 1). So, the scrum master splits the project into parts and
establishes the number of partial deliveries and their features, such as how long they will take and the
deliveries’ objective, which are the project’s parts of being built in such a
delivery.
Figure
1
Events
around the EE game under Scrum context
Source. Own elaboration.
It is worth recalling
that user stories’ priority2 is
agreed with the customer based on its business value. Thus, the development
team should address the highest priority user stories in the product backlog
first. Then, the team estimates the size of each user story through story
points3 that compose scrum cycles, also known as time-boxed
(Torrecilla-Salinas et al., 2015). Afterward, the
team communicates its iteration velocity v to the scrum master;
v represents the number of stories the team can develop in a time t.
The scrum master
can fit the velocity v if he has historical data from similar projects
developed by the team. Besides, it is necessary to set a tolerance range
Later, when the first
sprint starts, the strategic interaction between the scrum master and the
development team emerges since each of them pursues their maximum benefit. Let
us explain this point. On the one hand, the scrum master aims to produce
the highest business value during the time interval
It is worth
mentioning that v indirectly summarizes the team’s abilities because the
velocity points out the team’s productivity at each iteration. So, v
should be updated at the end of each iteration, while the job must be
re-estimated for the next delivery. In such a way, each iteration represents a
new conflict since v reflects the team’s current development capacity.
Given the previous discussion, this paper analyzes a single sprint with a fixed iteration
velocity v. The set of players is
The set of DT’s
actions is
Players are
characterized by a behavior type that summarizes interpersonal skills and
impacts their decision-making (Ramos & Vilela Junior, 2017). The DT’s
type
Players’ benefits are
mutually dependent since exerting effort requires resources, while providing
resources needs coping with stories. So, SM’s benefits depend on the DT’s
effort, and the DT’s benefits depend on the SM’s support. On one
side, we consider that SM provides DT with basic infrastructure
We define players’
benefits as the difference between revenues and costs. We denote the benefits
of the development teams and the scrum master as
To describe the
previous functions, we first consider that the DT gets a monetary income
Players in
Players interaction
The impact of SM’s
resources on DT’s effort varies according to how they are deployed during the sprint.
Hence, it is crucial to establish user stories’ complexity in the sprint
backlog and all the impediments and conflicts hindering their construction.
Therefore, the Scrum framework outlines the following events around the sprint:
1.
The planning meeting,
2.
The daily meeting,
3.
and the retrospective
meeting.
During daily
meetings, members of the development team answers questions like
-
What have you done since yesterday?
-
What are you going to do today? and
-
Do you have any impediment that is not allowing you to
advance?
Besides, the SM
may monitor DT’s happiness during the retrospective meeting by asking
questions like
-
How happy are you at your job role?
The SM’s main
goal is to identify whether DT is facing issues or conflicts and their
impact on completing the sprint backlog. If such impediments cannot be
overcome in the current iteration, SM can decide to abort it and to
re-plan it. In such a case, both players would receive null payoffs (
These procedures are
recommended patterns for developing Scrum projects whose responsibility
lies with SM (Sutherland, Harrison & Riddle, 2014).
The previous meeting
classification also sets up different scenarios for the interaction between the
SM and DT. We formalize such scenarios as sequential games since DT
and SM do not simultaneously unfold their activities. Given a fixed sprint backlog
Scenario 1
The scrum master and the development team take the role of leader and
follower, respectively. Thus, we have the following two-stage game:
Stage 1. The SM
chooses the additional resources
Stage 2. The DT
observes resources that SM provides in the previous stage. Later, DT
establishes the effort
The number of resources
SM provides to DT is
Figure
2
Scenario
1: Sprint planning
Source. Own elaboration.
Scenario 2
In this scenario, the
players exchange their roles. Now, the development team is the leader, while
the scrum master is the follower. So, the game proceeds as follows:
Stage 1. The DT
establishes the effort
Stage 2. The SM
observes the effort that the DT exerts in the previous stage and chooses
the additional resources
In this scenario, SM
behaves as part of the team by providing resources. Such an interaction results
from close communication between them in the daily meeting to identify and
eliminate obstacles during the iteration (see figure 3). We can say that the SM
actively collaborates with DT to accomplish the sprint’s goals. Then,
besides the basic infrastructure K, SM provides additional
resources r required by DT to remedy conflicts arising during the
sprint. Such resources may include upgraded equipment, maintenance, training,
exit permissions, and free time for recreation.
Figure
3
Scenario
2: Daily meeting
Source. Own elaboration.
Scenario 3
In the last scenario we consider, the scrum
master intervenes in two stages. So, there is a
planning meeting where SM provides initial resources and a retrospective meeting after the teams
exert effort where the SM offers additional resources. Formally, the previous interaction is the
next sequential game:
Stage 1. The SM chooses
the initial resources
Stage 2. The team observes
resources
Stage 3. After the DT exerts
effort, the SM observes the sprint’s state. So, SM provides
additional resources
Then, the third
scenario describes a scrum interaction where the SM actively
participates before, during, and after the sprint. In other words,
during the sprint planning meeting, SM identifies and eliminates
obstacles that DT may face. Finally, in the retrospective meeting, SM
identifies the main impediments to completing the sprint. Thus, the last
meeting requires collaboration with the DT since the SM observes
the team effort. Suppose the SM and the DT identify complex tasks. In that case,
the discoveries are inserted as the highest priority user story on the
subsequent sprint backlog (see figure 4), which is a designed pattern to
scale results (Sutherland, Harrison & Riddle, 2014). In summary, the DT
receives the basic infrastructure K and initial resources
Figure 4
Scenario
3: Retrospective meeting
Source. Own elaboration.
Finding the optimal strategies at equilibrium
It is worth emphasizing
that SM and DT follow rational and strategic behavior during the
sprint since both choose strategies that maximize their benefits. Still, each
other decisions also impact their gains. The solution concept we study is the
Subgame Perfect Nash Equilibrium to avoid non-credible strategies from both
agents while coping with the sprint’s goals. For DT, we use
Medina-Barrera et al.
(2022) get the equilibrium strategies through a backward induction under which each
sequence of events is resolved from the last to the first stages. In other
words, such a process first computes the equilibrium strategies at the final
stage, and such a strategy is used to solve the previous stage. Since a single
player makes decisions at each stage, equilibrium strategies solve a
maximization problem, i.e., we apply the first- and second-order conditions.
In this section, we perform some numerical
examples to show how the equilibrium strategies (
The impact of DT’s experience and SM’s flexibility
In this example, we
analyze the relationship between the equilibrium strategies (
Figure
5.
Changes in
Source. Own elaboration.
Table 1
Players’
best strategy and payoffs as
Scenario |
r* |
|
e* |
|
DT’s low experience |
||||
1 |
0.0028 |
2.6367e-05 |
0.0014 |
1.9775e-06 |
2 |
0.0018 |
3.5156e-05 |
0.0014 |
6.5917e-07 |
3 |
0.0018 |
6.6796e-05 |
0.0014 |
6.5917e-07 |
DT’s average experience |
||||
1 |
0.3515 |
0.0823 |
0.8789 |
0.1544 |
2 |
0.2343 |
0.1098 |
0.8789 |
0.0514 |
3 |
0.2343 |
0.1647 |
0.8789 |
0.0514 |
DT’s high experience |
||||
1 |
2.8125 |
2.6367 |
14.0625 |
19.7753 |
2 |
1.875 |
3.5156 |
14.0625 |
6.5917 |
3 |
1.875 |
3.5156 |
14.0625 |
6.5917 |
Source. Own elaboration.
We note that players’
types have a different impact on players’ strategies and payoffs. SM’s strategy
and payoff increase as her profile becomes more flexible. The effort of DT at
equilibrium increases as the DT is more skillful; as a consequence, its payoff
also increases. Interestingly, the interaction structure reduces the resources
that SM provides at equilibrium when SM is the leader. On the contrary,
players’ payoff increases while they occupy the follower position. Thus, SM can
take advantage of the interaction structure where he participates as a leader
and follower by deciding how much support provide to DT in each intervention.
Such a scenario increases the SM’s benefits, avoiding the waste of resources.
These results show the advantages of holding retrospective and daily meetings
to boost the sprint results.
Equilibrium strategies under variations on the Spring backlog complexity
and environmental stability
Now, we analyze
equilibrium when the sprint backlog complexity and the environmental change.
So, we illustrate the impact of changes
Figure
6