You are on page 1of 5

Cost Estimation and Budget Techniques for Scrum Practices

Abstract—The expansion of software services and global con- • Individual and interactions over process and tools.
nectivity has pushed the requirements for software deve- • Working software over comprehensive documenta-
lopment projects. This new level of demands can lead to tion.
changes in the scope and deliverables of the project, causing • Customer collaboration over contract negotiations.
a direct impact on the budget and time tables. The use of • Responding to change over following a plan.
newer methodologies for software development, referred as
Agile methodologies, like the case of Scrum, focuses on the
development team to provide the functionality in the stipulated
The main objective of these methodologies is to
time, but can suffer from increases in the overall budget. Scrum
minimize the impact of tasks that are not critical to the
success of the project. Looking aimed at increasing the
attempts to increase productivity and speed, taking under
efficiency of the project team.
consideration changes in the project’s scope and deliverables
through iterations, providing adaptability and flexibility to
Scrum, defined in the “SCRUM Development Process”
the project, but if not properly controlled, the cost of the
by Ken Shwaber [6], is one of the most popular agile
project can increase, which is one of the reasons of why many
methodologies in the world. The word Scrum, is short for
projects using Scrum fail. In this paper we propose a new
“scrummage” used in the sport Rugby, where all players get
method that supports Scrum practices, but limits its operation
their heads close together to gain the ball possession. Analog
through the estimation of what is to be invested in the product.
to the software development process, Scrum means that
Using this budget estimation, based on the necessary efforts highly productive and collaborative multidisciplinary teams
to complete the functionalities, minimizes the risk associated get together to move the project forward. Scrum is defined
with inadequate budget management. as an iterative and incremental approach to software deve-
Index Terms—Scrum; Agile; cost estimation; budget; Line of lopment, which model states a series of roles and practices
Code; LOC; FP; that specify the development process to be executed during
the project. The Scrum methodology will be explained in
more detail in Section 3.
1. Introduction In this work we study a problem that Scrum presents
where the lack of control in the project scope can impact the
In today’s world, software development has to overcome overall budget. This problem can arise because the Product
new challenges that are part of modern requirements. This Owner has too much power in Scrum (roles also defined
has spawned newer methodologies for coping with this later), so he can decide which user story has the highest
demands, or so called agile methodologies. One of the priority. By doing this, he can change the approach for the
most important characteristics in agile methodologies, is the project in every sprint. Even though the Scrum Master can
ability to make changes along the software’s development guide the Product Owner to stay focus in the priority of the
cycle. Although this can be seen as an advantage in project user stories that help the business needs, the project can get
management, it could cause problems if the appropriate out of scope, mainly the budget.
project management controls are not in place. According This new approach for the Scrum methodology, adds
to “The Chaos Report 2015” [1], 61% of software projects best practices to the management of costs and budgets.
using an agile methodology failed. This data shows that agile We must create a budget plan to create some limits of the
methodologies still present problems in practice, many of number of changes between each sprint, reducing the risk
them related to budget and project costs. of project failure. In order to estimate a budget, we must
Agile methodologies [2] are a set of good practices for limit the product and establish a budget estimate required
project management, which are used primarily for software for implementation, providing visibility to stakeholders of
projects, but nowadays not limited to them. Agile methodo- the costs to be added when requesting a change in the final
logies vary from traditional methodologies, like PMI’s PM- product.
BOK [3], [4], where they focus on people and interactions,
more than plan-oriented and activity centric like PMBOK. This paper is organized as follows. In Section 2 we dis-
Agile methodologies are based on the “Agile Manifesto” cuss the related work done in the area. Section 3 details the
[5], which is founded on a set of principles that are grouped main values of Agile Methodologies and its most important
into four values: practices. Section 4 explains the cost estimation techniques.
Section ?? introduces our approach for costs, budget and practices that specify the development process to be exe-
Scrum. Section 5 presents a comparative analysis between cuted during the project. These practices are recurrent and
our approach and the results obtained in a real world project. partial instalments of the final product providing feedback to
And finally we conclude and give our perspective in Section the customer on a regular basis. Also, due to this feedback
6. from the customer, he can make changes to the outcome of
the project, based on his needs, leading to a more accurate
2. Related Work final product. From a software development point of view,
this provides a flexible process, where deliverables can be
The literature shows that the use of Scrum and Agile prioritized and even have a functional product before the
methodologies can have an impact on costs and the overall ending of the project.
budget of the project. Many articles have raised the concern The Scrum methodology specifies the following devices
about the risks of Agile methodologies in practice [1], [2], and practices [8]. The term “Sprint”, is defined as the
[7], [8], [9], [10]. Kästner et al. [1] states that more than period of time that the development of functionalities will
half of software development projects failed, many of them take. This duration is established by the team, based on
because due to inadequate project management controls. their experience and estimates. Sprint times may vary from
The costs and budget management along the project can project to project, but usually are further catogorized in
easily become out of sight with Agile methodologies, partly short Sprints (1 to 2 weeks) and long Sprints (3 to 4 weeks).
because these are based on people and tasks, providing
speed and many deliverables for stakeholders, which is only The Scrum methodology defines the following roles:
a negative impact if they become out of budget scope. • Product Owner: Represents the stakeholders or the
D. Castilla [11] has made some insightful comparisons business side of the company and defines the func-
for hybrid project management methodologies to overcome tions and priorities of the product.
challenges that today’s projects are facing. In her disser- • Scrum Master: Is usually an expert in Scrum and
tation we can find various mixes comparisons for Agile acts as an advisor. It helps the team in the necessary
methodologies with traditional ones. Some mixes include conditions to do their jobs. Also, ensures that the
The Rational Unified Process (RUP) [12] from IBM, or methodology is implemented correctly.
Extreme Programming (XP) [13] with Scrum[6]. Also, as • Team: Responsible for implementing the
Scrum itself, it manages costs with a unique methodology functionality of the product.
called Earn Value Management (EVM) [5], which is a
popular method for measuring the performance of a project.
This functions by comparing the amount of work completed Along with the previous roles, Scrum states the follow-
with the actual amount in order to determine if the cost ing Artifacs:
and schedule performance is being executed according to
• Product Backlog: List of features to implement.
plan. From here the term has emerged AgileEVM [8], which
• Sprint Backlog: List of features in development.
seeks to control costs during project implementation for
• Burndown Chart: Measuring progress of the team.
decision-making. A drawback to this approach is that has no
management plan for costs or budget creation. Furthermore, Scrum also defines “Ceremonies” [15] that need to be
the budget to some extent creates a cap for effort, which implemented in every project:
helps keep track of how you’re using it, now on a project
where only the value on the go is calculated tends to fall • Sprint planning: The sprint planning meeting is
into scope creep, which is a risk in any project [14], where attended by product owner, ScrumMaster and the
the scope is infinite, this has several causes, which can range entire Scrum team. During the meeting the product
from customer requirements are not well prioritized to lack owner describes the highest priority features to the
of morals of a Scrum Master suggesting changes to postpone team. The team asks enough questions that can turn
the final delivery software. a high level user story of the product backlog into
In this work we follow the example of mixing techniques more a detailed task of the sprint backlog.
and methodologies and add best practices for cost and • Daily Scrum: For every day during a sprint, the
budget management, which have not been studied in depth. team holds the daily scrum meeting. This meeting
This will bring many benefits to the scientific community, typically is held in the same location, at the same
but most importantly to companies around the world. time. Is recommended to be held during the morning,
as it would help to set the context for the coming day
work. These scrum meetings are strictly time-boxed
3. Scrum Methodology to 15 minutes.
• Sprint Review: At the end of each sprint, a sprint
3.1. Scrum review is held. During this meeting, the Scrum team
shows what they what they accomplished during
Scrum is an iterative and incremental approach to soft- the sprint. Typically this takes the form of a demo
ware development. The model defines a series of roles and showing the new features of the overall project.
• Retrospective meeting: In this Scrum ceremony, the most pessimistic estimates. This gives a greater credibility
entire team participates dedicating period at the end compared to the best estimate and follows a beta probability
of each sprint to deliberately brainstorm on what distribution.
things are working and what don’t. Many teams do
this meeting immediately after the sprint review.
To + 4Tm + Tp
Et = (1)
4. Cost and effort estimation techniques 6

The following estimation techniques are a way to solve Where:


complex problems to be considered as a single task [16]. Et = Estimated time
For this reason we decompose the problem making a series To = The most likely time required
of smaller tasks. Tm = The most optimistic time required
Tp = The most pessimistic time required
4.1. Lines of Code and Function Points
The data of Lines of Code (LOC) and Function Points 4.2. Scrum with LOC/FP
(FP) are used in two ways for an estimation in a project
[17], [9]: i.) Variable estimation: Used to calibrate each
element of software. And ii:) Base metrics: These metrics Although there are books [18] about how best practices
are collected from previous projects and used in conjunction can be combined with an agile methodology and easily as
with the estimated variables to develop cost and effort they can be combined with traditional project management,
projections. Although the previous techniques are different, which adds value to the project management, as well as tools
they do have some common characteristics. that provide a better control various aspects of the projects,
The overall process for the of the LOC and FP tech- then why not apply so contrary? This has slowly begun to
niques begins when a project planner defines a declaration emerge and several methodologies have started to combine
which restricts the software scope and, from the statement, forces to achieve a firmer project management. Here comes
tries to break it into smaller sub-functions, that can be the proposal to combine the management of the budget of
estimated individually. Then, it is estimated the LOC or the traditional methodologies with Scrum to strengthen a
FP for each sub-function. Once each sub-function has their weakness and to control the iterations, we will combine the
LOC or FP, the base metrics are applied to the productivity decomposition methodology software estimate based on the
variables and to the appropriate estimation variables which budget line of code method (LOC) [19] applied to project
derives the cost and effort for the sub-function. Combining management and implementation of Scrum.
the functions estimates, we get the total estimate for the
entire project. VT = CLOC ∗ LOC (2)
As mentioned before, LOC and FP and different, ba-
sically in the level of detail required for the decomposi- where:
tion. When LOC is used as variable estimation, functional VT = Total value
decomposition is absolutely essential and often takes up CLOC = Cost line of code.
considerable levels of detail. Because the data required to LOC = Lines of code
estimate Function Points are more macroscopic, the level of
the decomposition obtained when FP is used, the estimate
is considerably less detailed. Also, it should be noted, that
4.3. Advantages and Disadvantages
while LOC is estimated directly, FP is estimated indirectly
by the number of inputs, outputs, data files, and external
interface requests, among others. 4.3.1. Advantages. Reduced project risk by limiting the
Regardless of the variable estimate used, the project iterations of the project based on the limited budget and
planner typically provides a range of values for each de- a better control over the investment to have a basis of how
composed function. These are taken from historical data, much money has been invested in the software and what
or when there are no comparisons available, the intuition percentage of completion leads to get regarding the scope
and experience from the project planner are used. Also, established from the beginning of the project.
the planner estimates the optimistic, most probable and
pessimistic values LOC or FP for each function. When a 4.3.2. Disadvantages. Despite being a good practice, is not
range of values are specified, it is implied the degree of without drawbacks. This process takes time and therefore
uncertainty or the project. it reduces the agility to the project having to do a little
The estimated value of LOC or FP is calculated. The planning and estimation of project costs, this may also
expected estimate for the variable Et is obtained as a reduce some of the flexibility of the changes to the project
weighted average of the LOC or optimum FP. It consists being unable to adapt to drastic changes on the structure
of variables To (most likely), Tm (most optimistic) and Tp software.
LOC estimate of MdRep
5. Case Study Optimistic 4,600
Most likely 6,900
5.1. Problem Pessimistic 8,600
TABLE 2. PERT ESTIMATION METHOD S ECURITY M ODULE
As an example will be taken the development of a system
for Booking for a hotel which has branches around the
world, have online booking system, for calls and in person. Module Estimate LOC
The system consists of 7 modules and was developed with MdRes 2,300
MdC 5,300
the Scrum methodology. The project was developed in C# MdRep 6,800
and lasted one year and a cost of $135,000. MDM 3,350
MdU 4,950
5.2. Application MdV 2,100
MdA 8,400
Total 33,200
To verify the proposed solution in the formula 2, a
comparison of the final cost of the system was performed TABLE 3. PERT ESTIMATE OF ALL SOFTWARE MODULES
Booking taking reference historical project data, Table 1
summarizes the recorded information.
Historical facts Applying the formula 2 with the previously calculated
estimates the following is obtained:
Average productivity by similar 320 LOC/pm
projects
Salary $1,200 monthly
Cost Line Of Cod (CLOC) $4.00
TV = $4.00 ∗ 33, 200LOC
Project Cost $135,000.00 TV = $132, 800.00
TABLE 1. H ISTORY INFORMATION SYSTEM FOR HOTEL .
We obtain as a result an estimated cost of $132,800,
when compared with the actual cost of the project to Table
To apply the method of line of code (LOC) 1, the result is that the methodology is 97.8% accurate.
decomposition of software should be split in functions or
software modules which it is composed. 5.3. Discussion

• Reservations module (MdRes). In the example above took a software that was de-
• Accounting module (MdC). veloped purely with Scrum, it was a successful project
• Reports Module (MdRep). which suffered several drastic changes on the structure and
• Maintenance Module (MDM). priority modules repeatedly, is a typical Scrum project. In
• User Module (MdU). the example a series of formulas, one with the LDC method
• Sales Module (MdV).. is a method of decomposition of software projects mainly
• Administration Module (MdA). for cascading, which breaks down the lines of software
code with an estimate based on several variables applied
estimation efforts and then combined[3] with the method of
After identifying the software modules must be esti-
estimating tasks CPM PERT, which gives results in possible
mated should take the line of code. That can be done in
scenarios of effort estimation (LDC) that can each module in
several ways, the best known is line of code (LOC). This
the system by averaging these results gives us a more likely
estimate can be done by expert opinion or the LDC method.
outcome which gave us $132,800 compared to $135,000 the
For this example we will estimate based on expert judgment,
experiment shows that it is 97.8% accurate.
because it is a common system. For this step we use the
PERT [6] method, formula 1 used to calculate the estimated
time. 6. Conclusions and Future Work
With which estimates must calculate three line code;
the optimistic estimate is likely to have fewer lines of With this method can support project managers to
code. With which estimates must calculate three line code; implement a software system using Scrum, in order to
optimistic, it ie the estimate may have fewer lines of code, provide an estimated budget that the sponsor must invest
pessimistic, that is the estimate that has more lines of code to implement a product or calculate a minimum project
and most likely, that is the most likely have to be exact. budget to be met, of course estimation will not be one
Table 2 MdS estimation module is as follows: hundred percent accurate, it depends on the contingencies
that may arise during implementation, but gives the project
This method should be applied to other modules for esti- manager a line cost base on which to stand and take this
mates of effort on each. Table 3 shows the results obtained. as a reference for management to meet the objectives.
Another work in the future will seek estimated by means
of rescheduling trying to establish a budget as changes are
requested in each Sprint, this mainly to make more precise
estimates of the project cost and suit the EVM for better
monitoring and control of the project. This analysis method-
ology for uncommon LCD systems can also be performed.

References
[1] C. Kästner, S. Apel, and M. Kuhlemann, “Granularity in software
product lines,” in Proceedings of the 30th international conference
on Software engineering. ACM, 2008, pp. 311–320.
[2] M. Jørgensen and K. Moløkken-Østvold, “How large are software
cost overruns? a review of the 1994 chaos report,” Information and
Software Technology, vol. 48, no. 4, pp. 297–301, 2006.
[3] W. R. Duncan, “A guide to the project management body of knowl-
edge,” "", 1996.
[4] D. J. Fernandez and J. D. Fernandez, “Agile project management—
agilism versus traditional approaches,” Journal of Computer Informa-
tion Systems, vol. 49, no. 2, pp. 10–17, 2008.
[5] M. Fowler and J. Highsmith, “The agile manifesto,” Software Deve-
lopment, vol. 9, no. 8, pp. 28–35, 2001.
[6] K. Schwaber, “Scrum development process,” in Business Object De-
sign and Implementation. Springer, 1997, pp. 117–134.
[7] N. ft n il Ionel, “Critical analysys of the scrum project management
methodology,” "", 2008.
[8] T. Sulaiman, B. Barton, and T. Blackburn, “Agileevm-earned value
management in scrum projects,” in Agile Conference, 2006. IEEE,
2006, pp. 10–pp.
[9] J. J. Dolado, “A study of the relationships among albrecht and mark
ii function points, lines of code 4gl and effort,” Journal of Systems
and Software, vol. 37, no. 2, pp. 161–173, 1997.
[10] K. Molokken and M. Jorgensen, “A review of software surveys on
software effort estimation,” in Empirical Software Engineering, 2003.
ISESE 2003. Proceedings. 2003 International Symposium on, Sept
2003, pp. 223–230.
[11] D. Castilla, “A hybrid approach using rup and scrum as a software
development strategy,” "", 2014.
[12] P. Kruchten, The rational unified process: an introduction. Addison-
Wesley Professional, 2004.
[13] K. Beck, Extreme programming explained: embrace change.
addison-wesley professional, 2000.
[14] C. Romero, Técnicas de programación y control de proyectos. Edi-
ciones Pirámide, 1997.
[15] S. Alliance, “Scrum ceremonies,” 2008.
[16] K. Moløkken and M. Jørgensen, “A review of software surveys on
software effort estimation,” in Empirical Software Engineering, 2003.
ISESE 2003. Proceedings. 2003 International Symposium on. IEEE,
2003, pp. 223–230.
[17] C. Jones, “Backfiring: Converting lines of code to function points,”
Computer, vol. 28, no. 11, pp. 87–88, 1995.
[18] J. Highsmith, Agile project management: creating innovative prod-
ucts. Pearson Education, 2009.
[19] S. Keaveney and K. Conboy, “Cost estimation in agile development
projects.” in ECIS, 2006, pp. 183–197.

You might also like