Issues and Challenges of Agile Software Development With Scrum
Issues and Challenges of Agile Software Development With Scrum
SCRUM
Juyun Cho, Colorado State University-Pueblo, [email protected]
Keywords: Scrum methodology, traditional software The remainder of this paper discusses the differences
development, agile software development, empirical between traditional methods and agile methods, and
process. then presents a brief history, framework, and
empirical process of the Scrum methodology. Finally,
INTRODUCTION the paper discusses issues and challenges of the
Scrum methodology discovered through an in-depth
Traditional Software Development Methods case study.
(TSDMs) including waterfall and spiral models,
utilize extensive planning, codified process, rigorous TRADITIONAL SOFTWARE DEVELOPMENT
reuse, heavy documentation and big design up front METHODS (TSDMs)
[2]. Due to these characteristics, TSDMs are often
called heavyweight development methods. The One of well-known traditional software development
TSDMs are still widely used in industry because of methods is the waterfall model. The waterfall model
their straightforward, methodical, and structured utilizes a structured progression between defined
nature [6], as well as their predictability, stability, phases: planning, analysis, design, implementation,
and high assurance [3]. and maintenance. The planning phase which occupies
typically about 15% of total Systems Development
Though many TSDMs have been developed since the Life Cycle (SDLC) is the fundamental process to
waterfall model to provide significant productivity identify the scope of the new system, understand why
improvements, none of them are free from major a system should be built, and how the project team
problems including blown budgets, missed schedules, will go about building it through technical,
and flawed products [3, 4], and they have failed to economical, and organizational feasibility analysis.
provide dramatic improvements in productivity, in The analysis phase, which occupies about 15% of
reliability, and in simplicity [4]. Due to constant SDLC, analyzes the current system, its problems, and
changes in the technology and business then identifies ways to design the new system
environments, it is a challenge for TSDMs to create a through requirements gathering. The design phase
complete set of requirements up front. (35%) decides how the system will operate in terms
of hardware, software, and network infrastructure.
As a remedy for the shortcomings of TSDMs, a The implementation phase (30%) is the actual
number of Agile Software Development Methods programming. The maintenance phase (5%) focuses
on go-live, training, installation, support plan, percentage of projects (16.2%) that used traditional
documentation, and debugging [5]. Figure 1 and methods were completed on-time and on-budget with
table 1 below show a typical waterfall lifecycle and all features and functions specified. However, 52.7%
deliverables respectively. As we can see in the figure of the projects were completed either over-budget,
and the table, each phase must be accomplished over the time estimate and/or offering less features
before the following phase can begin and each phase and functions; 31.1% of projects were canceled at
cannot go back to the previous phase like water in the some point during the development cycle [17] (see
waterfall cannot climb up once it reaches to lower Figure 2).
position.
Planning (15%)
Analysis (15%)
Design (35%)
Implementation (30%)
shown in Table 3, ASDMs 1) satisfy the customer There are many different characteristics between
through early and continuous delivery of software, 2) ASDMs and TSDMs. Boehm [2], for example,
embrace changing requirements, even in late reports nine agile and heavyweight discriminators
development cycle, 3) deliver working software (See Table 4). He believes the primary objective of
frequently, 4) work daily with business people, 5) ASDMs is on rapid value whereas the primary
facilitate motivated people, provide them with good objective of TSDMs is on high assurance. He also
environment and support, and trust them, 6) assist believes that ASDMs should be used for small teams
face-to-face conversation within a development team, and projects. If the size of the team and projects are
7) use working software as a primary measure of large he suggests TSDMs.
progress, 8) promote sustainable development and
keep sponsors, developers, and users moving at a
Project Agile Heavyweight
constant pace, 9) pay attention to technical excellence
Characteristics discriminator Discriminator
and good design, 10) maintain simplicity, 11)
promote self-organizing teams, and 12) foster Primary Rapid Value High
inspections and adaptations. objective Assurance
# Principles Requirements Largely Knowable
1 Our highest priority is to satisfy the customer emergent, rapid early, largely
through early and continuous delivery of change, stable
valuable software. unknown
2 Welcome changing requiremts, even late in
development. Agile processes harness change Size Smaller teams Larger teams
for the customer’s competitive advantage. and projects and projects
3 Deliver working software frequently, from a
couple of weeks to a couple of months, with a Architecture Designed for Designed for
preference to the shorter timescale. current current and
4 Business people and devlopers must work requirements foreseeable
together daily throught the project. requirements
5 Build projects around motivated individuals.
Give them the environment and support they Planning and Internalized Documented
need, and trust them to get the job done. Control plans, plans,
qualitative quantitative
6 The most efficient and effective method of
control control
conveying informaiton to and within a
development team is face-to-face conversation.
Customers Dedicated, As needed
7 Working software is the primary measure of knowledgeable, customer
progress. collaborated, interactions,
8 Agile processes promote sustainable collocated focused on
development. The sponsors, developers, and onsite contract
users should be able to maintain a constant pace customers provisions
indefinitely.
9 Continuous attention to technical excellence and Developers Agile, Plan-oriented;
good design enhances agility. knowledgeable, adequate skills
10 Simplicity—the art of maximizing the amount collocated, and access to
of work not done—is essential. collaborative external
11 The best architectures, requirements and designs knowledge
emerge from self-organizing teams.
12 At regular intervals, the team reflects on how to Refactoring Inexpensive Expensive
become more effective, then tunes and adjusts
its behavior accordingly. Risks Unknown risks, Well
Table 3 Principles behind the agile manifesto Major Impact understood
risks, Minor
The ASDMs have the potential to provide higher impact
customer satisfaction, lower bug rates, shorter Table 4 Differences between ASDMs and TSDMs
development cycles, and quicker adaptation to (Source: Boehm [2])
rapidly changing business requirements [3, 10, 12].
In addition to the Scrum roles and ceremonies, the interviews were audio-taped, transcribed, and later
Scrum process provides three artifacts namely the coded. In the process of data analysis, grounded
Product Backlog, the Sprint Backlog, and the theory [7, 8] was used to derive constructs from the
Burndown Chart. The Product Backlog is a collection immediate raw data. Some of repeated issues and
of functional and non-functional requirements, which challenges are coded below.
are prioritized in order of importance to the business.
The items in the Product Backlog are created and
maintained by the Product Owner. The Sprint
Backlog is created by team members from the
Product Backlog in a way that the high priority items
in the Product Backlog are first selected and broken
into a set of smaller tasks. When the Product Backlog
items are divided into small tasks, team members
estimate the completion time for each task. Team
members try to make tasks as small as possible so
that every task can be accomplished within three
days. The Sprint Backlog consists of these small
tasks. The Burndown Chart is a graphical
presentation where work remaining is tracked on the
vertical axis and the time periods tracked on the
horizontal axis. The Burndown Chart should be
accessible by every member who participates in the
project.
Flow of Scrum
face-to-face communication, and network [25]. The because we can talk to each other and everybody
open space is considered better than the cubicles and knows what everybody else is working on.
private offices in the Scrum process. Many
developers like the idea of open-space-working However, some developers talked about inefficient
environment. One developer mentioned “I feel like I Sprint Planning and Review Meetings. One developer
am little closer to other developers in open space. It’s argued that “Some of our Sprint Meetings are so
really nice to be able to look across the room and talk simple and it seems to be a waste of time spending a
to somebody else in the team and ask questions whole day just for planning and review. I think it
quickly. I don’t feel like I am shouting over the needs to be adjusted based on the complexity of the
cubicle wall to get to them.” Another developer project that we are working on.” Another developer
stated that “Open space is good because everyone is mentioned that “Our daily standup Scrum meetings
easily accessible. I like it because I think it fosters sometimes go on a little longer just because
communication. It’s very easy to say hey, I need everybody is talking about what they did last night. I
some help, information, or come, look at this. think there probably are some good advices on trying
Everyone is just kind of opening, and it seems to to keep your daily standup meetings consistent and
work very well.” short so that people are not distracted and they can go
back to work quickly as most people would rather
Though some developers enjoy the open-space- work productively than waste a time.” Another issue
working environment, other developers do not like is related to setting up the meeting time. Due to the
the open space and they mentioned downsides and flexible work schedule among developers, it is
some problems. One developer stated that “the open difficult to get together all at one time. One developer
areas are very nice to communication but it does hurt stated that “I think the hard things for us in Scrum is
when you try to concentrate because there are a lot of when to do it because some of us get in at 7:30 am
distractions. For example, when co-workers are and some of us at 9:30 am. So as a team, we just have
having a conversation with somebody or having a Scrum as soon as everyone gets in. That’s usually at
phone conversation, it’s very distracting.” Another ten or eleven. The problem is that those who get in
developer mentioned that “I am less productive early are interrupted from their work because they’ve
because a lot of noises are going all around. Without been working for two or three hours very well. They
having cubicle walls or private offices, the are in the group or zone so being interrupted and it’s
distractions are pretty high which is hard to work frustrating. We talked about doing it at the end of the
with.” A team lead stated that “You know the best day but that also has a problem because some people
working environment is an office. In your private come in at 6:30 am and leave at 3:30 pm, and some
office, you can do things your way, and focus on people come in at 9:30 am and leave at 6:30 pm. It
things without being distracted by other noises.” makes hard for our team to get together all at one
time.”
To cancel out the noises, most developers use
headphones. The director of operations stated that CONCLUSIONS
“Everybody has headphones and they can just put
those on and listen to something. That pretty much Agile software development methods were developed
drowns everything else out. However, several to provide more customer satisfaction, to shorten the
developers complain that “We, developers, are development life cycle, to reduce the bug rates, and
usually working while listening to music. We all have to accommodate changing business requirements
a nice headphones workout. Everything is going during the development process. This paper presents
under that. But if I need to focus on something, that’s characteristics of traditional software development
really difficult just because I have headphones on.” methods and agile software development methods,
and the differences between them. This paper also
Scrum Ceremonies introduces the roles, ceremonies, and artifacts of
Scrum, which is one of the most well-known agile
Scrum ceremonies including the Daily Scrum software development methods in the industry. This
Meeting, the Sprint Planning Meeting, and the Sprint paper also presents five issues and challenges
Review Meeting, seemed to help software engineers including documentation, communication, user
develop high-quality systems. Most developers involvement, working environment, and Scrum
testified that the Scrum ceremonies have been very ceremonies, discovered through an in-depth case
useful and very productive. Several developers study in a software company that makes small- and
mentioned that “the 15-minute standup Daily Scrum mid-size web-based applications. If the five issues
meeting has allowed us to be on the same page and challenges are addressed and resolved before the
project is launched, organizations will have fewer 14. Schwaber, K. (2007). What is Scrum? Retrieved
difficulties in producing high-quality software March 5, 2008, from
products using Scrum. http://www.scrumalliance.org/system/resource/fi
le/275/whatIsScrum.pdf.
---------------------------------------------------------------- 15. Schwaber, K., & Beedle, M. (2002). Agile
The author wants to thank Dr. Sherry Marx at Utah software development with Scrum, Upper Saddle
State University for her insightful advice on a River, NJ: Prentice Hall.
qualitative research method.
16. Schach, S. R. (2004). An introduction to object-
oriented systems analysis and design with UML
REFERENCES and the unified process. Boston: McGraw-Hill.
17. Standish Group (1994). The chaos report.
1. Advanced Development Methods, Inc. (2007). Retrieved March 6, 2008, from
Scrum, Retrieved March 19, 2008, from http://www.standishgroup.com/sample_research/
http://www.chaos.com. chaos_1994_1.php.
2. Boehm, B. (2002, January). Get ready for agile 18. Stazinger, J. W., Jackson, R. B., & Burd, S. D.
methods with care. IEEE Computer, 35(1), 64- (2005). Object-oriented analysis & design with
69. unified process. Boston: Thomson Course-
3. Boehm, B. & Turner, R. (2003, June) Using risk Technology.
to balance agile and plan-driven methods. IEEE 19. Summerville, I. (2004). Software Engineering.
Computer, 36(6), 57-66. Boston: Addison-Wesley.
4. Brooks, F. P. (1995). The mythical man-month. 20. Takeuchi, H., & Nonaka, I. (1986, January-
Reading, MA: Addison-Wesley. February). The new new product development
5. Dennis, A., Wixom, B. H., & Tegarden, D. game. Harvard Business Review, p137-146.
(2005). Systems analysis and design with UML 21. Watson, R. T., Kelly, G., Galliers, D., &
version 2.0. Hoboken, NJ: Wiley. Brancheau, C. (1997). Key issues in information
6. Fruhling, A. & Vreede, G. (2006). Field systems management: An international
experiences with extreme programming: perspective. Journal of Management Information
Developing an emergency response system. Systems, 13(4), 91-115.
Journal of Management Information Systems, 22. Boehm, B. & Papaccio, P. (1988).
22(4), 39-68. Understanding and controlling software costs.
7. Gall, D. M., Gall, P. J., & Borg, R. W. (2003). IEEE Transactions on Software Engineering,
Educational research: An introduction. Boston, 14(10), 1462-1477.
MA: Allyn and Bacon. 23. Jones, C. (1997). Applied software
8. Glesne, C. (2006). Becoming qualitative measurements: Assuring productivity and
researchers: An introduction. Boston, MA: quality. McGraw Hill.
Allyn and Bacon. 24. Williams, L. & Cockburn, A. (2003, June). Agile
9. Hodgetts, P. (2005). Product development with software development: It’s about feedback and
Scrum. Retrieved March 1, 2008, from change. IEEE Computer, 36(6), 39-43.
http://www.agilelogic.com. 25. Schwaber, K. (2004). Agile project management
10. Miller, K., & Larson, D. (2005, winter). Agile with Scrum. Redmond, WA: Microsoft Press.
software development: Human values and
culture. Technology and Society Magazine,
IEEE, 24(4), 36-42.
11. Parnas, D. (2006). Agile methods and GSD: The
wrong solution to an old but real problem.
Communication of the ACM, 49(10), 29.
12. Parrish, A., Smith, R., Hale, D., & Hale, J.
(2004). A field study of developer pairs:
Productivity impacts and implications. IEEE
Software, 21(5), 76-79.
13. Schwaber, K. (1996). SCRUM development
process. Proceedings of ACM SIGPLAN on
Objected-Oriented Programming, Systems,
Languages, & Applications (OOPSLA ’96), San
Jose, California.