Professional Documents
Culture Documents
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
• 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.