Download as pdf or txt
Download as pdf or txt
You are on page 1of 32

Oct2002cover.

qxd 9/4/02 11:10 AM Page 1


Agile Software Development

4 What Is Agile Software Development?


In answering this fundamental question, this article looks at a sampler of agile
methodologies, an agile case story, and a look at the future.
by Jim Highsmith

10 Learning From Agile Software Development – Part One


Part one of this two-part series describes how cost- and plan-driven projects can borrow
from agile software development to improve their strategies and hedge against surprises.
by Alistair Cockburn
ON THE COVER
15 Agile Methodologies and Process Discipline
This article summarizes and critiques the compatibility of agile methodologies with Cover Design by
Kent Bingham.
plan-driven methodologies as described by the Capability Maturity Model for Software.
by Mark C. Paulk

19 Odyssey and Other Code Science Success Stories


This article includes real-world insights from developers applying a tailored version of
eXtreme Programming and a quantitative measure of its effectiveness since its inception.
by John Manzo

Softwar e Engineering Technolo g y


22 Integrating Systems and Software Engineering:What Can Large Organizations
Learn From Small Start-Ups?
Learn how adaptive techniques and small informal teams inside large organizations can
complement a formal organizational process focus.
by Paul E. McMahon

26 Highpoints From the Agile Software Development Forum


This report summarizes what speakers said agile software development is and is not.
by Pamela Bowers

Open Forum

28 Agile Before Agile Was Cool


This author was developing software solutions using agile methods before he realized
there was such a methodology.
by Gordon Sleve

Online Ar ticles
30 Should You Be More Agile?
by Rich McCabe and Michael Polen CrossTalk Article Submissions: We welcome articles of interest to the
defense software community.Articles must be approved by the
CROSSTALK editorial board prior to publication. Please fol-
SPONSOR Lt. Col. Glenn A. Palmer low Author Guidelines, available at <www.stsc.hill.af.mil/
Agile Development: Weed crosstalk/xtlkguid.pdf>. CROSSTALK does not pay for sub-
PUBLISHER Tracy Stauder missions.Articles published in CROSSTALK remain the prop-
or Wildflower? erty of the authors and may be submitted to other publica-
by David Kane and Steve Ornburn ASSOCIATE Elizabeth Starrett tions.
PUBLISHER
Reprints and Permissions: Requests for reprints must be
MANAGING EDITOR Pamela Bowers requested from the author or the copyright holder. Please
Departments coordinate your request with CROSSTALK.
ASSOCIATE EDITOR Chelene Fortier Trademarks and Endorsements: This DoD journal is an
authorized publication for members of the Department of
3 From the Publisher ARTICLE
COORDINATOR
Nicole Kentta Defense. Contents of CROSSTALK are not necessarily the
official views of, or endorsed by, the government, the
CREATIVE SERVICES Janna Kay Jensen Department of Defense, or the Software Technology Support
COORDINATOR Center. All product names referenced in this issue are trade-
marks of their companies.
9 Coming Events
PHONE (801) 586-0095
Coming Events: We often list conferences, seminars, sympo-
siums, etc. that are of interest to our readers.There is no fee
FAX (801) 777-8069 for this service, but we must receive the information at least
E-MAIL crosstalk.staff@hill.af.mil 90 days before registration. Send an announcement to the

14 Web Sites CROSSTALK ONLINE www.stsc.hill.af.mil/


crosstalk
CROSSTALK Editorial Department.
STSC Online Services: www.stsc.hill.af.mil
CRSIP ONLINE www.crsip.hill.af.mil Call (801) 777-7026, e-mail: randy.schreifels@hill.af.mil
Back Issues Available: The STSC sometimes has extra copies

18 Top 5 Contest Information Subscriptions: Send correspondence concerning


subscriptions and changes of address to the following
of back issues of CROSSTALK available free of charge.
The Software Technology Support Center was established
at Ogden Air Logistics Center (AFMC) by Headquarters U.S.
address.You may e-mail or use the form on p. 27. Air Force to help Air Force software organizations identify,
Ogden ALC/MASE evaluate, and adopt technologies to improve the quality of

31 BackTalk 7278 Fourth St.


Hill AFB, UT 84056-5205
their software products, efficiency in producing them, and
their ability to accurately predict the cost and schedule of
their delivery.

2 CROSSTALK The Journal of Defense Software Engineering October 2002


From the Publisher

Agile Software Development Deserves


An Open-Minded Approach
T his month’s CrossTalk focuses on one of the potentially hot topics of debate in
the software industry today – agile software development vs. disciplined, process-
focused software development. There seems to be much confusion about what agile
software development is and is not, and what agile implies. We hope that our selection
of articles will provide some insight into agile software development methodologies and
how they compare in application and use to the process improvement strategies embod-
ied in capability maturity models that we have championed for many years. Perhaps these
articles may even widen your understanding and perceptions of where agile development fits
within today’s software development challenges.
Our lead article by Jim Highsmith, What Is Agile Software Development? sets the stage for under-
standing agile software development. He discusses what he terms the sweet spot problem domain for
agile approaches and then gives greater detail on the three dimensions he refers to as agile ecosys-
tems: chaordic perspective, collaborative values, and barely sufficient methodology.
We next provide part one of a two-part article by Alistair Cockburn, Learning From Agile
Software Development – Part One. Part one describes how agile and plan-driven teams make different
trade-offs of money for information or for flexibility, and presents the first seven of 10 princi-
ples for tuning a project to meet various priorities, including cost, correctness, predictability,
speed, and agility. Part two will be featured in the November issue of CrossTalk.
In Agile Methodologies and Process Discipline, Mark C. Paulk addresses issues surrounding agile
development as compared to rigorous software process improvement models such as the
Capability Maturity Model® for Software (SW-CMM®). He summarizes and critiques the compat-
ibility of agile methodologies with plan-driven methodologies as described by the SW-CMM, and
concludes by making the point, “Perhaps the biggest challenge in dealing effectively with both
agile and plan-driven methodologies is dealing with extremists in both camps who refuse to keep
an open mind.”
In his article, Odyssey and Other Code Science Success Stories, John Manzo tells of the successful
delivery of an actual complex industrial automation application using an agile development
methodology based on eXtreme Programming (XP). He includes some real-world insights from
a developer’s experience applying the development method, including a quantitative measure of
XP’s effectiveness since its inception.
Our supporting articles this month begin with Integrating Systems and Software Engineering: What
Can Large Organizations Learn From Small Start-Ups? Author Paul E. McMahon explores variations
in large and small engineering organizations and presents an alternative view of large projects that
he claims may aid companies in their quest for more effective systems and software integration.
He believes that using adaptive techniques and small informal teams inside large organizations can
complement a formal organizational process focus that may already exist within a company.
Next, in Highpoints From the Agile Software Development Forum, Pamela Bowers summarizes the
keynote talks from “Creating Competitive Advantage Through Agile Development Practices,” a
technology forum held at Westminster College in Salt Lake City in March. In Agile Before Agile Was
Cool, Gordon Sleve describes a specific example of choice of an agile methodology for the devel-
opment of a needed application, with quick turnaround to meet a customer’s need. He notes that
this was done long before agile methods were well known or popular and concludes by saying, “I
see both methodologies coexisting and filling an important purpose: to make our customers successful.”
We conclude this issue with two online articles: Should You Be More Agile? by Rich McCabe and
Michael Polen, and Agile Development: Weed or Wildflower? by David Kane and Steve Ornburn.
These authors believe that software projects, even in the defense community, can benefit from the
techniques of agile development.
As noted in the lengthy references at the end of many of these articles, much is being written
about agile software development at this time. We hope that this selection of thought-provoking
articles will enable you to become more enlightened about the many perspectives of these new
software development alternatives and will have a positive influence on opening your minds to
new possibilities.

H. Bruce Allgood
Deputy Director, Computer Resources Support Improvement Program

October 2002 www.stsc.hill.af.mil 3


Agile Software Development

What Is Agile Software Development?1


Jim Highsmith
Cutter Consortium
In the past two years, the ideas of “agile software development,” which encompasses individual methodologies such as Crystal
methods, eXtreme Programming, feature-driven development, and adaptive software development, are being increasingly
applied and are causing considerable debate. This article attempts to answer the fundamental question on many people’s minds:
What is agile software development?

“N ever do anything that is a waste of


time – and be prepared to wage
long, tedious wars over this principle,”
golly, we were successful because we fol-
lowed our plan to the letter.” Battlefields
are messy, turbulent, uncertain, and full of
measures success for the agile project
manager. Conformance to plan has little
meaning in either case. If we want to be
said Michael O’Connor, project manager change. No battlefield commander would agile, we have to reward agility.
at Trimble Navigation in Christchurch, say, “If we just plan this battle long and There is, however, a critical difference
New Zealand. This product group at hard enough, and put repeatable process- between managing a battle and managing
Trimble is typical of the homegrown es in place, we can eliminate change early warehouse logistics. Battlefields are man-
approach to agile software development in the battle and not have to deal with it aged by constant monitoring of condi-
methodologies. later on.” tions and rapid course alterations – by
While interest in agile methodologies A growing number of software proj- empirical processes. Adapting to changing
has blossomed in the past two years, its ects operate in the equivalent of a battle conditions is vital. Conversely, managing
roots go back more than a decade. Teams zone – they are extreme projects. This is warehouse logistics is a process that can
using early versions of Scrum, Dynamic where agile approaches shine. Project be described by calculations involving
Systems Development Methodology teams operating in this zone attempt to materials on hand, deliveries, and ship-
(DSDM), and adaptive software develop- utilize leading or bleeding-edge technolo- ments; managing can be described as a
ment (ASD) were delivering successful defined process, one that involves a relatively
projects in the early- to mid-1990s.
This article attempts to answer the “Projects may have a high degree of predictability and algorith-
mic precision. Many manufacturing plants
question, “What constitutes agile software relatively clear mission, operate as defined processes.
The concepts and assumptions behind
development?” Because of the breadth of
agile approaches and the people who prac- but the specific empirical and defined processes are funda-
tice them, this is not as easy a question to mentally and irreconcilably different. The
answer as one might expect. I will try to requirements can be practices of agile software development –
answer this question by first focusing on short iterations, continuous testing, self-
the sweet-spot problem domain for agile volatile and evolving organizing teams, constant collaboration
approaches. Then I will delve into the (daily integration meetings and pair pro-
three dimensions that I refer to as agile as customers and gramming for example), and frequent re-
ecosystems: barely sufficient methodology, planning based on current reality (rather
collaborative values, and chaordic per- development teams alike than six-month- old plans) – are all geared
spective. Finally, I will examine several of to the understanding of software develop-
these agile ecosystems. explore the unknown.” ment as an empirical process.
On the other hand, the fundamental
The Agile Problem gies, respond to erratic requirements basis of the Capability Maturity Model®
Domain: Fitting the changes, and deliver products quickly. (CMM®) and CMM IntegrationSM
Projects may have a relatively clear mis- (CMMISM) is a belief in software develop-
Process to the Project sion, but the specific requirements can be ment as a defined process. As such, tasks
All problems are different and require dif- volatile and evolving as customers and can be defined in detail, algorithms can be
ferent strategies. While battlefield com- development teams alike explore the defined, results can be accurately meas-
manders plan extensively, they realize that unknown. These projects, which I call ured, and measured variations can be used
plans are just a beginning; probing enemy high-exploration factor projects, do not to refine the processes until they are
defenses (creating change) and responding succumb to rigorous, plan-driven meth- repeatable within very close tolerances.
to enemy actions (responding to change) ods. For projects with any degree of explo-
are more important. Battlefield command- The critical issues with high-explo- ration at all, agile developers just do not
ers succeed by defeating the enemy (the ration factor projects are as follows: first, believe these assumptions are valid. This is
mission), not conforming to a plan. identifying them; second, managing them a deep, fundamental divide – and not one
I cannot imagine a battlefield com- in a different way; and third, measuring that can be reconciled to some comfort-
mander saying, “We lost the battle, but by their success differently. Just as winning is able middle ground. It is part of having a
® Capability Maturity Model and CMM are registered in the the primary measure of success for a bat- chaordic (meaning a combination of
U.S. Patent and Trademark Office. tlefield commander, delivering customer chaos and order as coined by Dee Hock,
SM
CMM Integration and CMMI are service marks of
Carnegie Mellon University. value (however the customer defines it) founder and former CEO of Visa

4 CROSSTALK The Journal of Defense Software Engineering October 2002


What Is Agile Software Development?

International) perspective on the world as ware development methodologies over the foundation leads. These are not always
described in the next section. years has been the attempted mismatch of easy questions to answer, and organiza-
While agile practices – refactoring, culture and methodology. Rather than rec- tions will have different answers for dif-
iterative feature-driven cycles, customer ognizing the inherent differences between ferent stages in their evolution and for dif-
focus groups – are applicable to nearly any people, project teams, and organizations, ferent projects in their portfolio.
project, I believe the agile sweet spot is this we denigrate those who have different cul-
exploratory projects problem category. The tures by labeling them unprofessional, An Agile Case Story
more volatile the requirements and the immature, or undisciplined. Or conversely, Jeff De Luca, project director of
more experimental the technology, the we label them bureaucratic, rigid, and Nebulon, an information technology con-
more agile approaches improve the odds closed-minded. For example, you can call sulting firm in Melbourne, Australia,
of success. a well-oiled extreme programming team a offers an example of an agile methodolo-
lot of things, but after watching them gy’s success using feature-driven develop-
The Agile Ecosystem: practice test-first development, pair pro- ment (FDD). De Luca’s project was a
Chaordic, Collaborative, gramming, constant refactoring, and sim- complex commercial lending application
ple design, the last thing you can call them for a large Singapore bank utilizing 50
and Streamlined is undisciplined, immature, or unprofes- people for 15 months (after a short initial-
The agile movement covers a broader set sional. ization period). I tracked De Luca down
of issues than the word methodology con- The second characteristic of agile looking for an FDD case story for my
notes, so I use the word ecosystem to include development is collaborative values and book, and subsequently spent several
the three characteristics that define agile principles. Agile and rigorous organiza- hours on the phone and exchanged many
development: a chaordic perspective, col- tions view people, and how to improve e-mails with him.
laborative values and principles, and bare- their performance, differently. Rigorous Previously, the Singapore lending proj-
ly sufficient methodology. A chaordic per- methodologies are designed to standardize ect had been a colossal failure. Prior to De
spective arises from recognition and people to the process, while agile process- Luca’s involvement in the project, a large,
acceptance of increasing levels of unpre- es are designed to capitalize on each indi- well-known systems integration firm had
dictability in our turbulent economy. vidual’s and each team’s unique strengths: spent two years working on the project
Two concrete ramifications of trying they adapt the process to the people3. and finally declared it undoable. Its deliv-
to manage in an unpredictable environ- Agile organizations focus on building erables included the following: 3,500
ment are that while goals are achievable, individual skills and on fostering a high pages of use cases, an object model with
project details are often unpredictable, and degree of interaction among team mem- hundreds of classes, thousands of attrib-
that the foundation of many process-driv- bers and the project’s customers. Agilists utes (but no methods), and, of course, no
en approaches (the goal of repeatable believe that with today’s complex projects, code. The project – an extensive commer-
processes) is unattainable. In company understanding comes more from face-to- cial, corporate, and consumer lending sys-
after company, I have found successful face interaction than from documentation. tem – incorporated a broad range of lend-
projects that met the customer’s vision, Agilists do not believe that a reliance on ing instruments (from credit cards to large
but in the end, looked nothing like the heavy processes makes up for lack of skill, multi-bank corporate loans) and a breadth
original plan. talent, and knowledge. of lending functions (from prospecting to
Furthermore, truly repeatable process- The third aspect of agile ecosystems is implementation to back-office monitor-
es would be almost mechanical in nature, the concept of a barely sufficient methodol- ing). “The scope was really too big,” said
and no mechanical process could possibly ogy that attempts to answer the question De Luca.
react to the infinite variety of variations of how much structure is enough. To be FDD arose, in name at least, in 1997-
that software projects encounter. The rea- agile, one must balance flexibility and 98 when Nebulon took over the Singapore
son many projects attain their goals has lit- structure, and barely sufficient does not project. De Luca had been using a stream-
tle to do with repeatable processes and mean insufficient. Bare sufficiency lined, light-process framework for many
much to do with the skill and adaptability reduces costs through streamlining but years. Peter Coad, who was brought in to
of the people who are working on the even more importantly, it incorporates the develop the object model for the project,
project. chaordic perspective that creativity and had been advocating very granular, fea-
Hock’s chaordic style is similar to what innovation occur in a slightly messy envi- ture-oriented development but had not
I call leadership-collaboration or adaptive ronment, not a primarily structured one. embedded it in any particular process
management, which is about creating an Too many organizations operate on the model. These two threads came together
environment with the requisite variety to unspoken assumption that “if a little on this project to fashion what was
meet the challenge of extreme projects, process is good, then lots of process will dubbed FDD.
particularly the challenge of high change. be better.” Less than two months into the new
Agile managers understand that Concepts drive action and behavior. project, De Luca’s team was producing
demanding certainty in the face of uncer- Software inspections, or any other soft- demonstrable features for the client. The
tainty is dysfunctional. They set goals and ware engineering technique, will be imple- team spent about a month working on the
constraints that provide boundaries within mented differently depending upon one’s overall object model (the original model
which creativity and innovation can flour- underlying conceptual framework. The and what De Luca refers to as the previ-
ish. They are macromanagers rather than underlying conceptual frameworks behind ous team’s useless cases were trashed).
micromanagers2. agile development and the CMM are dif- They spent another couple of weeks
While an entrepreneurial Silicon Valley ferent and will therefore drive organiza- working on the feature decomposition and
company has one culture, a space shuttle tions to different behaviors. The really short iteration planning. Finally, to
avionics team has another. One of the important questions are about to what demonstrate the project’s viability to a
biggest problems in implementing soft- kind of core capabilities one’s conceptual once-burned and skeptical client, De Luca

October 2002 www.stsc.hill.af.mil 5


Agile Software Development

and his team built a portion of the rela- risks, etc. should be briefly document- equilibrium.
tionship management application as a ed (for example, ASD’s one-page proj- LD is the operational piece in a three-
proof of concept. From that point on, ect data sheet). tiered approach4 that leads to change-tol-
with about four months elapsed, they • Short, iterative, feature-driven, time- erant businesses. It provides a delivery
staffed to 50 people and delivered approx- boxed development cycles. Explora- mechanism for implementing risk entre-
imately 2,000 features in 15 months. The tion should be done in definitive, cus- preneurship. The key in business, accord-
project was completed significantly under tomer-relevant chunks (for example, ing to Charette, is that the opportunity for
budget, and the client, the CEO of the FDD’s feature planning). competitive advantage comes from being
bank, wrote a glowing letter about the • Constant feedback. Exploratory more agile than the competitors in one’s
success of the project. processes require constant feedback to market.
While talking with De Luca, a couple stay on track (for example, Scrum’s LD’s risk entrepreneurship enables
of things struck me about this project. short daily meetings and XP’s pair pro- companies to turn risk into opportunity.
Certainly the FDD process contributed to gramming). Charette defines change tolerance as “the
the project’s success, but when I asked De • Customer involvement. Focusing on ability of an organization to continue to
Luca what made the FDD successful, his business value requires constant inter- operate effectively in the face of high mar-
first response was that the overriding action between customers and devel- ket turbulence.” A change-tolerant busi-
assumption behind the FDD is that it opers (for example, DSDM’s facilitat- ness not only responds to changes in the
embraces and accepts software develop- ed workshops and ASD’s customer marketplace, but also causes changes that
ment as a decidedly human activity. The focus groups). keep competitors off balance. “Most soft-
key, he said, is having good people – good • Technical excellence. Creating and ware systems are not agile, but fragile,”
domain experts, good developers, good maintaining a technically excellent said Charette. “Furthermore, they act as
chief programmers. No process makes up product makes a major contribution to brakes on competitiveness.” Every busi-
for a lack of talent and skill. creating business value today and in ness must deal with change by building a
My guess is that even if the first ven- the future (for example, XP’s refactor- change-tolerant organization that can
dor’s staff had used FDD as a process ing). impose change on competitors.
model, they would not have been success- Some agile approaches focus more Charettes’s work sends three key mes-
ful because they just did not have the heavily on project management and col- sages to agile developers and business
appropriate level of technical and project laboration practices (ASD, Scrum, and stakeholders in information technology.
management talent. However, had they DSDM), while others such as XP focus on First, the wide adoption of ASDEs will
been using a FDD-like agile process, their software development practices, although require strategic selling at senior levels
inability to complete the project might all the approaches touch the six key prac- within organizations. Second, the strategic
have surfaced in less than two years. This tice areas. The rest of this section delves message that will sell ASDEs is the ability
is a clear example of why working code is into four of these approaches, illustrating to pluck opportunity from fast-moving,
the ultimate arbiter of real progress. In the different aspects of each. high-risk exploration situations. And third,
end, thousands of use cases and hundreds proponents of ASDEs must understand
of object model elements did not prove Lean Development and communicate to their customers the
real progress. The most strategy-oriented ASDE is also risks associated with agile approaches and,
the least known: ITABHI, Inc. President therefore, the situations in which they are
A Sampler of Agile Bob Charette’s LD was derived from the and are not appropriate.
principles of lean production used during LD is as much a management chal-
Approaches the restructuring of the Japanese automo- lenge as a set of practices. Charette said,
There are a growing number of agile bile manufacturing industry in the 1980s. “You have to set the bar high enough to
methodologies, or agile software develop- In LD, Charette extends traditional force rethinking traditional practices. LD
ment ecosystems (ASDEs), as I prefer to methodology’s view of change from a risk initiatives focus on accelerating the speed
label them, and a number of agile prac- of loss to be controlled with restrictive of delivering software applications, but
tices such as Scott Ambler’s agile modeling management practices to a view of change not at the expense of higher cost or defect
[1]. The core set of these includes lean as producing opportunities to be pursued rates. These three goals need to be
development (LD), ASD, Scrum, eXtreme using risk entrepreneurship. LD has been achieved concurrently, or it isn’t LD.”
Programming (XP), Crystal methods, used successfully on a number of large
FDD, and DSDM. Authors of all of these telecommunications projects in Europe. Adaptive Software Development
approaches (except LD) participated in The goals of LD are completion in In 1992, I started working on a short
writing the Agile Software Development one-third the time, within one-third the interval, iterative, rapid application devel-
Manifesto [2] and so its principles form a budget, and with one-third the defect rate. opment process that evolved into ASD.
common bond among practitioners of While most other ASDEs are tactical in The original process, developed in con-
these approaches. While individual prac- nature, Charette thinks that the major junction with colleague Sam Bayer, was
tices are varied, they fall into six general changes required to become agile must be used on projects in companies from Wall
categories: initiated from the top of the organization. Street brokerage houses to airlines to
• Visioning. A good visioning practice Organizational strategy becomes the con- telecommunications firms. During the
helps assure that agile projects remain text within which agile processes can next several years, Sam and I (together and
focused on key business values (for operate effectively. Without this strategic separately) successfully delivered more
example, ASD’s product visioning ses- piece, agile development – as all those than 100 projects using these practices.
sion). who have tried to implement ASDEs in During the early to mid-1990s, I also
• Project initiation. A project’s overall organizations can testify – is shunted aside worked with software companies that
scope, objectives, constraints, clients, by the organizational forces that seek were using similar techniques on very

6 CROSSTALK The Journal of Defense Software Engineering October 2002


What Is Agile Software Development?

large projects. not know everything. The ASD life cycle focuses on results,
In the mid-1990s, my interest in com- The second conceptual component of not tasks, and the results are identified as
plex adaptive systems began to add a con- ASD is collaboration. Complex applica- application features. Features are the cus-
ceptual background to the team aspects of tions are not built; they evolve. Complex tomer functionality that is to be developed
the practices and was the catalyst for the applications require that a large volume of during iteration.
name change to ASD. Complexity theory information is collected, analyzed, and The practice of time boxing, or setting
helps us understand unpredictability and applied to the problem – a much larger fixed delivery times for iterations and
that our inability to predict does not imply volume than any individual can handle by projects, has been abused by many who
an inability to make progress. ASD works himself or herself. Although there is use time deadlines incorrectly. Time dead-
with change rather than fighting against it. always room for improvement, most soft- lines used to bludgeon staff into long
In order to thrive in turbulent environ- ware developers are reasonably proficient hours or to cut corners on quality are a
ments, we must have practices that in analysis, programming, testing, and sim- form of tyranny; they undermine a collab-
embrace and respond to change – prac- ilar skills. But turbulent environments are orative environment. It took several years
tices that are adaptable. Even more impor- defined in part by high rates of informa- of managing ASD projects before I real-
tantly, we need people, teams, and organi- tion flow and diverse knowledge require- ized that time boxing was minimally about
zations that are adaptable and agile. ments. Building an e-commerce site time – it was really about focusing and
The practices of ASD are driven by a requires greater diversity of both technol- forcing hard trade-off decisions. In an
belief in continuous adaptation – a differ- ogy and business knowledge than the typ- uncertain environment in which change
ent philosophy and a different life cycle – ical project of five to 10 years ago. In this rates are high, there needs to be a period-
geared to accepting continuous change as high-information-flow environment, in ic forcing function to get work finished.
the norm. In ASD, the static plan-design- which one person or small group cannot As in Barry Boehm’s spiral develop-
build life cycle is replaced by a dynamic ment model [3], analyzing the critical risks
speculate-collaborate-learn life cycle. It is
a life cycle dedicated to continuous learn- “A change-tolerant drives the plans for adaptive iterations.
ASD is also change-tolerant, not viewing
ing and oriented to change, re-evaluation,
peering into an uncertain future, and
business not only change as a problem but seeing the ability
to incorporate change as a competitive
intense collaboration among developers, responds to changes advantage.
management, and customers.
in the marketplace, eXtreme Programming
A Change-Oriented Life Cycle XP, to most aficionados, was developed by
A waterfall development life cycle, based but also causes Kent Beck, Ward Cunningham, and Ron
on an assumption of a relatively stable Jeffries and has, to date, clearly garnered
business environment, becomes over- changes that keep the most interest of any of the agile
whelmed by high change. Planning is one approaches. XP preaches the values of
of the most difficult concepts for engi- competitors off balance.” community, simplicity, feedback, and
neers and managers to re-examine. For courage and is defined, at least in part, by
those raised on the science of reduction- possibly know it all, collaboration skills (the its 12 practices: the planning game, small
ism (reducing everything to its component ability to work jointly to produce results, releases, metaphor, simple design, refac-
parts) and the near-religious belief that share knowledge, or make decisions) are toring, test-first development, pair pro-
careful planning followed by rigorous paramount. gramming, collective ownership, continu-
engineering execution produces the Once we admit to ourselves that we ous integration, 40-hour week, on-site
desired results (we are in control), the idea are fallible, then learning practices – the customer, and coding standards.
that there is no way to “do it right the first learn part of the life cycle – becomes vital There has been so much written about
time” remains foreign. The word plan, for success. Learning is the third compo- XP’s practices that another rehash seems
when used in most organizations, indi- nent in the speculate-collaborate-learn life less important than discussing XP’s
cates a reasonably high degree of certain- cycle. We have to test our knowledge con- impact on software development. The
ty about the desired result. The implicit stantly, using practices like project retro- interest in XP generally comes from the
and explicit goal of conformance to plan spectives and customer focus groups. bottom up, from developers and testers
restricts a manager’s ability to steer the Furthermore, reviews should be done tired of burdensome processes, documen-
project in innovative directions. after each iteration rather than waiting tation, metrics, and formality. These indi-
Speculation, the first conceptual con- until the end of the project. viduals are not abandoning discipline, but
cept, gives us room to explore, to make An ASD life cycle has six basic charac- excessive formality that is often mistaken
clear the realization that we are unsure and teristics: mission-focused, feature-based, for discipline. They are finding new ways
to deviate from plans without fear. It does iterative, time-boxed, risk-driven, and to deliver high-quality software faster and
not mean that planning is obsolete, just change-tolerant. For many projects, the more flexibly.
that planning is acknowledgeably tenuous. requirements may be fuzzy in the begin- XP and other agile approaches are
It means we have to keep delivery itera- ning, but the overall mission that guides forcing organizations to re-examine
tions short and encourage iteration. A the team is well articulated. A mission whether their processes are adding any
team that speculates does not abandon provides boundaries rather than a fixed value to their organizations. Well over 400
planning; it acknowledges the reality of destination. Without a good mission and a individuals have signed the Agile Software
uncertainty. Speculation recognizes the constant mission refinement practice, iter- Development Manifesto Web page, avail-
uncertain nature of complex problems ative life cycles become oscillating life able at: <www.agilealliance.com>. These
and encourages exploration and experi- cycles – swinging back and forth with no individuals reaffirm their desire to deliver
mentation. We can finally admit that we do progress. high-quality software without the burdens

October 2002 www.stsc.hill.af.mil 7


Agile Software Development

of bureaucracy. The DSDM reverses this viewpoint, The Future of Agile


Other important contributions of XP allowing the functionality to vary over the Development
proponents are their views on reducing life of the project as new things are There are fundamental shifts driving
the cost of change during a software’s life learned. However, while functionality is economies, the structure of products that
and their emphasis on technical excel- allowed to vary, control is maintained by we build, and the nature of the processes
lence through refactoring and test-first using time boxes. we use to build products. “These changes
development. XP provides a system of The DSDM also addresses the issues in products, technologies, firms, and mar-
dynamic practices, whose integrity as a of documentation – or lack thereof – a kets are not a passing phenomenon,”
holistic unit has been proven. constant criticism of ASDEs. Because according to Carliss Baldwin, Harvard
Some people think extreme is too one of the principles of the DSDM Business School professor and Kim Clark,
extreme, that XP would be more appeal- relates to the importance of collabora- dean of the Harvard Business School fac-
ing with a more moderate name. I don’t tion, it uses prototypes rather than ulty.
think many people would get excited lengthy documents to capture informa-
about a book on moderate programming. tion. The DSDM recommends only 15
These fundamental changes driven
New markets, new technologies, new work products from its five major devel-
by powerful forces deep in the eco-
ideas aren’t forged from moderation, but opment phases, and several of these are
nomic system, forces which more-
from radically different ideas and the prototypes. There is an interesting com-
over have been at work for many
courage to challenge the status quo. XP ment in the DSDM white paper on con-
years ... we must be prepared to dig
has led the way. tracting:
deep, for the forces that matter are
rooted in the very nature of things,
Dynamic Systems The mere presence of a detailed
and in the processes used to create
Development Method specification may act to the detri-
them. [5]
The DSDM was developed in the United ment of cooperation between the
Kingdom in the mid-1990s. It is an out- parties, encouraging both parties
In the foreword to “Planning eXtreme
growth of, and extension to, rapid appli- to hide behind the specification
Programming,” Tom DeMarco makes the
cation development practices. The rather than seeking mutual benefi-
DSDM boasts the best-supported train- cial solutions. [4] analogy between military history and soft-
ing and documentation of any ASDE, at ware development as each swing from the
least in Europe. With respect to work products, the relative advantages of armor to those of
Each of the major phases of the DSDM, unlike rigorous methodologies, mobility. DeMarco says:
DSDM development process – functional does not offer detailed documentation
model iteration, design-and-build itera- formats for its 15 defined work products. In the field of IT, we are just emerg-
tion, and implementation – are them- Instead, the DSDM work product guide- ing from a time in which armor
selves iterative processes. The DSDM’s lines offer a brief description, a listing of (process) has been king. And now
use of three interactive iterative models the purposes, and a half-dozen or so qual- we are moving into a time when
and time boxes can be used to construct ity criteria questions for each work prod- only mobility matters. [6]
very flexible project plans. uct.
The functional model iteration is a Another area that the DSDM focuses Agile development is not defined by a
process of gathering and prototyping on is establishing and managing the prop- small set of practices and techniques.
functional requirements based on an ini- er culture for a project. The manual Agile development defines a strategic
tial list of prioritized requirements. describes, for example, the different capability, a capability to create and
Nonfunctional requirements are also emphasis of project managers and points respond to change, a capability to balance
specified during this phase. The design- out how difficult the transition can be for flexibility and structure, a capability to
and-build iteration refines the prototypes project managers steeped in traditional draw creativity and innovation out of a
to meet all requirements (functional and approaches. A passage from the DSDM development team, and a capability to lead
nonfunctional) and engineers the soft- manual illustrates this point: organizations through turbulence and
ware to meet those requirements. One set uncertainty.
of business functions (features) may go A traditional project manager will Agile development does not abandon
through both functional model and normally focus on agreeing a structure, but attempts to balance flexibil-
design-and-build iterations during a time detailed contract with customers ity and structure – trying to figure out that
box, and then another set of features goes about the totality of the system to delicate balance between chaos and rigidi-
through the same processes in a second be delivered along with the costs ty. The greater the uncertainty, the faster
time box. Implementation deploys the and time scales. In a DSDM proj- the pace of change, and the lower the
system into a user’s environment. ect, the project manager is focused probability that success will be found in
The DSDM also addresses other on setting up a collaborative rela- structure. Plan-driven methodologies have
issues common to ASDEs. First, it explic- tionship with the customers. [4] a definite place for some problem
itly states the difference between the domains just as individual practices (con-
DSDM and traditional methodologies The focal point for a DSDM project figuration management for example) have
with respect to flexible requirements. The manager shifts from the traditional a definite place in the most agile of soft-
traditional view, according to the DSDM emphasis on tasks and schedules to sus- ware development projects. In a less
manual, is that functionality stays relative- taining progress, getting agreement on volatile era, rigorous processes were appli-
ly fixed (after it is established in the origi- requirement priorities, managing cus- cable for a wide range of projects. In an
nal requirements specifications), while tomer relationships, and supporting the era in which traditional management styles
time and resources are allowed to vary. team culture and motivation. dominated, plan-driven software develop-

8 CROSSTALK The Journal of Defense Software Engineering October 2002


What Is Agile Software Development?

ment approaches fit well. Modularity. Cambridge: The MIT


But as Bob Dylan sang, “Times, they Press, 2000. COMING EVENTS
are a-changin’.” Volatility and uncertainty 6. Beck, Kent, and Martin Fowler. October 14-16
increasingly defines today’s business, and Planning eXtreme Programming. 20 th Annual Pacific Northwest
even today’s military environment. Boston: Addison-Wesley, 2001.
Talented technical people want to work in Software Quality Conference
an organization in which they have more Notes
control over how they work and how they 1. This article is adapted from Jim
interact with peers, customers, and man- Highsmith’s book “Agile Software Portland, OR
agement. Problems are changing, people Development Ecosystems.” Addison- www.pnsqc.org
are changing, and ideas are changing. Wesley, 2002. (Article quotes and
While there are still opportunities for examples taken from this book.) November 3-6
plan-driven style development and man- 2. For additional information, see James 3 Annual Amplifying Your Effectiveness
rd

agement, I believe growth lies in being A. Highsmith. Adaptive Software (AYE) Conference 2002
agile and flexible. Development: A Collaborative App- Phoenix, AZ
Throughout the last three years, I have roach to Managing Complex Systems. www.ayeconference.com
used agile methods with project teams in New York: Dorset House, 2000.
India, Canada, Norway, the United States, 3. For extensive research in this area, see
New Zealand, Poland, and Australia. Buckingham, Marcus, and Curt November 4-8
Companies in these countries are strug- Coffman. First, Break All the Rules: Software Testing Analysis
gling with exploratory projects that run What the World’s Greatest Managers and Review Conference
the gamut, including an e-commerce infra- Do Differently. New York: Simon & Anaheim, CA
structure product, a clinical drug-trial Schuster, 1999, and Buckingham, www.sqe.com/starwest
monitoring application, 300,000 lines of Marcus and Donald O. Clifton. Now,
embedded C code in a new cell-phone Discover Your Strengths. New York: November 11-14
chip, a worldwide financial system prod- Simon & Schuster, 2001. National Defense Industrial Association
uct, a myriad of internal IT applications, 4. The three tiers are Risk Leadership,
the complete business system for a dot- Denver, CO
Risk Entrepreneurship, and Lean www.ndia.org
com start-up (that is still in business), and Development.
an oil-field geophysical data gathering and
analysis system. About the Author November 18-21
These companies want to be more Jim Highsmith is International Conference on
agile: They want to create change for their director of the Cutter Software Process Improvement
competitors and respond quickly to mar- Consortium’s Agile Washington, DC
ket conditions. They plan, but they are not www.software-process-institute.com
Project Management
blinded by those plans. They focus on
Practice, author of
delivering customer value, not adding up
“Agile Software Deve- February 24-27, 2003
how many processes they have in place.
They document, but they do not get lost lopment Ecosystems Software Engineering Process
in piles of paper. They rough out blue- (2002)” and “Adaptive Software Group Conference
prints (models), but they concentrate on Development: A Collaborative App-
creating working software. They focus on roach to Managing Complex Systems
individuals and their skills and on the (2000),” and winner of the 2000 Jolt
intense interaction of development team Award. He has more than 30 years
members among themselves and with cus- experience as a consultant, software
tomers and management. They deliver developer, manager, and writer. In the Boston, MA
results in a turbulent, messy, ever-chang- last 10 years, he has worked with infor- www.sei.cmu.edu/sepg/
ing, ever-exciting marketplace.◆ mation technology organizations,
industrial product companies, and
References April 28-May 1, 2003
software companies in the United
1. Ambler, Scott. Agile Modeling. New States, Europe, Canada, South Africa, Software Technology Conference 2003
York: John Wiley, 2002. Australia, Japan, India, and New
2. AgileAlliance. “Agile Software Zealand to help them adapt to the
Development Manifesto.” 13 Feb. accelerated pace of development in
2001 <www.agilemanifesto.org>. Salt Lake City, UT
increasingly complex, uncertain envi-
3. Boehm, Barry. “A Spiral Model of www.stc-online.org
ronments.
Software Development Enhance-
ment.” IEEE Computer May 1988. Cutter Consortium May 3-10, 2003
4. DSDM Consortium. Dynamic Sys- 2288 North Coulter Drive International Conference on
tems Development Method. Version 3.
United Kingdom <www.dsdm.org>.
Flagstaff, AZ 86004 Software Engineering
Phone: (781) 648-8700 Portland, OR
5. Baldwin, Carliss Y., and Kim B. Clark.
Design Rules – Vol. 1: The Power of E-mail: jim@jimhighsmith.com www.icse-conferences.org/2003

October 2002 www.stsc.hill.af.mil 9


Learning From Agile Software Development – Part One
Alistair Cockburn
Humans and Technology
This two-part article compares agile, plan-driven, and cost-sensitive software development approaches based on a set of proj-
ect organization principles, extracting from them ideas for pulling agile techniques into cost- and plan-driven projects. Part
one describes how agile and plan-driven teams make different trade-offs of money for information or for flexibility, and pres-
ents the first seven of 10 principles for tuning a project to meet various priorities, including cost, correctness, predictability,
speed, and agility. Part two, which will run in the November issue of CrossTalk, will present the last three principles,
then pull the material together for actions that plan-driven and cost-sensitive project teams can use to improve their strategies
and hedge against surprises.

B eing agile is a declaration of prioritiz-


ing for project maneuverability with
respect to shifting requirements, shifting
MFF propositions, and how best to allo-
cate resources for each.
Predictable issues can be investigated
early to make those predictions.
In contrast, an agile team might decide
that the project plan is fundamentally un-
technology, and a shifting understanding using breakdown techniques. Such an resolvable past a very simple approxima-
of the situation. Other priorities that issue might be creating a schedule for tion. There being no effective MFI strat-
might override agility include predictabili- work similar to that successfully per- egy, it adopts an MFF approach, making
ty, cost, schedule, process-accreditation, or formed in the past. an approximate plan early and allocating
use of specific tools. Unpredictable but resolvable issues can be resources for regular re-planning over the
Most managers run a portfolio of investigated through study techniques course of the project.
projects having a mix of those priorities. such as prototypes and simulators. Such Both agile and plan-driven developers
They need to prioritize agility, predictabil- issues include system performance limits. might agree that the question of system
ity, and cost sensitivity in varying amounts These are also MFI propositions. Agile performance under load is an important
and therefore need to mix strategies. This and plan-driven teams are likely to use MFI issue, and so both might agree to
article focuses on borrowing ideas from similar strategies for these issues as part of spend money early to build a simple sys-
the agile suite to fit the needs of plan-driv- basic project risk management. tem simulator and load generator to
en and cost-sensitive programs. stress-test the design.
Our industry now has enough infor-
mation to sensibly discuss such blending. “This is a MFI [money- They are likely to spend money differ-
ently on design issues. The plan-driven
The agile voices have been heard [1, 2, 3, for-information] team, viewing it as a sensible MFI propo-
4, 5, 6, 7], the engineering voices have sition, will spend money early to reduce
been heard [8, 9, 10], two articles in this situation: It is worth uncertainty about the future of the design.
issue [11, 12] illustrate the differences in Agile teams are more likely to view design
world view, and some authors have dis- spending a lot of money as either being inexpensive to change (a
cussed the question of their coexistence poor MFI candidate) or unresolvable
and principles underlying successful devel- now to discover ... (making it an MFF proposition). They are
opment strategies [3, 8, 13]. therefore more likely to choose a design
where those next defects early and allocate money to adjust it over
Buy Information or Flexibility time. This difference on design issues is
Many project strategies revolve around are located.” fundamental, since the two groups view
spending money for either information or the matter from different decision arenas.
flexibility [3, 14]. Unresolvable issues tend to be sociolog-
In a money-for-information (MFI) propo- ical, such as which upcoming standard will Ten Principles
sition, the team can choose to expend gain market acceptance, or how long key The following 10 principles have shown
resources now to gain information earlier. employees will stay around. These issues themselves useful in setting up and run-
If the information is not considered valu- cannot be resolved in advance, and so are ning projects. Most of these are known in
able enough, the resources are applied to not MFI propositions, but are MFF the literature [3, 4, 8, 21]. My phrasing of
other work. The question is how much the propositions. Agile and plan-driven teams them may be slightly different.
team is willing to expend in exchange for are intrinsically likely to use different 1. Different projects need different
that information. strategies for these issues. Agile teams will methodology trade-offs.
In a money-for-flexibility (MFF) proposi- set up to absorb these changes, while plan- 2. A little methodology does a lot of
tion, the team may opt to expend re- driven project teams must, by definition, good; after that, weight is costly.
sources to preserve later flexibility. If the create plans for them. 3. Larger teams need more communica-
future is quite certain, the resources are Teams will differ on which issues are tion elements.
better spent pursuing the most probable resolvable, and how much money should 4. Projects dealing with greater potential
outcome, or on MFI issues. be spent in advance on predictable issues. damage need more validation ele-
Different project strategies are made A plan-driven team is more likely to ments.
by deciding which issues are predictable, decide that creating the project plan is 5. Formality, process, and documentation
unpredictable but resolvable, or unresolv- basically a predictable issue, and that a are not substitutes for discipline, skill,
able, deciding which of those are MFI or good MFI strategy is to spend resources and understanding.

10 CROSSTALK The Journal of Defense Software Engineering October 2002


Learning From Agile Software Development – Part One

Over- or Under-Planning
6. Interactive, face-to-face communica- of life. The idea is that projects need
tion is the cheapest and fastest channel more validation elements as the potential Plan-Driven

Damage from
for exchanging information. damage increases. Sweet Spot

7. Increased communication and feed- Each box in the grid identifies a set of Agile
back reduces the need for intermediate projects that might plausibly use the same Sweet Spot

work products. combination of coordination and valida-


8. Concurrent and serial development tion policies. The label in the box indi-
exchange development cost for speed cates the maximum damage and coordi- Time and Effort Invested in Plans
and flexibility. nation load common to those projects Figure 1: Balancing Discipline and Flexibility
9. Efficiency is expendable in non-bottle- (thus, D40 refers to projects with 20-40 with the Spiral Model and MBASE
neck activities. people and potential loss of discretionary team, using a minimal methodology, can
10. Sweet spots speed development. monies). Projects landing in different successfully attack a certain size of prob-
The first seven principles are discussed boxes should use different policies. lem. Adding a few carefully chosen ele-
in this article, the last three will be The different planes capture the idea ments to the methodology allows them to
addressed in part two. that projects run to different priorities, work more effectively and attack a larger
some prioritizing for productivity, some problem. As they continue to add to the
1. Different Projects Need Different for legal liability, and others for cost, pre- methodology, they increase the bureau-
Methodology Trade-offs dictability, agility, and so on. cratic load they put on themselves and,
This should be obvious, but it seems to Any one methodology is likely to be being only a small team, start expending
need re-stating at frequent intervals [15, appropriate for only one of the boxes on more energy in feeding the methodology
16, 17, 18]. one of the planes. Thus, at least 150 or so than solving the problem. The size of the
Figure 1, adapted from Boehm and methodologies are needed (Capers Jones
Port [8], shows one particular aspect of problem they can successfully attack
identifies 37,000 project categories [17]). diminishes.
these differences. In this figure, the two That number is increased by the fact that
diminishing curves show the potential The curve is similar for a large team
technology shifts change the methodolo- (the solid line), but not as abrupt. The
damage to a project from not investing
gies at the same time. large team needs more coordination ele-
enough time and effort in planning. The
two rising curves show the potential dam- ments to work optimally, and has more
2. A Little Methodology Does a Lot people to feed the methodology as it
age to the project from spending too
much time and effort in planning. of Good; After That, Weight is Costly expands. Eventually, even the larger team
The lines crossing on the left indicate a Figure 3 (see page 12) relates three quan- starts being less productive as the
project for which potential damage is rela- tities: the weight of the methodology methodology size grows and solves the
tively low with under-planning, and rela- being used, the size of the problem being larger problems less successfully.
tively high with over-planning. Much attacked, and the size of the team.
commercial software, including Web serv- (Problem size is a relative term only. The 3. Larger Teams Need More
ices fall into this category. The lines cross- problem size can drop as soon as some- Communication Elements
ing on the right indicate a project for one has an insight about the problem. Six people in a room can simply talk
which potential damage is relatively high Even though problem size is highly sub- amongst themselves and write on white
with under-planning, and for which much jective, some problems are clearly harder boards. If 200 people were to try that,
more planning would have to be done for a team to handle than others.) This they would get in each other’s way, miss
before damage would accrue from delays figure illustrates that adding elements to a tasks, and repeat each other’s work. The
due to planning. Safety-critical software team's methodology first helps then hin- larger team benefits from coordination.
projects fall into this category. ders their progress [3]. This is the slower rise in the large-team
The curves should make it clear that The dashed line shows that a small curve in Figure 3. The smaller team needs
when there is risk associated with taking a
slow, deliberate approach to planning, Figure 2: Projects by Communication, Criticality, and Priorities [3]
then agile techniques are more appropri- . . .Prioritized for Legal Liability
ate. When there is risk associated with Prioritized for Productivity & Tolerance
skipping planning or making mistakes
with the plan, then a plan-driven Life
(defects cause loss of...)

approach is more appropriate. The curves (L)


illustrate clearly the home territory of L6 L20 L40 L100 L200 L500 L1000
Criticality

each. Essential
Figure 2 shows a different characteri- Money
(E) E6 E20 E40 E100 E200 E500 E1000
zation of project differences [3]. The
hori-zontal axis captures the number of Discretionary
people needing to be coordinated, rising Money
from one on the left to 1,000 on the right. (D) D6 D20 D40 D100 D200 D500 D1000
The idea is that projects need more coor-
Comfort
dina-tion elements to their methodology (C)
as the number of people increases. C6 C20 C40 C100 C200 C500 C1000
The vertical axis captures the potential
1-6 - 20 - 40 - 100 - 200 - 500 - 1,000
damage caused by undetected defects in
the system, from loss of comfort to loss Number of People Involved +20%
October 2002 www.stsc.hill.af.mil 11
Agile Software Development

5. Formality, Process, and visual) timing, and real-time feedback


Documentation Are Not along modalities to discover what each
Problem Size

Substitutes for Discipline, knows, needs to know, and how to convey


Large Team Skill, and Understanding it [3, 19]. They use the white board as an
Highsmith [4] points to the difference external-marking device not just to draw,
Small Team between discipline and formality, skill and but also to hold some of their discussion
process, understanding and documenta- points in place so they can refer back to
Methodology Weight
tion. them later.
Figure 3: A Little Methodology Goes a Long As characteristics of that situation are
Discipline is an internal quality of
Way removed, the communication effectiveness
behavior; formality is an externally visible
between the two people drops (Figure 5).
fewer coordination mechanisms and can result. Many of the best developers are
On the phone, they lose the entire visual
treat them with less ceremony than can very disciplined in their actions without
channel and cross-modality timing. With e-
the larger team. using formal methods or documents.
mail or instant messaging, they lose vocal
Although this principle should be Skill is an internal quality of action,
inflection, vocal timing, and real-time
obvious, many process designers try to typically of a single person, while process
question and answer. On videotape, they
find a single set of coordination elements is an externally declared agreement, usual-
have visuals, but lose the ability to get
to fit all projects. ly between several people. Individuals op-
questions answered. On audiotape, they
erating at high levels of skill often cannot again lose visuals and cross-modality tim-
4. Projects Dealing with Greater say what process they follow. Processes are ing. Finally, communi-cating through doc-
Potential Damage Need More most useful in coordinating the flow of uments, they attempt to communicate
Validation Elements work between people. without the benefit of gestures, vocal
A team of developers charged with creat- inflection and timing, cross-modality tim-
ing a proof-of-concept system does not
have to worry about the damage caused
“An agile project ing, proximity cues, or question-and-
answer.
by a system malfunction in the same way manager relies on This principle suggests that for cost
that a team charged with developing a and efficiency improvements, a project
final production system to be produced in discipline, skill, and team employ personal, face-to-face com-
vast quantities does. Atomic power plants, munication wherever possible. A decade-
automated weapons systems, even cell understanding, while long study at MIT's Sloan School of
phones or automobiles produced in the Management in the 1970s and a recent
millions have such economic conse- requiring less formality, research compilation both concluded that
quences that it is well worthwhile spend- physical distance matters a great deal [20,
ing a great deal more time locating and process, and 21].
eliminating each additional remaining The cost of imposing distances
defect. This is an MFI situation: It is documentation.” between people can be seen with a simple
worth spending a lot of money now to calculation. Suppose that a developer earns
discover information about where those Understanding is an internal realiza- $2 per minute, and two people working
next defects are located. tion; documentation is external. Only a side-by-side on the same problem
For a system in which remaining small part of what people know can be put exchange questions and answers at the rate
defects have lower economic conse- into external documentation, and that of 100 questions each per week. Thus, for
quences (such as ordering food online small part takes a lot of time. each minute on average that gets inter-
from the company cafeteria), it is not Process designers often forget these posed between thinking the question and
worth spending as much money to dis- differences, thinking that enough formality hearing the answer adds $200 of salary
cover that information. The team will will impart discipline, enough process will cost to the project per person per week, or
consequently find it appropriate to use impart skill, and enough documentation about $10,000 per year. For a 10-person
fewer and lighter validation techniques on will impart understanding. An agile project project, that one-minute average delay
the project manager relies on discipline, skill, and costs the organization $100,000 per year.
understanding, while requiring less formal- Two offices being a few meters apart cre-
Figure 4: Differences Between Adapting and ity, process, and documentation (Figure 4).
Optimizing Approaches ates a one-minute delay. For offices around
This allows the team to move and change the corner or up a flight of stairs, the aver-
directions faster.
Discipline, Skill, Understanding

High age delay is more on the order of five min-


utes ($500,000 per year).
6. Interactive, Face-to-Face The salary cost is actually the smaller
X Typical Light Methodology Communication Is the cost. The larger cost is that when two peo-
Cheapest and Fastest Channel ple are more than about half a minute's
Adapting

for Exchanging Information travel apart, they simply do not ask each
Understanding passes from person to per- other many of those questions. Instead,
X Typical Heavy son more rapidly when two people are
Methodology
they guess at the answers. Some percent-
standing next to each other, as when they age of those guesses are wrong, and those
Low are discussing at a white board. At that mistakes end up as defects in the system
Light Heavy
white board, they can use gestures, facial that must be found through debugging,
Optimizing expressions, proximity cues, vocal inflec- external test, integration test, or even
Formality, Process, Documentation tion and timing, cross-modality (aural- through system use.

12 CROSSTALK The Journal of Defense Software Engineering October 2002


Learning From Agile Software Development – Part One

7. Increased Communication and


Feedback Reduces the Need for 2 People at

Communication Effectiveness
Intermediate Work Products White Board
Intermediate work products – those not
required by the final users of the system
or the next team of developers -– tend to 2 People
have two forms: a) promises as to what on Phone
r)
will eventually be constructed, and b) s we
- An
intermediate snapshots of the develop- nd
Videotape n -a
ers' knowledge (design descriptions). tio
ues
This understanding, as we have (Q
2 People
already seen, moves faster through inter- on E-mail
active than paper-based communication.
Increasing the use of interactive commu- Audiotape
nications will never entirely eliminate the -Ans wer)
Paper u estion
need for archivable design documenta- (No Q
tion, but it can reduce it, particularly dur-
ing the design and development stages of (cold) (hot)
the project. Eventually, external docu-
mentation will be needed when none of Richness (Temperature) of Communication Channel
the original designers are around, but Figure 5: Increasing Communication Effectiveness from Richer Communication Channels
that does not count as intermediate docu-
mentation. for-information proposition, what counts as 4. Highsmith, Jim. Agile Software Deve-
Users who regularly get to see the a money-for-flexibility proposition, and how lopment Ecosystems. Boston: Add-
developing system stop needing elabo- much money to spend on each. We have ison-Wesley, 2002.
rate promises of what they will be given. seen how people with various priorities 5. Schwaber, K., and M. Beedle. Agile
This is an MFI issue. If the users are not use those economic strategies differently. Software Development with Scrum.
going to get to see the result for a year or It is particularly important, in work- Upper Saddle River: Prentice Hall,
two, then it is worth a lot to create the ing with the first seven principles, that 2001.
most accurate promise possible. If on each be used to tune a project's running 6. Highsmith, Jim, and Alistair
the other hand, the users get to see rules, of particular importance is that Cockburn. “Agile Software
results every few days or weeks, then a each project team declares its priorities as Development: The Business of
better use of the project's money is to well as its communication and validation Innovation.” IEEE Software 34.9
simply build the system and show it to requirements. With those in place, the (2001): 120-122.
the users. team can orient itself to the amount of 7. Cockburn, Alistair, and Jim
There is, however, a MFF issue at play face-to-face communication it can man- Highsmith. “Agile Software
here as well since there are diminishing age, and the extra methodology weight it Development: The People Factor.”
returns on the MFI issue of creating that should appropriately set in place. IEEE Software 34:11 (2001): 131-133.
promise. No amount of care in crafting a The principles are intended to be 8. Boehm, Barry, and D. Port. “Balancing
detailed promise can capture the unpre- used as slider scales. Too much toward Discipline and Flexibility with the
dictable reaction of the users on seeing each end of the sliding scale brings its Spiral Model and MBASE.”
the final product in their own environ- own sort of damage. CrossTalk Dec. 2001: 23-30.
ment as they perform their work assign- The second part of this article will Available at: <www.stsc.hill.af.mil/
ments. The time and money spent on present the final three principles, then crosstalk/2001/dec/boehm.pdf>.
guessing at the users' response to the pull from the collected information to 9. Software Engineering Institute.
delivered system would be better allocat- suggest specific actions that leaders of Capability Maturity Model® Integra-
ed to deal with their response on seeing plan-driven and cost-sensitive projects tionSM V1.1 (CMMISM). Pittsburgh:
the real system. can take to either improve their strate- SEI, 2002. Available at: <www.sei.
Mock-ups, prototypes, and simula- gies, or at least hedge their bets against cmu.edu/cmmi>.
tions deal with the MFI aspects of the future surprises.◆ 10. Humphrey, Watts. A Discipline for
situation. They are an expenditure of Software Engineering. Boston:
resources to discover information soon- References Addison-Wesley, 1997.
er. The MFF aspects of the situation are 1. Beck, Kent. eXtreme Programming 11. Paulk, Mark C. “Agile Methodologies
handled through incremental delivery Explained: Embrace Change. Boston: and Process Discipline.” CrossTalk
with iterative re-work, allocating resour- Addison-Wesley, 1999. Oct. 2002: 15-18.
ces for the inevitable surprises resulting 2. Coad, P., E. Lefebvre, and J. De Luca. 12. Highsmith, Jim. “What Is Agile
from real delivery. Java Modeling In Color With UML: Software Development?” Cross-
Enterprise Components and Process. Talk Oct. 2002: 4-9.
Interim Summary Upper Saddle River: Prentice Hall, 13. Cockburn, Alistair. “Agile Software
The natural tension between agility- 1999. Development Joins the Would-Be
focused, plan-driven, and cost-sensitive 3. Cockburn, Alistair. Agile Software Crowd.” Cutter IT Journal Jan. 2002:
project teams is explained in part by their Development. Boston: Addison- 6-12.
interpretations of what counts as a money- Wesley, 2001. 14. Sullivan, K., P. Chalasani, S. Jha, and V.

October 2002 www.stsc.hill.af.mil 13


Agile Software Development

Sazawal. “Software Design as an Relevance: All You Wanted to Know nology. Cambridge, MIT Press, 1977.
Investment Activity: A Real Options About Communication But Were 21. Olson, G. M., and J. S. Olson.
Perspective,” in Real Options and Afraid to Ask.” Collaborative “Distance Matters.” Human-
Business Strategy: Applications to Computing 1.1 (Mar. 1994): 35-61. Computer Interaction 15 (2001): 139-
Decision Making. L. Trigeorgis, ed. 20. Allen, T.J. Managing the Flow of Tech- 179.
London: Risk Books. Dec. 1999.
15. Mathiassen, L. “Reflective Systems About the Author
Development.” Scandinavian Journal Alistair Cockburn, an Manifesto and founders of the
of Information Systems. Vol. 10, No. internationally recog- AgileAlliance, and is program director
1, 2. Gothenburg, Sweden: The IRIS nized expert in object for the Agile Development Conference
Association, 1998: 67-117. technology, methodolo- held in Salt Lake City. Cockburn has
16. Hohmann, L. Journey of the Software
gy, and project manage- more than 20 years experience leading
Professional. Upper Saddle River:
Prentice-Hall, 1997. ment, is a consulting fel- projects in hardware and software devel-
17. Jones, Capers. Software Assessments, low at Cockburn and Associates. He is opment.
Benchmarks, and Best Practices. author of “Surviving Object-Oriented
Boston: Addison-Wesley, 2000. Projects,” “Writing Effective Use Cases,” 1814 Fort Douglas Circle
18. Cockburn, Alistair. “Selecting a and “Agile Software Development,” Salt Lake City, UT 84103
Project's Methodology.” IEEE which have won Jolt Productivity Book Phone: (801) 582-3162
Software 17.4 (2000): 64-71. Awards. He is one of the original authors Fax: (775) 416-6457
19. McCarthy, J., and A. Monk. “Channels, of the Agile Software Development E-mail: alistair.cockburn@acm.org
Conversation, Cooperation and

WEB SITES
AgileAlliance • Better communications and frequent deliveries communi-
www.agilealliance.org/home cation reduce the need for intermediate work products.
The AgileAlliance is a nonprofit organization dedicated to This site is a resource for people wanting to understand
promoting the concepts of agile software development, and those ideas, to find more about improving skills and team-
helping organizations adopt those concepts, which are out- ing, and to identify some project policies to use as a start-
lined by the Agile Software Development Manifesto and can ing point. This site is set up as a museum of information,
be found on this Web site. The AgileAlliance was designed to
with exhibit halls, exhibit rooms, exhibits with notes, and a
be lightweight, initially consisting of a board of directors, one
administrator, and a set of bylaws. Just like agile processes, all discussion area.
work and operations within the AgileAlliance is intended to
emerge from subsets of members that self-organize into pro- North Carolina State University
grams. www.csc.ncsu.edu
The North Carolina State University's (NCSU’s) Computer
Agile Development Conference Science Department cites strengths in the areas of software
http://agiledevelopmentconference.com systems, communications and performance analysis, theory
The Agile Development Conference is a conference on deliv- and algorithms, and computer architecture. Founded in
ering fit-for-purpose software under shifting conditions, 1967, NCSU’s is one of the oldest computer science depart-
using people as the magic ingredient. A number of tech- ments in the country and the only one at a state-assisted
niques, practices, and processes have been identified to do Research I University. The university hosts a small workshop,
this, and more will be found in the future. This conference “Agile Software Development Methodologies: Raising the
will discuss people working together to create software, and Floor or Lowering the Ceiling” at <http://collaboration
the tools, techniques, practices, and issues involved. Come .csc.ncsu. edu/agile>.
here to learn, or, even better, to name them. This conference
has recently been funded and is still being organized. Read XBreed
the conference vision and structure and the request for par- www.xbreed.net/index.html
ticipation. XBreed is the product of mixing SCRUM, eXtreme
Programming (XP) and Alexanderian ideas. Information
Crystal Methodologies technology is the result of developing multiple applications
www.alistair.cockburn.us/crystal and shared components as fast as humanly possible.
Crystal collects together a self-adapting family of “shrink-to- Combining Scrum and XP was very natural: Scrum provides
fit,” human-powered software development methodologies a solid management framework, while XP provides a basic
based on these understandings: but complete set of engineering practices. The result is a lean
• Every project needs a slightly different set of policies and but very effective way to run software projects. In addition,
conventions, or methodology. Scrum practiced at the application team level – provided a
• The workings of the project are sensitive to people issues, shared resources team is involved – can lead to re-usability.
and improve as the people issues improve, individuals get XBreed is a free method. This Web site includes everything
better, and their teamwork gets better. you need to know to run XBreed projects.

14 CROSSTALK The Journal of Defense Software Engineering October 2002


Agile Methodologies and Process Discipline
Mark C. Paulk
Software Engineering Institute
Agile methodologies have been touted as the programming methodologies of choice for the high-speed, volatile world of Internet
and Web software development. They have also been criticized as just another disguise for undisciplined hacking. The reality
depends on the fidelity to the agile philosophy with which these methodologies are implemented, and the appropriateness of the
implementation for the application environment. This article addresses these issues and summarizes and critiques the com-
patibility of agile methodologies with plan-driven methodologies as described by the Capability Maturity Model® for Software.

A gile methodologies, such as eXtreme


Programming (XP), have been touted
as the programming methodologies of
tices. The ideas in the agile movement
should be carefully considered for adop-
tion where appropriate in an organization's
agile as expressed by its proponents. The
Manifesto of the AgileAlliance found at
<www.agilemanifesto.org> states:
choice for the high-speed, volatile world of business environment; likewise, organiza-
Internet and Web software development. tions considering agile methodologies We are uncovering better ways of
They have also been criticized as just should carefully consider the management developing software by doing it,
another disguise for undisciplined hacking. and infrastructure issues of the CMM. and helping others do it. Through
Although creators of agile methodologies this work we have come to value:
usually espouse them as disciplined Agile Methodologies • Individuals and interactions
processes, some have used them to argue Many names have been used for the agile over processes and tools.
against rigorous software process methods, including Internet-speed, light- • Working software over compre-
improvement models such as the weight, and lean methodologies. Similarly, hensive documentation.
Capability Maturity Model® (CMM®) for plan-driven methodologies have been • Customer collaboration over
Software (SW-CMM®) [1]. contract negotiation.
Many organizations moving into e-
commerce (and e-government) have exist- “The conclusion is • Responding to change over fol-
lowing a plan.
ing CMM-based initiatives (and possibly
customers demanding mature processes)
that agile methodologies That is, while there is value on
the items on the right, we value the
and desire an understanding of whether advocate many good items on the left more.
agile methodologies can address CMM
practices adequately. Usually, the reality engineering practices, The principles behind the agile mani-
depends on 1) the fidelity to the agile phi- festo are as follows:
losophy with which these methodologies although some practices 1. Our highest priority is to satisfy the
are implemented, and 2) the appropriate- customer through early and continuous
ness of the implementation for the appli- may have an extreme delivery of valuable software.
cation environment. 2. Welcome changing requirements, even
This article recaps the Agile Software implementation that late in development. Agile processes
Development Manifesto and its underlying harness change for the customer's
principles. The compatibility of agile is controversial and competitive advantage.
methodologies with plan-driven method- 3. Deliver working software frequently,
ologies as described by the CMM is sum- counterproductive from a couple of weeks to a couple of
marized and critiqued. Although agile months, with a preference to the short-
methodologies can be characterized as outside a narrow er timescale.
lightweight methodologies that do not empha- 4. Business people and developers must
size process definition or measurement to domain.” work together daily throughout the
the degree that models such as the CMM project.
do, a broad range of processes can be con- described as rigorous, disciplined, bureau- 5. Build projects around motivated indi-
sidered valid under the CMM. The conclu- cratic, heavyweight, and industrial- viduals. Give them the environment
sion is that agile methodologies advocate strength. Some of these descriptors can be and support they need, and trust them
many good engineering practices, although considered derogatory, e.g., lightweight or to get the job done.
some practices may have an extreme bureaucratic. Agile is the term preferred by 6. The most efficient and effective
implementation that is controversial and the AgileAlliance, a group of software method of conveying information to
counterproductive outside a narrow professionals dedicated to promoting the and within a development team is face-
domain. concepts of agile software development. to-face conversation.
For those interested in process Plan-driven was coined by Barry Boehm [2] 7. Working software is the primary meas-
improvement, the ideas in the agile move- to characterize the opposite end of the ure of progress.
ment should be thoughtfully considered. planning spectrum from agile methodolo- 8. Agile processes promote sustainable
When rationally implemented in an appro- gies. development. The sponsors, develop-
priate environment, agile methodologies Any discussion of agile methodologies ers, and users should be able to main-
address many CMM Level 2 and 3 prac- should begin with the fundamentals of tain a constant pace indefinitely.

October 2002 www.stsc.hill.af.mil 15


Agile Software Development

9. Continuous attention to technical lems in de-emphasizing processes, docu- tainly fail. Agile practices are synergistic,
excellence and good design enhances mentation, contracts, and planning. and the success of agile methodologies
agility. depends on the emergent properties of
10. Simplicity – the art of maximizing the Individuals Over Process the set of practices as a whole.
amount of work not done – is essen- Agile methodologies assume the pro-
tial. grammers are generalists rather than spe- Working Software
11. The best architectures, requirements, cialists. Competent generalists are hard to Over Documentation
and designs emerge from self-organiz- come by, but this is an endemic problem The agile emphasis on tacit rather than
ing teams. in any technically demanding discipline. explicit knowledge, as externally captured
12. At regular intervals, the team reflects Specialist knowledge in a domain can be in documentation, can be a high-risk
on how to become more effective, then needed, however, which may lessen the choice in many environments such as
tunes and adjusts its behavior accord- effectiveness of practices such as pair government contracting, but it can be an
ingly. programming. effective choice if rationally made. When
Agile methodologies are usually target- The foundation of software engineer- agile advocates denigrate the value of
ed toward small- to medium-sized teams ing in the SW-CMM at Level 1 is compe-
documentation, they lessen their credibil-
building software in the face of vague tent people, sometimes doing heroics, all
ity in the eyes of many experienced pro-
and/or rapidly changing requirements. too frequently working to overcome the
fessionals. The tone in arguing against
Agile teams are expected to be co-located, system to do professional work. In spite of
non-essential documentation differs from
typically with less than 10 members. heroics, the foundation that is assumed in
arguing that documentation is an ineffi-
the CMM is competent professionals.
cient waste.
Process Discipline in eXtreme Programming expert Bob
the Agile Methods
Why would we challenge the principles of
“Software professionals Martin said at the 2001 XP Universe con-
ference that he ran into someone who
agile methodologies? Do not most profes- want to take pride in said his organization was using XP.
sionals share the objectives espoused in Martin asked him how pair programming
the agile movement? In one sense, the val- their work, but how can was viewed, and the reply was, “We don’t
ues expressed in the agile manifesto should do that.” Martin asked how refactoring
be captured in any modern software proj- they when managers say, was working out, and the reply was, “We
ect, even if the implementation may differ don’t do that.” Martin asked how well the
radically in other environments. Customer ‘I’d rather have it wrong planning game was working, and the reply
satisfaction, communication, working soft- was, “We don’t do that.” “Well,” Martin
ware, simplicity, and self-reflection may be than have it late.We can asked, “then what are you doing?” “We
stated in other terms, but without them, don’t document anything!” was the
non-trivial projects face almost insur- always fix it later.’ ” answer.
mountable odds against success. Success carries the seeds of failure,
In effective CMM-based improvement, Without competent professionals, the and the agile methodologists are con-
when defining processes, organizations best software process is ineffective – cerned that some adopting these new
should capture the minimum essential because the work we do in software proj- ideas do not really understand what an
information needed, use good software ects is human-centric and design-inten- agile methodology is – and it is not ad
design principles (such as information hid- sive, and the process is what we do. hoc, chaotic programming.
ing and abstraction) in structuring the def- Software professionals want to take When considering process documen-
initions, and emphasize usefulness and pride in their work, but how can they tation, the element that is missing from
usability [3]. One of the consequences of when managers say, “I’d rather have it agile methodologies, which is crucial for
the Level 1 to Level 2 culture shift is wrong than have it late. We can always fix the SW-CMM, is the concept of institu-
demonstrating the courage of convictions it later.” When program managers tionalization, i.e., establishing the culture
by becoming realistic in estimates, plans, acknowledge that making the schedule is that “this is the way we do things around
and commitments. the primary consideration in raises and here.”
Much of the formalism that character- promotions, what is the impact on moti- Although implicit in some agile prac-
izes most CMM-based process improve- vation, quality, and professionalism? tices such as the peer pressure formed by
ment is an artifact of large projects and/or These are fundamental management pair programming, infrastructure is
severe reliability requirements, especially issues, which is why the focus at Level 2 important for institutionalizing good
for life-critical systems. The hierarchical of the SW-CMM is on project manage- engineering and management practices.
structure of the SW-CMM, however, is ment, which empowers competent pro- The key process areas in the CMM are
intended to support a broad range of fessionals to do quality work. structured by common features that deal
implementations within the context of the It is interesting to note that, although with implementing and institutionalizing
18 key process areas and 52 goals that agile methodologies emphasize individu- processes. The institutionalization prac-
compose the requirements for a fully als over process, the set of practices in an tices for each key process area map to all
mature software process. It is true, howev- agile methodology addresses the same the goals within the area, so a naïve agile
er, that the CMM emphasizes explicitly kind of planning and commitment issues implementation that ignored these cultur-
capturing knowledge via documentation as the focus on basic project management al issues would fail to satisfy any CMM
and measurement – a process emphasis. at CMM Level 2. An agile methodology that key process area.
The challenge for many in adopting agile ignored customer collaboration and incre- As implementation models that focus
methodologies lies in the (perceived) prob- mental development would almost cer- on the development process, these issues

16 CROSSTALK The Journal of Defense Software Engineering October 2002


Agile Methodologies and Process Discipline

are largely outside the focus of the agile retrieving outcome information” [5], with Responding to Change
methodologies, but they are arguably cru- the consequence that “change can make Over Planning
cial for their successful adoption. liars of us, liars to ourselves” [6]. As time Dwight Eisenhower is quoted as saying that
Over-documentation is a pernicious goes by, as things change, our unaided planning is more important than the plan.
problem in the software industry, espe- memories become unreliable. And one of the great military axioms is that
cially in Department of Defense (DoD) The reliance of agile methodologies no battle plan survives contact with the
projects. Software maintainers have long on tacit knowledge is therefore vulnerable enemy. That said, planning – and prepara-
known that the only documentation you to perception shifts over time, yet tacit tion – are prerequisites to success. Planning
can really trust is the code (and those of knowledge may be much more effective for change is quite different from not plan-
us with experience debugging compiler than external, explicit knowledge in set- ning at all.
and run-time defects doubt even that). ting expectations and driving behavior. In Agile methodologies, with their rapid
Having said that, an architectural descrip- a government-contracting context, federal iterations, require continual planning.
tion of the system that provides a tour of acquisition regulations establish a context Customer collaboration and responsiveness
the top-level design can be invaluable to for ensuring fair play – even if it is not to change are tightly linked, if perhaps
maintainers. necessarily an effective and efficient envi- inconsistent with typical government-con-
From a technical perspective, as proj- ronment. This can be considered a prob- tractor relationships. One of the shifts in
ects become larger, emphasizing a good lem in expectations management. The acquisition strategy in recent years has been
architectural philosophy becomes increas- agile methodologies manage customer toward prototyping, evolutionary develop-
ingly critical to project success. Major expectations by insisting on an ongoing ment, and risk-driven life cycles. With their
investment in the design of the product’s customer interaction and rapid iteration. emphasis on addressing requirements
architecture is one of the practices that volatility, agile methodologies could be a
characterizes successful Internet compa-
nies [4]. Architecture-based design, desig-
“One of the most powerful synthesis of practices that DoD
contractors could leverage to make planning
ning for change, refactoring, and similar significant barriers to more responsive to change.
design philosophies emphasize the need
for dealing with change in a systematic implementing an agile Stepping Up to the Plate
fashion. The greatest challenge in taking advantage
One of the compromises that agile methodology is likely of the virtues of agile methodologies may
methodologists are likely to be required to lie in convincing acquisition agencies to step
make as they move into larger projects to be an inability to up to the plate and use agile methods where
and applications that are life- or mission- appropriate. Hardly lesser is the challenge in
critical is a stronger emphasis on docu- establish and maintain convincing agile advocates to consider mod-
menting the architecture and the design
of the system. In turn, plan-driven close and effective ifying the agile methodologies to suit new
arenas. We have to decide where to place the
methodologists must acknowledge that
keeping documentation to a minimum,
customer collaboration.” balance point in documentation and planning
to alleviate the concerns of the stakeholders
useful set is also necessary. What benefit (and regulatory requirements) while achiev-
Ignoring possible regulatory issues, the
do we really get from detailed designs ing the flexibility and benefits promised in
stories in XP, in conjunction with an evolu-
where the programming design language the agile philosophy.
tionary life cycle and ongoing customer-
is nearly as large as the code? Agile methodologies may wind up being
supplier communication [7], document
Much of the controversy with respect the preferred process in many environ-
requirements and commitments in a man-
to the technical issues centers on what ner that could satisfy the goals of require- ments, yet be inappropriate in contexts such
happens as projects scale up. Practices ments management and software project as life-critical systems or high-reliability sys-
that rely on tacit knowledge and highly planning in the SW-CMM. Will such a set tems. Modifications to the agile methodolo-
competent professionals may break down of stories satisfy a DoD customer that the gies needed for those environments may be
in larger teams with their rapidly expand- requirements are adequately stated and great enough that the synergistic effects of
ing communication channels and coordi- that commitments as driven by the customer the set of practices in an agile methodology
nation challenges. However, replacing are being met? Or will the natural desire are lost. Emergent properties in a system are
those practices with ones appropriate for for a more comprehensive requirements sensitive to interdependencies. Arguing that
large teams may result in losing the emer- statement drive the customer towards a agile methodologies are not suitable for all
gent properties of the agile methodology. requirements specification that lacks the environments is not the same as saying they
dynamic capability desired for an agile are suitable for none.
Customer Collaboration methodology? Contractual commitments explicitly
Over Contracts Perhaps an honest answer to this type based on evolutionary or incremental life
The degree of trust implicit in relying on of question reveals more about the com- cycles are desirable. Plans with miniature mile-
customer collaboration rather than a con- fort levels of both customer and supplier stones that are detailed in the short term and
tract is not justified in many customer- in an agile relationship. One of the most sig- conceptual in the long term are possible.
supplier relationships. Even when the rela- nificant barriers to implementing an agile Processes that capture the minimum essen-
tionship begins with the best of intentions methodology is likely to be an inability to tial information needed to reliably and con-
and the highest of expectations on both establish and maintain close and effective sistently perform the work and documenta-
sides, one of the main difficulties in learn- customer collaboration – and this barrier tion that captures useful information are
ing from experience is “the use of unaid- is likely to be erected on the customer’s feasible. Just because these objectives are
ed memory for coding, storing, and side of the relationship. desirable, possible, and feasible does not,

October 2002 www.stsc.hill.af.mil 17


Agile Software Development

however, mean they are easily realized. useful, and what is limited in its applica- Persistence of the Illusion of Validity.”
Selecting an appropriate balance point tion. Laurie Ann Williams, for example, has Psychological Review 85.3 (1978).
requires an open mind from both agile and integrated pair programming into an exten- 6. Dawes, Robyn M. Rational Choice in an
plan-driven methodologists on both the sion of the Personal Software ProcessSM Uncertain World. Orlando: Harcourt
supplier and customer sides of the equation. called the Collaborative Software Process, Brace Jovanovich, 1988.
and demonstrated that performance 7. Beck, Kent. eXtreme Programming
Conclusions improves [9]. Explained: Embrace Change. Boston:
Agile methodologies imply disciplined Many of the practices in the agile Addison-Wesley, 1999.
processes, even if the implementations dif- methodologies are good practices that 8. Paulk, Mark C. “Extreme Programming
fer in extreme ways from traditional soft- should be thoughtfully considered for any From a CMM Perspective.” IEEE
ware engineering and management prac- environment. While the merits of any of Software 34.11 (2001).
tices; the extremism is intended to maxi- these practices can be debated in compari- 9. Williams, Laurie Ann. “The Collabora-
mize the benefits of good practice [8]. The son with other ways of dealing with the tive Software Process.” Diss. Univer-
SW-CMM tells what to do in general terms, same issues, none of them should be arbi- sity of Utah, Aug. 2000.
but does not say how to do it; agile method- trarily rejected. Perhaps the biggest chal-
ologies provide a set of best practices that lenge in dealing effectively with both agile
contain fairly specific how-to information and plan-driven methodologies is dealing About the Author
– an implementation model – for a partic- with extremists in both camps who refuse to Mark C. Paulk is a
ular kind of environment. keep an open mind.◆ senior member of the
Even though agile methodologies may Technical Staff at the
be compatible in principle with the disci- References Software Engineering
pline of models such as the CMM, the 1. Paulk, Mark C., Charles V. Weber, Bill Institute. He has been
implementation of those methodologies Curtis, and Mary Beth Chrissis. The with the SEI since
must be aligned with the spirit of the agile Capability Maturity Model ®: Guidelines 1987. Paulk was the “book boss” for
philosophy and with the needs and inter- for Improving the Software Process. Version 1.0 of the Capability Maturity
ests of the customer and other stakehold- Boston: Addison-Wesley, 1995. Model® for Software and the project
ers. Aligning the two in a government-con- 2. Boehm, Barry. “Get Ready for Agile
leader during the development of
tracting environment may be an insur- Methods, With Care.” IEEE Computer
mountable challenge. Jan. 2002. Software CMM® Version 1.1. His cur-
As we learn empirically what works well 3. Paulk, Mark C. “Using the Software rent interests center on high maturity
in the agile methodologies and how far CMM with Good Judgment.” ASQ practices and statistical control for
they can be extended into different envi- Software Quality Professional June software processes.
ronments, we should expect software engi- 1999.
neering to adapt and adopt the useful ideas 4. MacCormack, Alan. “Product Devel- Software Engineering Institute
of the visionaries in the agile movement. opment Practices That Work: How Carnegie Mellon University
This will include using data to separate the Internet Companies Build Software.” Pittsburgh, PA 15213
wheat from the chaff as we identify what is MIT Sloan Management Review Winter Phone: (412) 268-5794
2001. Fax: (412) 268-5758
SM
Personal Software Process is a service mark of Carnegie 5. Einhorn, Hillel J., and Robin M. E-mail: mcp@sei.cmu.edu
Mellon University. Hogarth. “Confidence in Judgment:

2002 U.S. Government's Top 5 Quality Software Projects


The Department of Defense and CrossTalk are currently accepting
nominations for the 2002 U.S. Government's Top 5 Quality Software
Projects. Outstanding performance of software teams will be recognized
and best practices promoted.

These prestigious awards are sponsored by the Office of the Under


Secretary of Defense for Acquisition Resources and Analysis, and are
aimed at honoring the best of our government software capabilities and
recognizing excellence in software development.

The deadline for the 2002 nominations is December 13, 2002. You can
review the nomination and selection process, scoring criteria, and
nomination criteria by visiting our Web site. Then, using the nomination
form, submit your project for consideration for this prominent award.

Winners will be presented with their award at the 15th annual Software
Technology Conference in Salt Lake City and will be featured in the
July 2003 issue of CrossTalk and recognized at the Amplifying
Your Effectiveness 2003 conference.

18 CROSSTALK The Journal of Defense Software Engineering October 2002


Odyssey and Other Code Science Success Stories
John Manzo
AgileTek L.L.C.
Code Science® is an agile software development method based on eXtreme Programming (XP). This article describes the suc-
cess achieved using code science to develop a complex industrial automation application. With a brief review of XP as back-
ground, code science is described in terms of refinements made to XP in applying it to a wide variety of application domains
and industries over a period of almost four years. Included are real-world insights from the developers’ experience in applying
this agile development method, concluding with a quantitative measure of the effectiveness of XP since its inception almost
four years ago.

U sing Code Science®, an agile software


development methodology based on
eXtreme Programming (XP), we1 recently
In a side-by-side comparison of XP and
waterfall on the very same project, the XP
team delivered their final product when the
the features they need are provided.
5. Refactoring. The system design is
improved throughout the entire develop-
delivered an application (code-named other team was less than 50 percent com- ment process. This is done by keeping
Odyssey) consisting of 400,000-plus exe- plete. Since then, we refined our initial XP the software clean, without duplication,
cutable source lines of code (ESLOC) to approach to encompass successive refine- as simple as possible, and yet complete –
one of the world’s premier industrial ments that became known as Code Science. ready for any change that comes along.
automation companies. The application was (Martin Fowler defines refactoring as
written in C++ by as many as 17 developers “the process of changing a software sys-
(including some of our customer’s staff) in
approximately 15 months. We are geograph-
“In a side-by-side tem in such a way that it does not alter
the external behavior of the code yet
ically remote from this customer. comparison of XP and improves its internal structure” [2]).
Odyssey was delivered a month and a half 6. Pair Programming. XP programmers
ahead of schedule with a productivity rate of
waterfall on the very write all production code in pairs: Two
43 ESLOC per coding hour. During the programmers work together at one
project duration, approximately 2,400
same project, the XP machine.
7. Collective Ownership. All the code
defects were found and fixed, yielding a cap-
tured defect density of six defects per thou-
team delivered their final belongs to the all the programmers. This
sand lines of code (KLOC). During a thor- product when the other enables the team to work at full speed.
ough, more than six-week customer-con- When something needs changing, it can
ducted acceptance test, only about 200 team was less than 50 be changed without delay. It is important
defects were found (none severe), yielding a to note that an effective configuration
delivered defect density of 0.5/KLOC. The percent complete.” management discipline is an important
enabler of this practice.
customer is delighted with the product and is
confident of the competitive edge achieved. 8. Continuous Integration. The software
Code Science is largely based on the system is integrated and built multiple
The Application twelve tenets of XP. These are as follows: times per day (ideally, every time a task is
The Odyssey program consists of two dis- 1. Customer at the Center of the Project. finished). Continual regression testing
tinct but related scalable vector graphics The customer is treated as a full-fledged prevents functional regressions when
applications. The first is a run-time applica- member of the development team with requirements change. This also keeps the
tion that issues real-time commands from a access to all the information that the rest programmers on the same page and
touch screen panel to devices known as pro- of the team is privy to (e.g., defect logs, enables very rapid progress.
grammable logic controllers, which are used issue lists, etc.). 9. 40-Hour Workweek. Tired programmers
in manufacturing assembly processes. The 2. Small Releases. Simple releases are put make more mistakes. XP teams do not
second is a panel design application that into production early and updated fre- work excessive overtime, which keeps
enables human-machine interface engineers quently on a very short cycle (two to them fresh, healthy, and effective.
to develop the graphical equivalent of a three days). New versions are released at 10. On-Site Customer. An XP project is
hardware panel made up of buttons, gauges, the end of each iteration (three to five steered by a dedicated individual who is
and other control and monitoring devices. weeks). empowered to determine requirements,
3. Simple Design. A program built with XP set priorities, and answer questions.
Why Agile Methods should be the simplest program that 11. Coding Standards. For a team to work
We began experimenting with XP several meets the current requirements. effectively in pairs and to share owner-
years ago, and actually began our first XP 4. Relentless Testing. XP teams focus on ship of all the code, programmers need
project a few months before Kent Beck pub- validation of the software at all times. to write the code in the same way with
lished his first book on the subject [1]. Programmers develop software by writ- rules that ensure the code communicates
Before that time, we used several traditional ing tests first followed by software that clearly.
waterfall and rapid application design-based fulfills the requirements reflected in the 12. Metaphor. Development is guided with a
methods. We were impressed at how quickly tests. Customers provide acceptance
® Code Science is registered in the U.S. Patent and Trademark
our first XP project was completed. tests that enable them to be certain that Office.

October 2002 www.stsc.hill.af.mil 19


Agile Software Development

simple shared story of how the overall cessive rounds (usually three) until the stan- By spending a relatively small amount of
system works. XP was originally used to dard deviation (a measure of uncertainty) is time up front, one can ensure both a prod-
develop a payroll program at Chrysler made sufficiently narrow. Once the number uct with conceptual integrity and a project
Corporation [3]. The team used the of perfect programmer hours is known, a that can scale.
metaphor of an assembly line to describe loading factor is applied to convert this esti-
the process of building a payroll check. mate to real programmer hours. + Automated Contract and
The key tenet in XP is iterative develop- Regression Testing
ment and the unforgiving honesty of work- + Componentized Architecture Given that XP is premised upon the need to
ing code. The concept of iterative develop- For complex systems, it is especially impor- embrace change, making it easy to perform
ment has been around for a long time. tant to assure conceptual integrity in the final regression testing is an important part of
However, XP does have some limitations product. Also, because complex systems can any XP project. We have taken this to the
such as scaling – the ability to add large be large, it is also important to enable the next level by implementing the capability to
numbers of developers to a project that system to be developed in an environment perform contract testing, which checks for
requires them. (Most XP practitioners con- of distributed ownership. Among the least the existence of predefined pre-conditions,
sider six to 12 developers to be the practical understood areas of XP is the notion of post-conditions and class invariants. (As an
limit.) It was necessary to modify XP to design-as-you-go through refactoring. To some, example, an overdrawn flag in your checking
develop a methodology that would work on especially those who equate design and account is invalid if there is a positive bal-
large projects, across multiple application architecture, this means no up-front archi- ance remaining after the last transaction.)
domains, and for clients with diverse and tecture, and, by implication, any architecture
sometimes very specialized needs, for exam- that the delivered system may have is a de- + Story Actors
ple, regulatory environments such as the facto one at best. We have added to the notion of stories the
Food and Drug Administration (FDA), concept of story actors. Actors are personifi-
where there is a strong need for extensive
documentation. “The best architectures cations of the various categories of users the
system will encounter. Thinking of the
The Code Science Difference are isomorphic requirements in terms of actors brings the
requirements to life as well as unmasks
A way to quickly understand Code Science is
to think of it as XP with a delta (a set of dif-
(one-on-one) mappings nuances that would otherwise remain invisi-
ble to both the developers and the customer.
ferences). Some of the differences are addi- between problem and
tive (+), some are subtractive (-) and some + Wall Gantts
are simply modifications or refinements ().
Following are a set of differences defined.
program space.” Frequently used in project management, a
Gantt chart provides a graphical illustration
of a schedule that helps to plan, coordinate,
+ Business Process Analysis Architecture of a system simply means
and track specific tasks in a project. We have
In employing XP there is an implicit identifying the constituent components of
taken the concept one step further and
assumption that the client basically knows the system and defining the interrelation-
ship(s) between them. The best architectures adapted it to agile methods by creating a
what it wants and, therefore, the require-
are isomorphic (one-to-one) mappings physical construct using twine, pushpins,
ments gathering process can begin with user
stories. Although this is often the case, many between problem and program space. This and index cards. The twine is used to create
of our clients need to focus and solidify their ensures that a system’s underlying structure a line on a wall. Tasks, written on cards, are
ideas and, most importantly, determine with and components mirror the problem being folded in half and hung on the line (one line
clarity what they need rather than what they solved. This means that for the program to for each project participant). Index cards
want. To accomplish this, we developed a change requires that the problem changes and, with dates (one for each day of an iteration,
process that helps bring focus and under- therefore, you are change-proofing your pro- which usually lasts three to five weeks) are
standing to the client’s business needs, prior- gram. While there may be more efficient pinned across the top of the chart.
itizing features and functions in terms of the ways to solve a problem (e.g., creating one Physically constructing the Gantt chart
business value they represent. This first step, module to perform similar functions by makes it very easy to move tasks around,
which is formally absent from XP, is a step invoking it in a context sensitive way), this drive out dependencies, and load balance.
we can take when necessary to ensure that the efficiency will almost always come at the Because the chart is wall size, it is easy for
story-gathering effort produces stories based expense of time spent debugging and later the team to stand around the chart to discuss
on a real vs. perceived need. modifying the program if one or more of the state of the project in near real-time
the functions change. (each day starts with a stand-up meeting).
+ Delphi Estimation However, it also means something more. The wall Gantt also provides clear owner-
The Delphi method of estimating involves By defining the relationships between the ship for development efforts, encourages
three or more participants who discuss the various components, one has gone most of accountability, and serves as the team’s war
work and provide anonymous estimates of the way toward establishing agreements for room and center of the project universe.
the time for completion (usually in units of the interfaces. The power of interface agree-
perfect programmer hours – i.e., an ideal, no ments is that they serve as restrictive libera- + Automatic Document Generation
interruption, period of time). These esti- tors. In other words, the individuals working Through a tool we have built called Doc-It
mates are tallied and a mean and standard on various system components are free to (similar to JavaDoc), we are able to reduce
deviation is made known to the participants. design the internals of those components the burden and streamline the process of
Discussion ensues among the participants as without regard for potential untoward generating documentation that describes the
to the differences in the estimates (which effects on the rest of the system – so long as inner workings of the code. Experience
remain anonymous). This continues for suc- the interface agreements are honored. shows that it is a poor practice to separate

20 CROSSTALK The Journal of Defense Software Engineering October 2002


Odyssey and Other Code Science Success Stories

documentation from the code that it describe some of our developers’ more team found it helpful to make their work
describes. Updating source code documenta- salient experiences and insights in applying environment homier. By making their work-
tion is difficult enough, but once the docu- these tenets. place a more dorm-like environment, they
mentation is separated from the code, it is significantly eased the stress of the long,
“out of sight, out of mind.” To deal with The Customer Is often intense, workdays and nights.
this, a programmer simply needs to tag a at the Center
comment in the source code and Doc-It cre- XP talks about having the customer on-site. Componetized Architecture
ates automatic HTML Application Program While this is ideal, our experience in using A high-level architecture was defined at the
Interface documentation with every build. XP/Code Science over the last four years is beginning of the first iteration, and as more
Doc-It traverses source code directories, that it is seldom practical unless your cus- information became available, more detail
creating a navigable hierarchy (directory, tomer is internal. In the case of Odyssey, the was added to successive iterations. Team
class, method) and creates a Web page for customer was located hundreds of miles leads would spend perhaps two days with
each source file. This makes the documenta- away. their teams using white boards for a four to
tion easily accessible to new and existing More important than physical location, six-week iteration. We found that the biggest
team members. It also makes the documen- however, is putting the customer at the cen- mistake one can make here is to attempt to
tation easily accessible to clients during co- ter of your project as described earlier. In an get too detailed about something for which
development or during knowledge transfer XP/Code Science project, there is no there is insufficient information.
phases. attempt to hide information from the cus-
tomer. While we did not insist the customer Story Actors
 Pair Programming be physically in our facility, we did request Because most of the team never worked on
Although our experience proves pair pro- that they be present during iteration plan- an industrial automation application, actors
gramming to be extremely effective, for ning, periods of critical knowledge transfer, helped the team get familiar with the client’s
or to approve test plans and validate their domain. When the team took a field trip,
many routine programming tasks, pair pro-
results – usually at the beginning/end of they could identify the user types by their
gramming has not shown itself to be cost
iteration. When this was impractical, or for actor names (representative of their role-
effective. On the other hand, for anything
routine communications, we used e-mail, play, more than their job title). It helped the
either algorithmically or logically complex, team understand the business and how the
pair programming is a must. The default is to conference calls, WebEx sessions, or video-
conference. With active customer participa- product would be used in stories. The
program in pairs, but the team gets to decide requirements were written in terms of how
which modules will be coded solo. tion, the resulting product can be everything
that the customer expects it to be. the system would be used, vs. desired func-
tions. By associating who is doing what, it
- 40-Hour Workweek helps conceptualize and compartmentalize
Refactoring
While we strive to provide the highest quali- Refactoring does not mean re-working. Do the functions.
ty of life for all our staff members, it is unre- not partially write a feature with the intent of
alistic to expect that our client’s time-critical refactoring to get it complete later. Keep the Wall Gantts
requirements will not sometimes necessitate changes simple, but keep them atomically Wall Gantts make load balancing easy and
sustained periods of activity. Treating a 40- complete. kept the project on track. The whole team
hour workweek as a hard requirement is sees the actual size of the function based on
often impractical. Pair Programming the task cards and there is great satisfaction
Pair programming was especially useful in in putting completion stickers on each card.
- Metaphor ramping up a new staff member. It was also An extremely useful management tool, Wall
Metaphor is not included in Code Science. quite useful for chasing down complex Gantts also helped to reveal issues and
While we concede that it has benefits, so far defects. For simple modules, the team found expose risks.
we have not found a need to incorporate the it more expedient to use the white board in
use of metaphor in our methodology. pairs for 15 minutes, then program solo. Large Team Experience
Although the overall team was divided into
+ Flexibility to Meet Continuous Integration subteams, stand-up meetings were typically
Client’s Special Needs The team performed builds at least daily, with the entire team. Team leads summarize
Some of our clients have special needs that more often, two or three times a day. With a and add detail with other team members as
are not accounted for by pure XP (e.g., in good automated build program, you cannot needed. As tasks are completed, people can
highly regulated environments such as bio- build too often. Our builds are generated move from one team to another.
medicine, the FDA requires specialized doc- with a custom, home-grown application that
umentation and traceability for certain types creates builds at 4 a.m. and again at 3 p.m. Conclusion
of software). Code Science eliminates this This gives the team a fresh build every During a period of almost four years,
XP limitation by incorporating a special needs morning and also one to work on in the XP/Code Science has been employed on 14
provision in our methodology. afternoon. Besides performing the physical projects across a wide variety of application
build, we are also informed if the build is domains and industries such as aerospace,
Application to Odyssey broken (e.g., cannot compile because of a telecommunications, banking and finance,
Code Science is used on all Geneer software syntax problem, or a configuration manage- pharmaceuticals, consumer goods, and even
development projects. The Odyssey project ment issue – checked in one file and not pari-mutuels. These projects ranged in size
was no exception. However, no two projects another, etc.). from 10 KLOCs for a Personal Data
are the same. Each emphasizes certain of Assistant client, to more than 400 KLOCs
the specific tenets described above to differ- 40-Hour Week
ing degrees. In the interest of brevity, we During a long period of peak activity, the CONTINUED ON PAGE 30

October 2002 www.stsc.hill.af.mil 21


Software Engineering Technology

Integrating Systems and Software Engineering: What Can


Large Organizations Learn From Small Start-Ups?
Paul E. McMahon
PEM Systems
In an effort to integrate more effective systems and software engineering, many companies today are examining their internal
processes. Recent research conducted on distributed development efforts may provide insight that could aid today’s systems and
software integration initiatives. Drawing material from his book, “Virtual Project Management: Software Solutions for
Today and the Future [1],” the author explores variations in large and small engineering organizations and presents an alter-
native view of large projects that may aid companies in their quest for more effective systems and software integration.

T oday, many companies are examining


their internal processes in an effort to
integrate more effective systems and soft-
the Systems Engineering department is
totally responsible for producing the soft-
ware requirements specification (SRS). In
by the same name, but in different organ-
izations, can differ greatly.

ware engineering. Many of the challenges other organizations, the Systems and Common Successful Key
faced in integrating systems and software Software Engineering departments col- Characteristics
engineering exhibit similarities to chal- laborate on the production of the SRS It is not the intent here to judge the mer-
lenges observed on large distributed with each producing specific piece-parts of its of particular organizational approach-
efforts. the final SRS. We have also witnessed a es, but rather to acknowledge their exis-
In this article, engineering organiza- third organizational variation where the tence and to point out a key characteristic
tional variations are first explored, not to Software Engineering department pro- we have observed common to all success-
judge but to recognize the existence of duces the complete SRS, while the sys- ful organizations. In each case, when an
variation and to note a common charac- tems group provides a review and organization functions successfully to
teristic observed in all successful organi- approval role. produce an end product, individuals with-
zations regardless of size or structure. in that organization understand and accept
their specific role. That is, they understand
The article then discusses how the identi-
fied characteristic is achieved in different “... it is important the organization’s expectations of them.
organizations. to note that what This mutual understanding of roles,
This preliminary investigation sets the responsibilities, and expectations leads to
stage for a closer examination of what we are asking operational efficiency with minimal dupli-
cation of effort. The successful organiza-
systems and software integration means
in practice. An alternative view of a suc- engineers to do in tion appears from the outside to function
as a single unit. Its piece-parts may vary
cessful large project is presented that may
challenge current published literature. departments by the on the inside, but in each case they come
together without major surprises into a
The information presented in this article
is the result of research initially conduct- same name, but final integrated product.
It is worth noting here that in our
ed on large distributed projects [1].
in different experience we have found in many suc-
cessful organizations that the definition of
Organizational Variation
If you were to ask a manager or senior organizations, can and responsibility for each piece-part is
oftentimes not written down or described
engineer working today in a large
advanced technology software-intensive differ greatly.” formally. It has been our experience
working with large software intensive
organization to examine the chart in organizations with long histories of
Figure 1, it is likely he (or she) would nod Note that in all three cases described, development and evolution that this
his (or her) head up and down, reflecting the organizational chart referenced in knowledge may have been written down
familiarity with the functional organiza- Figure 1 could be used to describe the at some point in time but due to organi-
tional structure and terminology organizational structure. At the same zational evolution, its current state is
employed on the chart. time, it is important to note that what we most often passed on through less formal
Each rectangle on Figure 1 under- are asking engineers to do in departments means.
neath the engineering manager is imple-
mented through a department each with Figure 1: Traditional Functional Engineering Organization
its own manager and pool of skilled engi- Engineering
neers. At this level, similarity across Manager
diverse organizations is evident.
Nevertheless, while many organizations
have a similar top level structure, we have
seen that inside these organizations
implementation can vary greatly. Systems Software Integration & Test Support
For example, in some organizations Engineering Engineering Engineering Engineering

22 CROSSTALK The Journal of Defense Software Engineering October 2002


Integrating Systems and Software Engineering: What Can Large Organizations Learn From Small Start-Ups?

Communicating Expectations ty: the small team model. budget. The software engineers were
in Large Organizations aware of the schedule and budget and felt
In large organizations we tend to see The Small Team Model ownership of it because they had partici-
expectations communicated through Today, many small organizations are mov- pated in its development. On the other
structure and what we refer to as a ing away from the super programmer hand, in many large organizations, we
process focus. While many large firms model of operation in favor of a small team have found that it is not uncommon for
have over the past few years undergone development approach. This change also engineers to have little insight into the
organizational streamlining, our experi- often reflects a move away from a code- project schedule and budget.
ence indicates that sizable written com- and-fix methodology, or no process, to Upon first learning about XP, we
mand media with phase-related exit and what is referred to as an adaptive or light- found its code-focus to be difficult to
entry criteria continues to be relied upon. weight process or method [2]. When we accept. However, after observing an XP
The process employed inside many of use the term adaptive method in this article team in action, it left us with a different
these large organizations can be referred we mean a method that supports rapid impression.
to as predictive, or repeatable. While change initiated through small teams. The notion that programmers using
written command media aids repeatabili- Lightweight processes can be thought XP do not design is a misunderstanding.
ty and communication, we have found of as just enough process, or process with- One member of a small XP team
that new engineers in many large organi- out a process-focus. Examples include explained it to us this way: “Just because
zations cannot rely totally on this written eXtreme Programming (XP), which have we focus on the code doesn’t mean we
word to fully comprehend organizational been described by Kent Beck [3] and Jim don’t give each task considerable fore-
expectations. Frequently, local cultures Highsmith [4]. thought. We just don’t write down the
are also relied upon to aid communica- Characteristics of many lightweight result formally, and we don’t use a formal
tion of expectations. processes include the following: design tool.” Then after he hesitated, he
• Code and test focus. added, “But we might draw a sequence
Communicating Expectations • Continual iterative design. diagram or two, if we think it might help.”
• Pair programming. Another member of the same team said,
in Small Organizations • Continual planning and integration. “We keep our designs as simple as possi-
Unlike many large organizations, small Upon first learning about the charac- ble, and we try not to spend any unneces-
organizations most often see little struc- teristics of XP, our reaction was, “This is sary time in design.”
ture, little process, and little established fluff camouflaging a traditional code-and - We had an opportunity to witness the
culture. The focus of most small organi- fix methodology.” However, after observ- design process in action with a small team,
zations is on surviving. We find many ing and interacting with a number of small and it reminded us of an informal brain-
small organizations to be heavily reliant teams embracing this approach, we have storming session you might see in any
on specific individuals. Given this situa- reached a different conclusion. organization. The meeting had not been
tion, on the surface it would appear there scheduled ahead of time. It just happened
is little a large organization could learn XP Fundamentals in Practice because one member of the team wanted
from a small one. However, let us take a While it is true that XP focuses on today, some help. Within a few minutes, three
closer look at the small organization. we have found that organizations that take team members had gathered around a
this methodology seriously do not do so at white board, and 25 minutes later there
The Small Organization the expense of planning. In fact, teams was a design solution sketched out on the
Super Programmer Model that follow this process often find them- board. We suggested that someone cap-
The communication of expectations in selves planning continuously. Planning in ture the diagram more formally.
many small organizations is simple to an XP environment is different from tra- Another interesting aspect of XP is
describe. We refer to it as the super pro- ditional planning conducted on many pair programming. When we first heard
grammer model that implies a do-it-all large projects. Plans are short in length, about pair programming, we expressed
expectation. The problem with this contain specific attainable goals, and often agreement with the concept to a young
model is that, while expectations are focus on periods of only a few weeks in client. Our thinking was that this tech-
clear, those expectations often lead to duration. nique would provide a backup in case one
over-reliance on, and burnout of, individ- This notion might not even sound like team member was pulled off the project
uals. We frequently find organizations planning to those familiar with the process or got sick. But the client was quick to
that live by the super programmer model as currently implemented in many large explain that pair programming had noth-
also live by the code-and-fix methodology. organizations. It also might sound short- ing to do with having a backup.
During the past few years, we have sighted and non-optimizing (not looking We have since learned that some pair
known colleagues who have given up the to the future for improvement), but the programming team members are adamant
relative security of the large, established immediate feedback provided through about having both team members present
organization in favor of the increased short repeated cycles of planning and exe- side by side during 100 percent of the
opportunity afforded by small start-ups. cution is proving to be effective from the programming activity. That is right! Not
Unfortunately, many have also found perspective of the engineer in the trench. only does it take two people to complete
that the demands of the small start-up This is the first fundamental differ- one program, but also if one of the two is
require great personal sacrifice. While ence we noticed when dealing with a small missing, in some cases, the other does not
some have returned to the more pre- company employing an adaptive method- want to move on. Doesn’t that sound
dictable large corporate environment, oth- ology. The second came when talking to incredibly inefficient?
ers have found increased job satisfaction software engineers working on an XP But then the client went on to explain:
through an alternative small-company team: We found a surprising level of “It’s the dialogue that I don’t want to miss.
model that is rapidly gaining in populari- awareness and ownership of schedule and By having my teammate right next to me,

October 2002 www.stsc.hill.af.mil 23


Software Engineering Technology

it forces me to verbalize my thought the right time, the right questions are cessful large projects we have witnessed
process at the moment I type the code in. being asked at the right time, and the right tend to already embrace many of these
Often through this process, errors are factors are being considered and acted same practices. Although it is unwritten,
detected at the same moment when they upon at the right time. i.e., not found in any formal corporate
are about to be created.” command media, a number of the most
As I listened to this process being Systems Engineering Inside successful large projects we have observed
described, a light bulb was flicking on in Large Organizations also tend to exhibit an unspoken adaptive
my head – this process is what peer We have, on a number of occasions, taken subculture.
reviews and early error detection was the opportunity to ask an engineer in a Characteristics of these projects
always meant to be! large organization, “What is systems engi- include incremental development, plans
neering?” Often the answer received has that focus on today, and a code focus. A
Tailoring XP equated to, “whatever the systems engi- code focus may seem unusual to a large
When reading about a new methodology, neering group does,” in that particular project especially in large disciplined
you often envision something different organization. organizations, but in practice it has proven
from the way organizations actually apply Unfortunately, this answer can be to be particularly effective when heavy
it. XP, according to the book, includes 12 problematic for two reasons. First, from reuse is involved. Testing candidate reuse
key practices. However, not all companies an educational viewpoint, how are we to code early, peer reviewing proposed
that claim to employ XP follow all the prepare systems engineers in our universi- changes early and often, integrating early,
practices exactly as outlined by Beck [3]. ties when the expectations of a systems and staying integrated through a series of
For example, while many small organiza- engineer can vary dramatically from one incremental builds have proven to be effec-
tions have recognized the value of pair organization to another? tive techniques on projects of all sizes.
programming, others have also recognized Second, when task expectations are
that what their engineers actually do too tightly coupled to an organizational A Key to Success
extends beyond programming itself. structure or department charter, the This article recommends managing a large
Often we find in practice that the pair increased likelihood for tasks to fall project as a collection of small adaptive
recognizes that one of the members has through cracks exists. This is because no projects. This recommendation is not
more of a systems inclination (i.e., customer organization is perfect. We have also meant to imply that the adoption of such
interface, requirements management), found that a tight coupling of task respon- methods alone is sufficient to ensure large
while the other prefers the traditional pro- sibilities to organizational partitioning project success. On the contrary, if small
grammer role. These recognitions are usu- tends to give rise to the “it’s not my job” teams within a large team were allowed to
ally based on individual strengths and syndrome in large organizations. continually adapt their plan independently,
desires. As a result, we tend to see a systems then chaos would certainly result.
focus and a software focus being supported Systems Engineering Inside On one large project that we worked as
within the small team and small company a team member, the software work was
Small Organizations partitioned across the country at three dis-
environment, but without the formal sys- On the other hand, when we have asked,
tem and software department boundaries tinct sites. But before the work partitioning
“What is systems engineering?” to an engi- took place, a small group of senior project
that are prevalent in large organizations. neer who has experienced only the small personnel established overall system archi-
organization environment, the most com- tecture with very specific constraints,
Effective Systems and mon response has been a puzzled look on including computer platforms, compilers,
Software Integration his/her face. This is because in most small tools, and interfacing requirements.
in Practice organizations, engineers do not think in As the project evolved, there also
We have witnessed large organizations terms of distinct systems and software evolved a number of small teams each with
communicating expectations through tasks; rather, they think in terms of getting approximately seven to 10 engineers. Each
defined organizational structures, support- the job done. small team had its own unique develop-
ed by heavyweight command media (policies, One reason small organizations do not ment issues. The project leader empowered
practices, and procedures). We have also tend to exhibit the task-related difficulties these lower level informal small teams to
seen the key role of culture in communi- we have observed in large organizations is make key decisions constrained only by the
cating expectations in large organizations. because they have not artificially parti- project requirements and the defined proj-
In small organizations applying light- tioned detailed tasking responsibility based ect architecture.
weight methodologies, on the other hand, on organizational boundaries. Stated dif- Many of the characteristics we have
communication occurs through short- ferently, in small organizations that use seen in successful small companies
range planning that leverages individual adaptive methods, the team works out the employing adaptive methods are also evi-
teammate strengths. Given what we have task responsibilities knowing that together dent within small informal teams inside
witnessed inside both large and small the team is responsible for everything. large projects. You will not necessarily find
organizations, we are led to a question: the small teams we are referring to on a for-
“What does effective systems and software Applying a Lightweight mal organizational chart.
integration mean in practice?” Approach to a Large Project In-the-large XP practices can work, but
We believe that the answer to this Published literature available today on only if implemented within the context of
question should be independent of the lightweight methodologies [3, 4] indicates a higher level framework.
size and structure of the organization. We these approaches may not be scalable to In short, we want our small teams
propose the following definition: Effective large projects. While we do not recom- inside large teams to take on increased
systems and software integration means mend XP practices be applied in full on responsibility, but the key to success on
that the right interactions are occurring at large projects, a number of the most suc- large projects is ensuring small team adap-

24 CROSSTALK The Journal of Defense Software Engineering October 2002


Integrating Systems and Software Engineering: What Can Large Organizations Learn From Small Start-Ups?

ed to remain competitive in today’s world.


Large Project Write plans that work today, and do not
discourage your team from continually
updating their plans to reflect increased
knowledge tomorrow. Encourage small
teams to leverage your organization’s
strengths regardless of where those
strengths lie inside your organization.
Small teams and adaptive methods can
not only help your systems and software
integration efforts, but they can also pre-
pare your organization to be more effec-
Small tive in tomorrow’s collaborative world.◆
Small Small
Team Team Team
References
1. McMahon, Paul E. Virtual Project
Figure 2: An Alternative View of a Successful Large Project Management: Software Solutions for
tations are consistent with well-defined, Soon thereafter, an engineering lab Today and the Future. Boca Raton: St.
well-communicated system architecture. environment was set up. It was not long Lucie Press, An Imprint of CRC Press
before all the new software engineers were LLC, 2001.
An Alternative View spending more and more time together in 2. Fowler, Martin. “Put Your Process on a
the lab. One engineer said the lab environ- Diet.” Software Development Mag-
of a Large Project azine Dec. 2000: 32-36.
Through the use of a small architecture ment made it much easier to ask questions
and to listen to answers to questions asked 3. Beck, Kent. eXtreme Programming
group and other related techniques to Explained: Embrace Change. Boston:
communicate architectural decisions and by others. Progress on the project
Addison-Wesley, 1999.
responsibilities [1], large projects can increased at lightning speed shortly there-
4. Highsmith, James A. Adaptive
effectively be managed as a collection of after.
Software Development: A Collabora-
small adaptive projects (Figure 2). While tive Approach to Managing Complex
many large companies may not formally Conclusions Systems. New York: Dorset House
describe their operating structure in these A few months after providing assistance to
Publishing, 1999.
terms, many successful large projects oper- a small company utilizing XP, we asked
ate in this manner today. one of their engineers a simple question:
It is also worth noting that we do not “Had anything changed over the past few About the Author
recommend that the notions of small months?” The engineer responded: “If I Paul E. McMahon is
teams and pair programming be overly had to point to one thing, I’ve noticed that an independent con-
formalized in large organizations. This I’m spending less time dealing with urgent tractor providing tech-
would, in fact, undo the value we seek. and unimportant matters, and more time
nical and management
Informality is an essential ingredient to the on the things that count.”
Adaptive methods not only can work leadership services to
success of the small team in any organiza- large and small engi-
tion. in large organizations, we have found they
are often key to large project success. We neering organizations.
Pair programming can be effective in
an organization of any size, but it is also recommend large organizations that are Before initiating independent work as
important to realize that some people just not operating as effectively as desired con- PEM Systems in 1997, McMahon held
do not team well, and we do not believe sider the selective adoption of adaptive senior technical and management posi-
that forcing small teams or pair program- techniques. tions at Hughes and Lockheed Martin.
ming makes sense in any organization. What really first caught our attention Today he employs his 28 years of
Different companies have different with adaptive methods was the focus on experience to help organizations
cultures and differing past experiences and the engineer in the trench. Too often, well- deploy high quality software processes
beliefs surrounding their workspace. Some intentioned process improvement initia- integrated with systems engineering
believe in open workspaces, while others tives never seem to reach the real workers. and project management. He has
pride themselves in the private offices they In reality, the short cycles of planning taught software engineering at
provide their professional personnel. are not shortsighted, rather they are based Binghamton University in New York,
Nevertheless, we are witnessing a definite on the length of time into the future where conducted software process and man-
movement within the software community we have control over where we are going. agement workshops, and has pub-
toward more group activities in support of It is also important to note that it is not lished more than 20 articles and a book
increased productivity. that the process we see today in large com- on virtual project management.
One new engineer in a large company panies is not working, but it works at its
told us that he sat in his cubicle for the first own pace. Adaptive techniques and small
three months of his new job continually informal teams inside large organizations
118 Matthews St.
wanting to ask questions, but not wanting can complement a formal organizational
Binghamton, NY 13905
to be perceived as a nuisance. Other new process focus, and can also be an effective
engineers in the same company, we found method to facilitate change in an organiza- Phone: (607) 798-7740
out later, felt the same way. tion that is not evolving at the pace need- E-mail: pemcmahon@acm.org

October 2002 www.stsc.hill.af.mil 25


Highpoints From the
Agile Software Development Forum
Pamela Bowers
CrossTalk
There is much confusion in the software industry about what agile software development is and is not, and what it implies.
This article reports on the keynote talks at the “Creating Competitive Advantage Through Agile Development Practices”
technology forum held at Westminster College in Salt Lake City in March. Nearly 110 attendees at this initial annual forum
participated in work sessions and networking breaks, and heard speakers and panel discussions about increasing return on
investment, decreasing time to market, increasing innovation, and more.

A gile software development is not new.


It has been around since the beginning
of software development, but did not
make greater use of the following: individ-
uals and interactions, working software,
customer collaboration, and responding to
not delivering the product that its customer
needed, said Russell Stay, vice president of
Product Delivery. The company was using
show a competitive advantage in the 1970s change. Plus, agile means different tech- a modified Waterfall technique consisting
and 1980s, said Alistair Cockburn, a con- niques in different situations, he said. of up-front design then execution. Tight
sulting fellow at Cockburn and Associates. “Within agility, different tactics fit different project management resulted in delivering
However, it did win the development races situations. Agile is not just a re-titling of the product on time and in budget, said
in the turbulent 1990s, he said, and eXtreme Programming.” Stay, but it was the wrong product. “We
methodologies that began appearing in Highsmith noted that agile works best needed to adopt a new process.”
1993-95 were Rapid Application in “exploration” environments. He com- Agile software development is a
Development, eXtreme Programming pared it to drilling for oil: Drilling to resource-limited cooperative game of
(XP), Scrum, Dynamic Systems known oil reserves requires very different invention and communication, said
Development Method, Crystal, and adap- techniques to be cost effective than does Cockburn. The key is adapting to reality
tive. with players – people – who are non-linear,
Cockburn was one of the speakers at
the “Creating Competitive Advantage “Agile software unpredictable, spontaneous, and bring
weaknesses and strengths to the game,
Through Agile Development Practices” developers are not which never repeats itself, he said.
technology forum held recently at “Software succeeds when people notice
Westminster College in Salt Lake City. hackers. Agilists plan errors and have enough pride in their work
More than 150 attendees learned about to step out of their job description to see
agile software development and networked regularly, test according that it gets fixed.”
with peers during breakout sessions. The An important consideration, said
Westminster College Gore School of to project priorities, Cockburn, is that people communicate
Business and Wasatch Digital IQ co-spon- most effectively interactively, i.e., face to
sored the forum. and re-check results face. “The richest form of communication
In his talk, Cockburn explained that is two people at a white board. The least
agile software development is about put- with users often. effective form is on paper.” Much is said in
ting value on “maneuverability.” He said, the communication that occurs with body
“Its [agile development] being able to They talk to each language, voice inflection, facial expression,
respond quickly became its advantage, etc., he said.
however, agility is a value statement.” other and customers Added to this is the fact that the project
Cockburn stressed that agile is not appro- methodology gets restructured around the
priate for every project. Some projects as a matter ecosystem details, which are always chang-
want predictability and repeatability, and ing. The key is to pair workers who com-
cost and agility go against each other, he of practice.” plement each other to achieve the desired
said. “With agile, it costs more to deliver results. For example, said Cockburn, if
products faster. There are trade-offs, and exploration drilling to find oil. In each case, “Bill” only has the patience to take a proj-
each project will make its own appropriate projects are managed differently and suc- ect through the requirements stage, then he
value decisions.” cess is measured differently, he said. “Agile should be teamed with “Mary” who excels
Jim Highsmith, director of Cutter software development finds a way around in implementing the process through to
Consortium’s Agile Project Management problems to get successful projects.” project completion, he explained. “This
Advisory Service, cited two main reasons Highsmith defined an exploratory way, information gets from the marketplace
for the popularity of agile software devel- project in the software world as “one to to the programmers.”
opment today. “Agile addresses a problem complete large projects that are both fron- “Gone are the days of the saviors and
domain where speed and flexibility are tier (research-like) and mission critical in a cowboys,” said Stay. Pair programming was
paramount,” he said. “And it addresses a turbulent business and technology environ- stressed up front when Symantec began its
culture and workplace we would like – ment. The characteristics include early agile implementation. Stay said that he was
that Dilbert would like to work in – a product release, high customer involve- willing to accept a 15 percent attrition rate
community.” ment, and frequent testing.” due to this change. However, after giving it
Cockburn noted that agile methods What led Symantec to move to XP was a try, he said that fewer than 8 percent of

26 CROSSTALK The Journal of Defense Software Engineering October 2002


Highpoints From the Agile Software Development Forum

Successful Methodology Ensures Reuse

I n the real world, organizations can mandate that Personal Software ProcessSM (PSPSM)
be used on a project and install the trainers to make sure it is used. However, soft-
ware developers can either refuse to use PSP, or find many ways to subvert it, warned
Get Your Free Subscription
Alistair Cockburn, a recognized expert on software project management in an interview Fill out and send us this form.
with CrossTalk.
“Since 1991, my views on methodology have been that programmers can at anytime OO-ALC/MASE
opt not to use this [process] either overtly or covertly,” said Cockburn, a consulting fel-
low at Cockburn and Associates. “Therefore, the definition of the successful method- 7278 Fourth Street
ology for me includes that the people agree to use it the next time.” Hill AFB, UT 84056-5205
Cockburn said that he is looking for the way [methodology] that “puts the least Fax: (801) 777-8069 DSN: 777-8069
requirements for consistency and discipline on software teams, yet beats the odds.” He Phone: (801) 775-5555 DSN: 775-5555
pointed to Crystal as a solution. There are three core principles in Crystal that make it
successful. First, it works in increments, which allow you to recover from almost any Or request online at www.stsc.hill.af.mil
catastrophe. Second, Crystal calls for reflection after every increment to discuss what to
keep and what to change, which develops a process that adapts to change. Third, the
team must tailor itself to create its own process. He added that Crystal also has a strong NAME:________________________________________________________________________
emphasis on personal communications, tacit knowledge, close worker proximity, and
frequent delivery of running deliverables. It is all these elements, Cockburn said, that RANK/GRADE:_____________________________________________________
allow you to “beat the odds.”
When asked, “What are the three things that most ensures agile success?” Cockburn POSITION/TITLE:__________________________________________________
said that experienced management is the No. 1 factor. “You need to have a project man-
ager who is alert, sensing whether something is right or wrong, and with enough expe-
rience to steer the group. Second is having access to real users; developers need reliable ORGANIZATION:_____________________________________________________
information for requirements, to have someone handy to show results, and to get feed-
back on a reliable basis. Third most important is physical proximity. It is important to ADDRESS:________________________________________________________________
have people close enough together that they can talk to each other, he said.
Cockburn also advises management to pay attention to their fears. “They could be ________________________________________________________________
well founded.” The key is to find out which fears are unfounded, he said. For example,
he pointed to the fear of “hacking.” In XP, the process check is that there are always
BASE/CITY:____________________________________________________________
two people working together, so it’s a lot harder for one of them to hack, he said.
Programmers also write their acceptance check before they write actual code, and this
takes a lot of thinking, he added. A final rule is that any two people sitting together can STATE:___________________________ZIP:___________________________________
change anybody else’s work, as long as they agree, he said. “Call it common ownership.”
With agile development, said Cockburn, “Programmers cannot just say, ‘Go away PHONE:(_____)_______________________________________________________
and leave us alone’. Agile takes collaboration among project managers, users, program-
mers and testers. There is no privacy in the code.”
FAX:(_____)_____________________________________________________________

employees left the company. iterations are done biweekly. Also, exit cri-
Stay stressed that it is important for the teria and test procedures are defined first, E-MAIL:__________________________________________________________________
team to buy into the agile method and that before writing code, he said, and test CHECK BOX(ES) TO REQUEST BACK ISSUES:
coaching should be brought in house. Co- automation is a priority.
residence is also critical so that leaders and It is also not true that agile only works J UL 2001  TESTING & CM
developers can work side by side, he said. with the best developers, Cockburn said. AUG2001  SW AROUND THE WORLD
“Individual office cubes get used less and The critical success factor is to have at least
less. Our average use is about one hour per one experienced and competent lead per- S EP 2001  AVIONICS MODERNIZATION
day. The rest of the time, the development son, who can then carry four or five “aver-
area is the hub of activity.” age or learning” people. With that skill mix, JAN2002  TOP 5 PROJECTS
Unfortunately, the agile message is agile techniques have been shown to work MAR2002  SOFTWARE BY NUMBERS
often misconstrued, said Cockburn. “Agile many times when the deck is “stacked” as
software developers are not hackers.” follows: MAY2002  FORGING THE FUTURE OF DEF
Unlike hackers, agilists do plan regularly, he • Hire good people.
said. Agilists test according to project prior- • Seat them close together to help each JUN2002  SOFTWARE ESTIMATION
ities, and re-check results with users often. other out, close to customers and users. JULY2002  Information Assurance
They talk to each other and customers as a • Arrange for rapid feedback on deci-
matter of practice. They expect manage- sions. AUG2001  SOFTWARE ACQUISITION
ment to provide priorities and to participate • Let them find fast ways to document
jointly in making project adjustments. their work. SEP2002  TEAM SOFTWARE PROCESS
Stay concurred. The process at • Cut out the bureaucracy. To Request Back Issues on Topics Not
Symantec is “highly managed but flexible,” “Agile software development has a lot Listed Above, Please Contact Karen
he said. They use the “queing” theory of to do with how much trust and communi- Rasmussen at <karen.rasmussen@
breaking down the process into small parts; cation is set up,” said Cockburn.◆ hill.af.mil>.

October 2002 www.stsc.hill.af.mil 27


Open Forum

Agile Before Agile Was Cool


Gordon Sleve
Robbins Gioia LLC
Success can be achieved by many means. Sometimes it is obvious which road to take, other times it does not really matter.
Look at individual circumstances before choosing one path over the other.

P eople go years, possibly their entire


lives, exhibiting certain behaviors,
sometimes knowingly but often unaware
form the work. This project followed a tra-
ditional software development methodolo-
gy because this methodology worked for
workload would be pulled from Hill AFB
and given back to the Navy.
The Aircraft Directorate quickly estab-
of any notable pattern. Sometimes an this project. The project finished on time lished a manual process that may have sat-
event will occur where a name is given to and under budget. isfied the requirements set forth by the
their particular behavior. A man who takes In 1994, the Air Force was awarded the independent audit agency. The only worry
his work problems out on his family may Navy FA-18 programmed depot mainte- was, with hand carrying of thousands of
be in an anger management class and be nance (PDM) contract. This was historic in documents to and from the hangars, some
informed that he exhibits misplaced aggres- that it was the first time that one branch of were bound to get lost and therefore the
sion. For a woman whose husband is an the armed forces was contracted to repair system might fail the audit.
alcoholic, yet buys liquor for him, might be a weapon system used by a different An Air Force major working in the
labeled an enabler. branch. The accepted proposal called for Aircraft Directorate approached our firm
This identification can lead to an the work to be performed at Hill Air Force about automating this process. It was easy
epiphany for the subject. This sudden real- Base (AFB) in Ogden, Utah. to show a good potential return on invest-
ization is exactly what happened to me Since the fall of 1993, I had been work- ment (ROI) based on the amount of man-
when a colleague of mine inquired as to ing as a program analyst on the Program- hours involved in processing work cards in
my willingness to write this article on agile med Depot Maintenance Support System the manual system. This also fell into the
programming. contract in the Aircraft Directorate at Hill scope of our firm’s program management
I had never before heard the term agile AFB. When the new workload arrived, the charter. Automating this system would
programming, but my associate was famil- program management team provided provide the ability to add the hours gener-
iar with the concept and also with my precedence network schedules and tracked ated by this unplanned work into the
work, so I was willing to trust in his judg- the work against the plan, as had been schedule as soon as the requests were
ment. During research into the concept of done for the other aircraft work at Hill approved, thereby extending the schedule
agile programming, it quickly became evi- AFB. in a real time fashion. Since all parties were
dent that this was an acceptable label for Not long thereafter, the Aircraft in agreement that this was a win-win situa-
the coding practices I have used routinely Directorate was audited by an independent tion, the next decision was how would we
for more than 13 years. audit agency. Their findings required Hill proceed with development?
AFB to provide an auditable unplanned work To bring in more analysts would
Unwitting Agile Programmer approval tracking system. The F-18s were require writing a new contract or making
In my work as an analyst for a program brought to Hill AFB for a PDM, which is an amendment to the existing one. Since
management firm, I use a fourth genera- basically an overhaul of the entire aircraft, the customer wanted the system in place
tion language (4GL), control and analysis according to a specific set of operations to by the time the audit agency returned, this
tool to build reports and graphs. My cus- be performed, called planned operations. option would take too long. They decided
tomers and I use these documents to per- There are also provisions for problems instead to reallocate the existing resources
form analysis on schedule related data. The encountered either during aircraft inspec- of the program management team and
information derived from this data is used tion or while the mechanics are perform- place all three analysts on full-time devel-
to point out past mistakes and potential ing planned work. These problems are opment of the new application. Due to the
problems, thus saving both time and defined as unplanned work and require time constraint, there was no development
money. This is my goal as a program man- extra time not accounted for in the of a formal plan or extensive require-
agement analyst, and the goal of my firm, planned operation package. ments, which led to the use of methods
to make our customers successful. Given that the FA-18 is a Navy weapon now described as agile.
Occasionally I am called upon to devel- system and each aircraft has spent a good
op related applications or modules using deal of time on aircraft carriers or at A Perfect Agile Fit
4GL. Some applications are written to ana- coastal Naval Air Stations, much of the Traditional programming methodologies
lyze existing data and some to capture new unplanned work is corrosion removal. This were put in place mainly to prevent require-
data. The latest major development effort unplanned work accounted for more than ments creep. In agile programming, potential
involved a resource-forecasting tool used half of the total hours on a FA-18 PDM. for these problems is diminished by getting
to project future work requirements, and The independent audit agency required a the application to the users quickly. Surely
provide what-if scenario modeling. Because way to show that hours billed to this con- if it takes two years to develop an applica-
the customer wanted to keep the existing tract workload were not being used to tion, changes will arise in the organization
analysts at the site working on their current work on F-16s or C-130s, which were or process that will drive new requirements
assignments, a separate contract was writ- located in the same hangars as the FA-18. and cause delays. Agile methodologies
ten and programmers were hired to per- Without such an auditable system, the exist that are specifically tailored to long-

28 CROSSTALK The Journal of Defense Software Engineering October 2002


Agile Before Agile Was Cool

term projects, but my experience has been We met daily, but on an informal basis, year before the workload was returned to
with short-term projects. The unplanned usually with the point of contact (POC) the Navy, the use of this application on the
work module was not extensive and we most familiar with the section being F-16 and C-130 programs continues to this
were confident that we could provide a worked in a one-on-one setting. This day. This program is still in a textual inter-
quick turnaround. Even though we did not would almost always take place at the face format but will soon be converted to
have agile methodology guidelines to go developer’s desk. We showed progress an Oracle/Web-based format to provide
by, this project was a perfect candidate for from the previous day and verified with the better accessibility and ease of use. The
just such a philosophy. The Agile Software POC that their requirements were being user community has taken ownership of
Development Manifesto states: met. Then we would identify any changes this application and they like it because of
that needed to be made and start working that very fact; it is their own creation.
We are uncovering better ways of to that end. As we moved through the From time to time, minor bugs appear,
developing software by doing it and development phase, we would identify which will be the case when omitting con-
helping others do it. Through this work those nice to have features and record those figuration management and strict coding
we have come to value: requirements for follow-on work. Through practices, but the users are happy with that
• Individuals and interactions this process the programmer learned much trade-off for flexibility.
over processes and tools. more about his customer’s needs than he One might argue that agile software
• Working software over compre- could by reading thousands of pages of development flies in the face of program
hensive documentation. requirements documents. It also showed a management. While the irony of a pro-
• Customer collaboration over commitment to individuals and interac- gram management professional touting
contract negotiation. tions over processes and tools. “responding to change over following a
• Responding to change over fol- As changes were made to the applica- plan” is not lost on me, I see both method-
lowing a plan. tion, corroboration was sought from the ologies coexisting and filling an important
That is, while there is value in user before continuing further. Some- purpose: to make our customers successful.
the items on the right, we value the times the user would sit through several Yes, I am a proponent of agile pro-
items on the left more. [1] iterations of code changes right at the pro- gramming but only in those cases where it
grammer’s desk, commenting and cri- is the best solution. Unless given a specif-
Although we did not know of agile tiquing. By working closely with the user ic set of circumstances, I cannot say which
methodologies, in retrospect we practically community, there was very little need for is best. I have experienced success with
followed them to the letter. We focused documentation and training. By the time both agile and traditional software devel-
almost entirely on those items on the left and development was completed, the users had opment methodologies, and success is the
for all intents and purposes, ignored the been trained through their constant ultimate goal.◆
items on the right. In this case, circumstance involvement. There was no need for a for-
rather than conscious thought led us to mal training class after implementation. References
perform in this manner. We were under the Since we knew there would be a good deal 1. AgileAlliance. “Agile Software Devel-
gun to get a working product in place in a of follow-on changes, we decided to wait opment Manifesto.” 13 Feb. 2001
short amount of time. There was little time on documentation. <www.agilemanifesto.org>.
for planning, contract negotiation, or doc- The main application was completed
umentation. with great success in plenty of time for the
About the Author
The lack of planning shows a slight next audit. The only cost associated with Gordon Sleve is a sen-
departure from agile, but remember, we ior program analyst for
the program was the temporary loss of
did not have the agile methodology with Robbins Gioia LLC
productivity toward the original program
which to work. The available resources and working in the ICBM
management objectives. Our team was
their expertise locked in our tools. Due to program office at Hill
awarded a certificate of appreciation from
the fact that very little of the traditional Air Force Base (AFB)
the Aircraft Directorate citing a savings of
methodologies were available to us, we
250 direct/indirect man-hours per aircraft. in Ogden, Utah. He was previously a
were forced to draw heavily from what is
now an agile approach. I like to look at There was a dollar figure placed on both site manager at Letterkenny Army
these two approaches as the Scarecrow and the cost (approximately $28,800) and the Depot in Chambersberg, Penn. Sleve
the Tin Man, agile being the Scarecrow savings (approximately $1 million) result- was selected as Robbins Gioia’s Senior
(flexible) and traditional being the Tin Man ing in an actual ROI of more than 30 to 1. Program Analyst of the Year for
(rigid.) They both want to get Dorothy to Given the limited planning work, there Dayton-based operations in 1995 for
Oz, but they each have unique abilities and was no way to predict such a fantastic his support of the implementation of
weaknesses. In our case, we had to rely on windfall. However, had more time been Programmed Depot Maintenance
a Scarecrow named “agile.” spent in planning, documentation, con- Support System at Hill AFB.
The initial requirements were to auto- tracting, and processes the ROI ratio
mate the manual process and add reports. would have been less impressive. Follow- Robbins Gioia LLC
The bulk of the detailed requirements on changes included expansion for both F-
OO-ALC/LMSO
were obtained during development by 16 and C-130 workloads, and a master write-
6014 Dogwood Ave.
working closely with civilian counterparts up module that provided the users with a
pick list of frequently used write-ups. Bldg. 1258 Rm. 14
involved in the unplanned work process. Hill AFB, UT 84056-5816
These individuals were planners, sched- Phone: (801) 775-5943
ulers, and the approval authority, each with Specified Successful
Fax: (801) 586-4835
knowledge of how their piece of the Use Continues
E-mail: gordon.sleve@hill.af.mil
process worked. Although the F-18 contract only lasted one

October 2002 www.stsc.hill.af.mil 29


Online Articles
Should You Be More Agile?
Rich McCabe and Michael Polen
Software Productivity Consortium
Agile software development techniques are an effective response to many problems still plaguing development projects. Although
there are a number of issues to consider, almost any project can become more agile to its benefit. What exactly does it mean
to be more agile? Words like predictable, cost-effective, and mature are more often used to characterize desirable software devel-
opment processes. Agile development has come into focus recently due to the popularity of its most widely known interpreta-
tion, eXtreme Programming, but some of its foundations go back as far as 20 years. This article addresses some of the ques-
tions about agile: What is agile? Who needs to be agile? How can any project not creating small business applications seri-
ously consider agile development? Is agile development an “all or nothing” proposition?

Agile Development: Weed or Wildflower?1


David Kane Steve Ornburn
SRA International GBC Group, Inc.
The Software Engineering Institute’s Capability Maturity Model® (CMM®) has been a major force for software process and
acquisition improvement in the federal government’s civil and defense communities for the past decade. Major investments have
been made by the government, their contractors, and many other organizations to make software development more consistent
and reliable. The CMM provided an alternative to the cowboy programmer archetype. Amid this backdrop of progress, a new
trend in software development has emerged – agile development, which aims to build software faster and more flexibly than tra-
ditional approaches. Agile values “individuals and interactions over processes and tools” [1]. For organizations that have
invested in a CMM, do agile methods represent the rebirth of the cowboy – a weed to be stamped out? Or, are agile methods
a reasonable way to build software in a world in which needs are changing at an ever-increasing pace – a wildflower to be nur-
tured? This article looks at whether there is a home for agile methods in communities that have have embraced the CMM.

Editor’s Note: Due to space constraints, CrossTalk was not able to publish these articles in their entirety. However, they can be
viewed in this month’s issue on our Web site at <www.stsc.hill.af.mil/crosstalk> along with back issues of CrossTalk.

CONTINUED FROM PAGE 21


for the industrial automation project Code. Boston: Addison-Wesley, 1999. Software on Time, Within Budget.
described herein. The languages were most- 3. C3 Team. “Chrysler Goes to Extremes.” Upper Saddle River: Prentice Hall/Your-
ly C++ but also included C, HTML, VB, and Distributed Computing. Oct. 1998 don Press, 1992.
SQL. Productivity ranged from a low of 21 <www.xprogramming.com/public
to a high of 48 lines of code per coding ations/distributed-computing .html>. Note
hour, averaging 35 lines of code per coding 4. Putnam, Lawrence H., and Ware Myers. 1. “We” as mentioned throughout this arti-
hour. Measures of Excellence: Reliable cle refers to the Geneer company.
Compared to projects conducted before
adopting this intensely practical and agile About the Author
software development discipline, our cost John Manzo has spent ful AEGIS system – one of the largest
per line of code and defect rates were dras- more than three decades and most complex software develop-
tically reduced while our development veloc-
of his career in software ments ever delivered to the Department
ity was significantly increased. Our most
recent audit revealed an overall average pro- engineering, and has of Defense. He has served as a repre-
ductivity index of 22 [4]. This index is a contributed to and made sentative to the President's National
management scale corresponding to the significant accomplish- Science Advisory Board, and served as
overall process productivity achieved by an ments in the development of software, an adjunct faculty member of Harvard
organization during the main software build. computer, and telecommunications University where he developed, and for
An index of 25 is considered among the solutions. Manzo comes to AgileTek several years taught, “The Management
highest ever recorded.◆ from Geneer where he was chief tech- of Software Engineering.”
nology officer, and brings with him a AgileTek
References legacy of broad and deep experience in 934 South Golf Cul de Sac
1. Beck, Kent. eXtreme Programming agile development methods. Earlier in Des Plaines, IL 60016
Explained: Embrace Change. Boston:
his career, Manzo was recognized for Phone: (847) 840-3765
Addison-Wesley, 1999.
2. Fowler, Martin, et. al. Refactoring: his development of the Fire Control Fax: (847) 376-8308
Improving the Design Of Existing software for the Navy's highly success- E-mail: jmanzo@agiletek.com

30 CROSSTALK The Journal of Defense Software Engineering October 2002


BACKTALK
The 12-Step Program for
Software Weight Watchers
I n the February issue of CrossTalk, I sensed an intellectual
melee in the air. Six months later, software publications and con-
ferences were abuzz. In an industry where plans are inadequate and
light methods are inadequate for your large
project, dependable requirements, and
motley team then repeat after me: “I,
planning is essential, we are starting to question the strong hold of (state your name) am a lightweight infidel.
predictive, process oriented, model-based software development. I promise to follow the 12 Steps for
Grassroots intrigue with lightweight methods like eXtreme Lightweights.”
Programming (XP) and Scrum has triggered software developers to
question their approach, methods, and focus. Although questions 12 Steps for Lightweights
currently outweigh answers, this debate has broken the assiduous 1. I admit I was powerless over change, and
fixation on such heavyweight methods like the Capability Maturity my life had become unmanageable.
Model® IntegrationSM (CMMISM) and Software Process 2. I believe that a power greater than ingenu-
Improvement and Capability dEtermination. ity could restore me to sanity.
I am, however, concerned for individuals, teams, and organiza- 3. I made a decision to turn my will and my
tions that are ensnared and laden by incompatible methods or career over to the care of prescriptive
approaches. For some these processes and methods have become processes and best practice models.
addicting and will be hard to break. 4. I searched and made a fearless inventory of
For those who are troubled, I offer the time-tested 12-Step pro- my process areas and maturity.
gram used by millions of people to successfully transform their lives 5. I admit to my manager, SEPG, and quality
and recover from obsessive-compulsive behaviors. With modifica- assurance department the exact nature of
tion, I hope these steps successfully amend software development my wrongs.
habits and aid in the recovery from career threatening behaviors. 6. I am entirely ready to have quantitative
If you are clinging to the sanctuary of models, processes, and management and optimization remove my
theoretical control, and find these heavy methods too restrictive for defects.
your small-to-medium projects, unstable requirements, competent 7. I humbly ask assessments, inspections, and
team, and short deadlines then repeat after me: “I, (state your name) quality assurance to reveal my shortcom-
am a heavyweight zealot. I promise to follow the 12 Steps for ings.
Heavyweights.” 8. I made a list of all process areas I neglected,
and I am willing to make amends to them all.
12 Steps for Heavyweights 9. I will make amends to my process areas wherev-
1. I admit I was powerless over predictability, and my life had er possible, except when to do so would injure the budget, in
become unimaginative. which case I will request a waiver.
2. I believe that a power greater than a process, model, or best 10. I will continue to assess my maturity and when I deviate, I will
practice could restore my sanity. promptly conform.
3. I made a decision to turn my will and my career over to the care 11. I will seek through documentation and meetings to improve my
of vigilance, acumen, proficiency, and ingenuity. conscious contact with “The Model” asking only for knowledge
4. I searched and made a fearless inventory of my respect for col- of its will for me and the power to carry that out.
leagues and customers. 12. Having had a disciplined awakening, I will carry this message to
5. I admit to customers, myself, and to colleagues the exact nature lightweight infidels and to practice these principles in all my
of my wrongs. affairs.
6. I am entirely ready to have pair programming, coding standards, Since the majority of the industry has considerable investment
and iterative deliveries remove my defects. in heavyweight methods and will likely dismiss the agile movement
7. I humbly ask my customer, collaborative colleague, and test pro- as a return to callow software programming, I offer you the follow-
grams to reveal my shortcomings. ing athletic afflatus.
8. I made a list of customers I harmed, and I am willing to make In planning for one of the most grueling events, the Tour de
amends to them all. France, Lance Armstrong starts preparations a year in advance. He
9. I will make amends to customers wherever possible, except does not prepare for a specific race but instead prepares for sever-
when to do so would injure them or others. al race scenarios and his ability to adapt to them. That is important
10. I will continue to take personal inventory, and when I am wrong because as soon as the race starts, the event will take its own course
will promptly admit it and refactor. and any planning will be history. He knows the course, conditions,
11. I will seek through collective ownership to improve my con- and competitors are unpredictable and his success depends on
scious contact with customers asking only for knowledge of knowing what is going on and responding quickly.
their will for me and the power to carry that out. Software development, although not the Tour de France, is far
12. Having had a creative awakening, I will carry this message to from predictable and would benefit from the insight of one of the
heavyweight zealots and practice these principles in all my greatest athletes in the world. Although not a panacea, these pellu-
affairs. cid ideas, if allowed to imbue the mind, will ameliorate your soft-
If your proclivity for collaboration, rapid development, and ware organization. Go ahead. Break from the peloton.
empirical control has led you to the fast paced world of XP, Scrum,
Crystal, adaptive software development, feature-driven develop- –– Gary Petersen
ment, or dynamic systems development method, and you find these Shim Enterprise, Inc.

October 2002 www.stsc.hill.af.mil 31


Oct2002cover.qxd 9/4/02 11:09 AM Page 2

Sponsored by the
Computer Resources
Support Improvement
Program (CRSIP)

Published by the
Software Technology
Support Center (STSC)

CrossTalk / MASE PRSRT STD


7278 4th Street U.S. POSTAGE PAID
Albuquerque, NM
Bldg. 100 Permit 737
Hill AFB, UT 84056-5205

You might also like