Professional Documents
Culture Documents
Agile Devel
Agile Devel
Open Forum
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
H. Bruce Allgood
Deputy Director, Computer Resources Support Improvement Program
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
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
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
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
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
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
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.
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.
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.
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
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,
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:
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.
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
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
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
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,
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-
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>.
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
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.
Sponsored by the
Computer Resources
Support Improvement
Program (CRSIP)
Published by the
Software Technology
Support Center (STSC)