0% found this document useful (0 votes)
186 views

SCRUM Development Process

vv

Uploaded by

Sam Gvmxdx
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views

SCRUM Development Process

vv

Uploaded by

Sam Gvmxdx
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

seRUM Development Process

Ken Schwaber
Advanced Development Methods
131 Middlesex Turnpike Burlington. MA 01803
email [email protected] Fax: (617) 272-0555

ABSTRACT. The stated. accepted philosophy for systems development is that the development
process is a well understood approach that can be planned. estimated. and successfully completed.
This has proven incorrect in practice. SCRUM assumes that the systems development process is
an unpredictable. complicated process that can only be roughly described as an overall progression.
SCRUM defines the systems development process as a loose set of activities that combines
known. workable tools and techniques with the best that a development team can devise to build
systems. Since these activities are loose. controls to manage the process and inherent risk are
used. SCRUM is an enhancement of the commonly used iterativel"lncremental object-oriented
development cycle.
KEY WORDS: SCRUM SEI Capability-Maturity-Model Process Empirical

1. Introduction
In this paper we introduce a development process, SCRUM, that treats major portions of systems
development as a controlled black box. We relate this to complexity theory to show why this
approach increases flexibility and produces a system that is responsive to both initial and additional
requirements discovered during the ongoing development.

Numerous approaches to improving the systems development process have been tried. Each has
been touted as providing "significant productivity improvements." All have failed to produce
dramatic improvements: As Grady Booch noted, "We often call this condition the software crisis,
but frankly, a malady that has carried on this long must be called norrnal.,,2

Concepts from industrial process control are applied to the field of systems development in this
paper. Industrial process control dermes processes as either "theoretical" (fully defined) or
"empirical" (black box). When a black box process is treated as a fully defined· process,
unpredictable results occur. A further treatment of this is provided in Appendix 1.

A significant number of systems development processes are not completely defined, but are treated
as though they are. Unpredictability without control results. The SCRUM approach treats these
systems development processes as a controlled black box.
Variants of the SCRUM approach for new product development with high performance small
teams was first observed by Takeuchi and Nonaka3 at Fuji-Xerox, Canon. Honda, NEC, Epson,
Brother, 3M, Xerox, and Hewlett-Packard. A similar approach applied to software development at
Borland was observed by Coplien4 to be the highest productivity C++ development project ever

I Brooks, F.P. "No silver bullet-essence and accidents of software engineering." ~ 20:4: 10-19. April
1987.
2 Object Oriented Analysis and Design with Applications, p. 8, Grady Booch, The Benjamin/Cummings
Publishing Company, Inc., 1994
J Takeuchi, Hirotaka and Nonaka, Ikujiro. January-February 1986. "The New New Product Development Game."
Harvard Business Review.
• Coplien, J. "Borland Software Craftsmanship: A New Look at Process, Quality and Productivity." Proceedings of
the 5th Annual Borland lmemalional Conference, June 5, 1994. Orlando, Florida.

D. J. Sutherland et al. (eds.), Business Object Design and Implementation


© Springer-Verlag London Limited 1997
118

documented. More recently, a refined approach to the SCRUM process has been applied by
Sutherland' to Smalltalk development and Schwaber6 to Delphi development.

The SCRUM approach is used at leading edge software companies with significant success.
Industry analysts believe SCRUM may be appropriate for other software development
organizations to realize the expected benefits from Object Oriented techniques and tools. 7

2. Overview

Our new approach to systems development is based on both defined and black box process
management. We call the approach the SCRUM methodology (see Takeuchi and Nonaka, 1986),
after the SCRUM in rugby -- a tight formation of forwards who bind together in specific positions
when a scrumdown is called. 8

As will be discussed later, SCRUM is an enhancement of the iterative and incremental approach to
deliverinl object-oriented software initially documented by Pittman9 and later expanded upon by
Booch.' It may use the same roles for project staff as outlined by Graham", for example, but it
organizes and manages the team process in a new way.

SCRUM is a management, enhancement and maintenance methodology for an existing system or


production prototype. It assumes existing design and code which is virtually always the case in
object-oriented development due to the presence of class libraries. SCRUM will address totally
new or re-engineered legacy systems development efforts at a later date.

Software product releases are planned based on the following variables:

Customer requirements - how the current system needs enhancing.


Time pressure - what time frame is required to gain a competitive advantage.
Competition - what is the competition up to, and what is required to best them.
Quality - What is the required quality, given the above variables.
Vision - what changes are required at this stage to fulfill the system vision.
Resource - what staff and funding are available.

These variables form the initial plan for a software enhancement project. However, these variables
also change during the project. A successful development methodology must take these variables
and their evolutionary nature into account.

3. Current Development Situation

Systems are developed in a highly complicated environment. The complexity is both within the
development environment and the target environment. For example, when the air traffic control
system development was initiated, three-tier client server systems and airline deregulation did not
have to be considered. Yet, these environmental and technical changes occurred during the project
and had to be taken into account within the system being built.

, Sutherland, Jeff. Serum Web Home Page: A Guide to the SCRUM Development Process. Jeff Sutherland's Object
Technology Web Page, 1996 <http://www.tiac.net/users/jsuthlscrum/index.html>
• Schwaber, Ken. "Controlled Chaos: Living on the Edge." American Pro(WIIDmer. April 1996.
7 Aberdeen Group. Upgrading To [Sy Methodology For Enterprise Application Deyelopment. Product Viewpoint

8:17, December 7,1995.


• Gartner, Lisa. The Rookie Primer. Radcliffe Rugby Footba11 Club, 1996
<http://vai1.al.adzona.edu/rugby/rad/rookie"'primer.html>
• Pittman, Matthew. Lessons Learned in Managing Object-Oriented Development. IEEE Software. January, 1993,
pp. 43-53.
Booch, Grady. Obiect Solutions' Managing the Object-Oriented Project. Addison-Wesley, 1995.
" Graham, Ian. Migrating to Object Technology. Addison-Wesley, 1994.

You might also like