Introduction
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.
Product planning
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.
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.
The EE game model
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:
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
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
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.
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
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.
Numerical examples
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 (
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
Scenario | r* |
|
e* |
|
---|---|---|---|---|
Low sprint backlog complexity | ||||
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 |
Average sprint backlog complexity | ||||
1 | 0.2835 | 0.0377 | 0.2835 | 0.0402 |
2 | 0.1890 | 0.0503 | 0.2835 | 0.0134 |
3 | 0.1890 | 0.0503 | 0.2835 | 0.0134 |
High sprint backlog complexity | ||||
1 | 0.0520 | 0.0020 | 0.0260 | 0.0006 |
2 | 0.0346 | 0.0027 | 0.0260 | 0.0002 |
3 | 0.0346 | 0.0027 | 0.0260 | 0.0002 |
Source. Own elaboration.
In Figure 6, we generally observe non-linear behaviors, meaning that marginal effects depend on the relationship between the interaction’s parameters. In other words, there is no negative or positive relationship since exogenous factors are not independent between them. Interestingly, we observe an inverse U that illustrates decreasing marginal returns in most cases. There is a point where the sprint reaches its maximum results, at which expending more effort becomes inefficient. We can say that too much stability and simplicity can discourage people from striving. In contrast, extremely complex projects developed in an excessively turbulent environment can also put people off.
Results and discussion
In this work, we model the effort estimation process in a Scrum context as a leader-follower game where players have complete information about each other. Given the importance of effort exertion to complete software projects under insourcing development, we study the interaction between a scrum master and a mature development team when they know the attributes and capabilities of each other. In such a game, the scrum master provides resources while the development team exerts effort. Later, we compare leader and development team equilibrium strategies when they interchange their roles. Our results provide conditions that guarantee the uniqueness of equilibrium strategies. We also find that equilibrium effort is the same regardless of the game structure we consider. At the same time, the scrum master has the opportunity to diminish the number of resources that she provides when she behaves as a follower. Interestingly, being a follower provides a larger payoff than being a leader for both the scrum master and the development team. We think this could provide useful insights for agile software development environments since servant leadership may reduce the waste of resources, as the third scenario suggests.
Conclusions
This work presents a game-theoretical model to find the optimal leader-team strategies in the EE process in a Scrum context. Since EE is crucial to accomplish software projects in insourcing environments, we consider mature teams; the parties involved know each other’s abilities. By analyzing three different scenarios, we find that players’ strategies at equilibrium increase when the environment is stable, the team experience, and the leader flexibility are high. Meanwhile, players’ strategies decrease as the sprint backlog becomes more complex. Therefore, team velocity accelerates when the sprint backlog is simple, the environment is highly stable, and the leader and the team are skillful. Here, the leader has a strategic role in achieving the sprint goals by supporting the team through the scrum meetings.