You are on page 1of 5

A Governance Model for Incremental,

Concurrent, or Agile Projects


Dr. Alistair Cockburn
Humans and Technology
Use the model in this article to regain oversight of a complex multi-project that uses concurrent and incremental development
strategies in differing amounts on different subprojects. The model makes this possible by estimating and then tracking intend-
ed versus actual functionality integrated either monthly or quarterly.

T his article discusses a graphic that


shows the status of larger projects,
how to gather the information needed,
This article describes a proposed
graphic that meets those constraints.
Humans and Technology is starting to
if you try it out and come up with
improvements. (Note: The figures in this
article are printed in black and white; the
read the status chart, and when needed, use it on a program that is fairly large for online version [1] uses color.)
show more detailed breakdown for each the private sector: about a dozen applica-
subproject. tions and two dozen supporting compo- The Graphic
nents and databases to be installed in var- The graphic contains the following ele-
Motivation ious configurations in two dozen receiv- ments:
Imagine a steering committee opening a ing sites. The graphic appears to work in • The components being built, how
large binder for a fairly large project, our situation and has let us update a each fits into the system architecture,
hoping to see its status. They are met by waterfall governance model to permit and the person responsible for each.
Gantt charts, cost expenditure tables, and agile, concurrent, and incremental devel- • Codependency relations between hor-
if they are lucky, earned-value graphs. opment. izontal and vertical components.
None of these quickly and accurately The figures in this article are simplifi- • The incremental growth strategy for
show the committee what is going on cations of the more complicated versions each component over the project life.
with the project, which components are created for that program, so we have a • The expected versus actual amount of
in trouble, and where they stand with sense that they scale reasonably. We see work completed to date.
respect to delivery. Worse, many projects ways to update the graphic automatically, • A color or shading to mark the alarm
these days use incremental, concurrent, or even to update manually monthly for level for each component.
or agile approaches, which do not fit into the steering committee meeting. While The following is a discussion of those
the standard governance milestones of not fully tested, it shows promise. topics in three categories: the system
requirements complete, design complete, code com- Here are the details – please write me structure, the intended strategies, and
plete, and integration complete.
This is not the article to review all the Figure 1: Governance Graphic
problems with that standard project gov-
ernance model. The problems may, how-
Project Zewa Status
ever, be briefly summarized as follows:
Status at: 2006.05.15 in: 2005.01-2005.12

• The standard governance model is a


single-pass waterfall model that has
been roundly criticized over the years.
App 1 App 2 App 3
[Harmon] [Reese] [Marks]

• It does not support incremental or Workstation

concurrent approaches, both of


which are being recommended more
UI Shell [Jones]

frequently these days.


Common UI [Smith]

• The Gantt chart does not show per-


Security [Sanchez]

centage complete very well, nor expected


versus actual progress.
App-Specific Back End

• The standard earned-value graph


DB 1 [Rich]

shows tasks complete well, but tasks


complete does not reflect true progress
DB 2 [Carmac]

on the project; true value in software


App-Independent BackEnd

development accrues suddenly (or


DB svcs [Rich]

fails suddenly) only at the moment at


which the new features are integrated
Security [Sanchez]

into the code base.


What is needed is a way that more
Legend
accurately shows true value, more readily
App Intended done after

shows expected versus actual progress,


each internal release
Application component

and allows teams using different combi-


Component Actual vs. Expected done
>$1M budget

nations of waterfall, incremental, concur-


Common On track
component Component component Not significantly behind

rent, and agile approaches to show their


< $1M budget Component
Significantly behind

varied strategies.
UI User Interface
DB Database

February 2006 www.stsc.hill.af.mil 13


100% functionality Figure 1:Governance Graphic
DB Database
A New Twist on Today’s Technology

space – is still open. through the third quarter (possibly so


Agile project teams measure progress they have time to fix mistakes in the
not according to how many requirements fourth quarter).
100% functionality Figure 1:Governance Graphic

have been gathered, but by how much • The bottom team expects to get
running functionality has been designed, almost 20 percent completed and
Planned
Actual

programmed, and integrated (Ron integrated in each of the first two


Jeffries neatly calls these running tested quarters, and then to speed up and get
features, or RTF [2]). A common way to 30 percent done in each of the last
Tool disassembly

show the growth of RTF is through two quarters.


Mod recap
Import calibration

burn-up charts, as in Figure 2, which Alert readers will notice that these
Part attachment

shows the expected versus actual integra- tickmark drawings capture the vertical
File attachment
Failure diagnosis
tion of a set of workflow components by axis of the burn-up charts at the IR
month. times.
Agile burn-up charts are very similar These small diagrams let different
Jan Feb Mar Apr May Jun Jul Aug

Figure 2: Burn-Up Chart to traditional earned-value charts with teams work in different ways and report
expected versus ideal progress. one crucial exception: The team only gets on their intentions. This is our goal.
Figure 2: Burn-Up Chart
credit when the features are integrated
into the full code base and the result Expected Versus Ideal Progress
In Figure 1, the three vertical rectangles passes testing [3]. This single chart shift Intention-Completion Bars
System Structure

indicate applications – the items bought makes a big difference in the reliability of Figure 4 adds to Figure 3 the work actu-
separately for end-user functionality. The the progress data presented. ally completed compared to the work tar-
seven horizontal rectangles indicate ser- Burn charts show more than we need geted for any point in time.
vice components needed across applica- and take too much space for governance In Figure 4, the taller vertical bar
tions – on the user’s desktop or the back oversight purposes. To reduce their size moves from left to right within each IR
end. Two of the horizontal components and information, we use the idea of an period to show the current targeted
cross in front of the applications to indicate internal release (IR). accomplishment. It can run at a constant
that the horizontal component contains a A team that cannot deploy its system rate within each period according to the
specific, different functionality or data to live users every few months can pretend calendar, or it can be synchronized with
for each application. Domain databases to deploy the system. It can test, inte- the team’s iteration plans (two- to six-
that get extended for each new applica- grate, and deploy the system to the com- week planning and tracking time win-
tion are likely to be among these applica- puter of one or two friendly but real users. dows). The shaded rectangles show the
tion-specific, back-end components The team thus exercises the end of their functionality (RTF) completed and inte-
(more on this later). development process and gets true user grated to date.
The system shown in Figure 1 is fairly feedback. Putting the system in front of In Figure 4, we see that the top team
simple. The first project for which I drew real users (as opposed to a test machine is delivering according to schedule, the
this graphic had 17 horizontal and 15 ver- in the basement) motivates the develop- middle team is a little behind, and the
tical components, and additional coloring ment team to take their work seriously. bottom team still has not finished the
to show legacy components that were to Such an IR should happen every one, work scheduled for the second IR.
be removed over time. We were still able two, or three months. There are many Two comments must be made at this
to draw it legibly on legal-sized paper. reasons not to deploy fully every three point about RTF. The first is that not all
months, but there is almost no reason not final deliverables consist of features that
to carry out an IR. These IRs fit neatly run. Content databases and end-user doc-
Although incremental development has into a monthly or quarterly reporting umentation are examples. Teams can cre-
Intended Strategies

been around much longer than the agile mechanism. ate intention-completion bars for what-
movement, the question of how to show With RTFs and IRs, we are ready to ever their final deliverables are, since
different incremental strategies for gover- capture various development strategy or those bars show growth of accomplish-
nance purposes – preferably in a small strategies that might show up on an ment over time.
incremental development project. The second comment is that mea-
Figure 3: Target Progress Markers In Figure 3, the vertical tick-marks sures not tied to RTF are naturally haz-
show 10 percent units of completed RTF ardous since it is so easy to start tracking
from left to right (100 percent complete completion of artifacts that do not
at the right). The triangle milestone directly get bought by customers. Linking
markers show the amount of RTF the accomplishments to RTF makes the
team targets to have completed and inte- reporting of actual value both easier and
grated at each IR milestone. Figure 3 more accurate.
shows three teams’ strategies as follows:
Figure 4: Intention-Completion Bars • The top teamFigure plans to4:get
Intention-Completion Bars
less than 10 Application-Specific
Figure 3: Target Progress Markers percent of its functionality in place in Horizontal components such as applica-
Components

the first IR, and to add functionality tion databases require new work and new
in roughly equal thirds after that. content for each new application.
• The middle team intends to get 25 Progress on these application-specific
percent done in the first quarter, 60 horizontal components is typically diffi-
percent by the end of the second cult to report on since where they are varies
quarter, and almost 85 percent from application to application.
Project/ Sub- Owner Percent Done in Total Units Confidence
14 Component
CROSSTALK The Component
Journal of Defense Software Engineering IR1 Size in Estimate February 2006
(L, M, H)
IR 1 IR 2 IR 3 IR 4
A Governance Model for Incremental, Concurrent, or Agile Projects

To show the status of such a compo-


nent, we use intention-completion bars Project/ Sub- Owner Percent Done in Total Units Confidence
for the independent portion of the com- Component Component IR1 Size in Estimate
ponent and for each application it must IR 1 IR 2 IR 3 IR 4
(L, M, H)

serve. This lets the teams move at differ- Desktop frame Mr. A 0 20 80 100 30 UI widgets Med :-|
ent speeds as suits their particular situa- Desktop APIs Mr. A 20 50 80 100 60 API calls Lo :-(
tions, and allows the steering committee
to see each team’s status. App 1 UI Mr. B 5 60 90 100 450 UC steps Lo :-(
App 1 app Mr. B 10 60 90 100 450 UC steps Hi :-)
App 1 bus svcs Mr. B 5 50 80 100 450 UC steps Lo :-(
Let us review the elements of the graph-
Summarizing the Graphic
DB 1 setup Ms. C ?? Lo :-(
ic briefly: DB 1 App 1 Ms. C 60 codes Lo :-(
• The rectangles represent components,
DB 1 App 2 Ms. C 10 codes
subsystems, or applications. Vertical Lo :-(

rectangles show applications; hori- DB 2 setup Ms. C ?? Lo :-(


zontal ones show components that DB 2 App 1 Ms. C 2,000 entity attributes Lo :-(
get used across multiple applications DB 2 App 2 Ms. C 1,500 entity attributes Lo :-(
(this could be reversed for better lay-
out if, for example, there are many API - Application Program Interface, App - Application, UC - User Class
applications and only a few cross Table 1: Estimating Spreadsheet
application components).
• Each rectangle shows the place of the release,” but the steering committee obviously, “About how many units do
Table 1: Estimating Spreadsheet
component in the overall architecture: needs to know, “Twenty percent of you expect to create?”
The top set of horizontal compo- what?” Being behind on 20 percent of The third piece of information is the
nents reside on the desktop, the mid- two use cases is very different than being confidence level on the estimate. At the
dle and bottom sets of horizontalProject/ behind on Sub- 20 percent
Ownerof Percent
80 useDone cases.
In beginning
Total ofUnits
the project,
Expectedit is Expected
appropriate Actual
components reside as back-end ser- Component Component
to have
Size low confidenceat IRratings
2.3 atinIRthe
2.3 esti-
at IR 2.3

vices. The horizontal rectangles run- mates: “We expect somewhere between
IR 1 IR 2 IR 3 IR 4 (percent) (units) (units)

ning behind the applications get creat-


Desktop frame Mr. A
“A team that 0 20 80 15 and 50 UI widgets, call it 30, plus or15
100 30 UI widgets 50% 15

ed independently of the applications; Desktop APIs Mr. A 20 50 80 minus60 50 percent;”


100 API calls however,
65% that 39 comes36
the horizontal rectangles running inApp 1 IU cannot deploy its
Mr. B 5 60 90 with 450
100 the caution,
UC steps “You75%called me337 into this310
front of the applications require appli-App 1 app Mr. B 10 60 90
room450and UC
100
made
steps
me 75%
give you 337 numbers,320
cation-specific work or content. system to live users but it’s not like I have a really good basis
• Intention-completion markers are for those numbers!”
App 1 bus svcs Mr. B 5 50 80 100 450 UC steps 65% 292 280

created for each component. They every few months can The initial rough-size estimate is still
show the percentage of RTF intended Table 2: Summary Spreadsheet
useful for getting an early handle on the
for completion at each IR milestone, pretend to deploy the size and shape of the thing to be built.
the expected and the actual current That is why the information is collected
accomplishment, and the alarm level. system. It can test, even when the confidence rating is low.
Intention-completion bars are created Marking a low confidence rating is useful
for each component and for each integrate, and deploy to the project leaders because they can
intersection of application-dependent then raise the priority of getting enough
components. the system to the information to improve the confidence
level.
computer of one or two Needless to say, the estimate should
be updated at the start of successive iter-
Collecting the Information
The information rendered in Figure 1
also fits into a spreadsheet, a more useful
friendly but real users.” ations with raised expectations about its
place to keep it while gathering and accuracy and confidence levels.
updating the information. We can use To capture the of what for tracking, we Table 1 shows a spreadsheet that can
automated tools to gather information need three pieces of information. The be used to capture the estimates. Note
about each component every week or first, “What is the unit of accomplish- that the confidence rating is accompanied
two, and roll up each team’s accomplish- ment?” often consists of use cases, or by a smiling, neutral, or frowning face to
ments into reports at various levels. The more likely, individual steps in use cases. visually tag this important information.
highest level is the one that gets painted Sometimes something quite different is
onto the graphic either by hand or auto- appropriate. A desktop component might
matically. (The graphic can be generated have as units of accomplishment user To tag the timeline, we need to give each
Gathering the Status

automatically using graphic markup lan- interface (UI) widgets (frames, pull-down iteration or planning window a milestone
guages, but that programming effort may lists, buttons) and interface calls used by number such as an IR completed then
take longer than simply coloring the bars the applications. A database might have followed by iteration completed. Thus,
each month). entities and attributes, a Web site might milestone 0.3 means the end of the third
have articles and images, a medical data- iteration before the first IR, and mile-
base might have medical codes as a unit stone 2.1 means the end of the first iter-
It is one thing to say, “We intend to be 20 of accomplishment. ation after the second IR.
Gathering the Estimates

percent done after the first internal The second piece of information is, After iterations, the teams send in

February 2006 www.stsc.hill.af.mil 15


Table 1: Estimating Spreadsheet
A New Twist on Today’s Technology

Project/ Sub- Owner Percent Done In Total Units Expected Expected Actual
Component Component Size at IR 2.3 at IR 2.3 at IR 2.3
IR 1 IR 2 IR 3 IR 4 (percent) (units) (units)

Desktop frame Mr. A 0 20 80 100 30 UI widgets 50% 15 15


Desktop APIs Mr. A 20 50 80 100 60 API calls 65% 39 36
App 1 IU Mr. B 5 60 90 100 450 UC steps 75% 337 310
App 1 app Mr. B 10 60 90 100 450 UC steps 75% 337 320
App 1 bus svcs Mr. B 5 50 80 100 450 UC steps 65% 292 280

Table 2: Summary Spreadsheet


Table
their RTF2: numbers,
Summary Spreadsheet
which get rolled up want to read more detail. They will need sheet, and for the work efforts within
into a summary spreadsheet at any level to understand what is happening with the component, including non-RTF
of granularity desired. The nice thing respect to requirements gathering, UI work as just described.
here is that this roll-up can be produced design, design and programming, and • What was targeted for accomplish-
automatically with simple tools. Table 2 user documentation. ment during this reporting period?
shows how the first few rows of such a The good news is that we can use the • What work is being deferred from
spreadsheet might look after iteration intention-completion bars to show this period into the next?
2.3. progress within each specialty, whether • The dominant problems each sub-
the team is using a sequential (waterfall) team is facing or the risks they expect.
The Status Report Packet strategy or a concurrent strategy. Figures The risks and problems column lets the
The graphic in Figure 1 serves as a good 5 and 6 illustrate the two. team signal for help, whether that means
summary page of the package put in front Figure 5 shows a team planning to more people, more equipment, more
of the steering committee. That package work in sequential fashion. They plan to time with customers, etc.
also needs detail pages for the separate finish all their requirements in the first
subprojects. period. They do not plan on starting Surprises, Lessons Learned, Items
Table 3 shows a sample detail page. either the UI design or the programming
This detail page has three sections after in that period. They expect to get the UI The middle of the page allows the team
Needing Special Attention

the header: design fully complete in the second quar- to reflect and report on what happened
• A status/targeted/deferred and risk ter. They plan to get perhaps 10 percent during the reporting period.
snapshot for each section of work of the programming done in the second The first section describes the sur-
within the component. quarter, and the rest done equally in the prises discovered. On projects I have vis-
• A commentary, including surprises third and fourth quarters. ited, these have included the program-
and lessons learned during the previ- Figure 6 shows a strong concurrent mers not getting as much done as expect-
ous period. strategy. This team plans to get not quite ed, a piece of technology not working as
• Cost roll-up information. a third of their requirements settled in expected, or, conversely, a new practice
The most unusual part of this status page the first period, and to have nearly as such as daily stand-up meetings being
is the way in which the intention-comple- much UI design and programming done effective.
tion bars are constructed to describe the as requirements gathered. The require- The second section describes the
strategy and accomplishments of non- ments people will lead the UI design peo- lessons to be taken out of the period’s
RTF work. ple by a small amount, and the UI design work. These might include multiplying
people will lead the programmers by a developer estimates by a factor before
Intention-Completion Bars for small amount, but otherwise these groups committing to them, doing technology
will run parallel to each other. They spikes before committing to technology,
When someone sees a component intend to continue in this fashion or choosing to keep the new, daily, stand-
Non-RTF Work

marked with a high-alarm status bar on throughout the entire project. up meetings. These must be truly lessons
the summary page, they will naturally In this article, I do not wish to indi- learned within the period, not speculations
cate that either approach is superior to on what might work in the future.
Figure 5: A Sequential Development Strategy the other. What is important here is that The third section is for anything the
Requirements both sequential and concurrent strategies team wishes to report on. It may expand
(and many combinations) can be shown on risks or highlight some particular
UI Design using the intention-completion bars. worry to which they will be paying close
attention.
Programming
Status,Targeted, Deferred,
Figure 6: A Concurrent Development Strategy Requirements
Figure 8: A Sequential Development For
Strategy
any component, the steering commit- Finally, the steering group needs to see
and Risks Cost Roll-up
Requirements tee members will want to see the follow-
UI Design how fast the money is being used. This
rategy ing at the top of the detail page:
Programming section may be presented in tabular or
UI Design
• The intention-completion bars for the burn-up form, and include staffing sizes
Programming whole component from the summary as well as budget information as desired.
Figure 9: A Concurrent Development Strategy
Figure 9: A Concurrent Development Strategy
16 CROSSTALK The Journal of Defense Software Engineering February 2006
Detail Sheet for: UI Shell
Product Manager: Jones
Figure 9: A Concurrent Devel
A Governance Model for Incremental, Concurrent, or Agile Projects

Summary Detail Sheet for: UI Shell


The first contribution of this article is the Product Manager: Jones
description of the intention-completion Status at: 2006.05.15
graphic, showing the following:
• The strategy that the team has in mind Targeted Work Being Dominant
for its work, whether sequential or Accomplishment Deferred Problem/Risk
concurrent. Composite <What the accom- <What got moved <The dominant risk
• How much the team had expected to plishment was to out of this period for this sub-project.>
have done at this reporting point. be in this period into the next period?>
• How much the team actually has done for this sub-project.>
at this point. Requirements <The amount of <What requirements <The dominant
The intention-completion graphic is requirements got moved out of risk for the
important because it allows different intended to be this period into the requirements
gathering effort.>
teams to choose different strategies and completed in this next period?>
period.>
report on them, all in the same format.
The absence of a common reporting for- UI Design <The amount of user <What user interface <The dominant risk
mat has been a painful point for incre- interface design design got moved out for the UI designers.>
mental, concurrent, and agile projects for intended to be com- of this period into the
pleted in this period.> next period?>
a long time.
The second contribution is the project Program <The amount of RTF <What programming <The dominant risk
summary graphic and its spreadsheet intended to be got moved out of this for the programmers.>
counterpart. The spreadsheet allows the integrated in this period into the next
this period.>
leadership team to collect estimates and period?>
plans at a very early point in the project,
and easily update these by using automat- User Doc. <The amount of end- <What end-user <The dominant risk for
ed tools. The graphic provides a way to user documentation
intended to be
documentation got
moved out into the
user documentation.>
show at a glance the entirety of a quite completed in this next period?>
complex project. This addresses the ques- period.>
tions, “What are we building?” and “How
are we doing?” Surprises this Period:
The third contribution is the descrip- <Surprises the manager or the team discovered (e.g., the productivity of the programmers
tion of a sample, one-page detail sheet wasn't as high as expected).>
Lessons Learned this Period:
(see Table 3) for each component or sub- <The lessons to be taken out of the period's work (e.g., in the future, multiply developer
project. This page shows at a glance the estimates by a factor of 1.5 before committing to them).>
strategies and status within the subproject, Items Needing Special Attention:
<Anything the team wishes to report out. It may expand on risks, or highlight some
along with key information the steering particular worry.>
committee needs to understand and Cost/Budget
respond to.
The resulting packet of information This Period Total to Date
ate
allows people who meet only once a Expected $ $
month or quarter to assess the intentions Actual $ $
and status of projects that use various
mixtures of waterfall, incremental, con- Table 3: Detail Sheet for UI Shell
current, and agile strategies.
If you use this model and find ways of
improving it, please let me know at
About the Author
<acockburn@aol.com.>◆ Alistair Cockburn, Ph.D., special advisor to the Central Bank of
is an internationally re- Norway in 1998, and has worked in com-
spected expert on object- panies from Scandinavia to South Africa,
References
1. Cockburn, A. “A Governance Model
for Incremental, Concurrent, or Agile oriented design, software North America to China. Internationally,
Projects.” CrossTalk Feb. 2006 development methodolo- he is known for his seminal work on
<www.stsc.hill.af.mil/crosstalk/2006/ gies, use cases, and project methodologies and use cases, as well as his
02/0602Cockburn.html>. management. The author of two Jolt lively presentations and interactive work-
2. Jeffries, R. “A Metric Leading to Productivity award-winning books, “Agile shops. Many of his materials are available
Agility.” XProgramming.com 14 June Software Development” and “Writing online at <http://alistair.cockburn.us>.
2004 <www.xprogramming.com/xp Effective Use Cases,” as well as the peren-
mag/jatRtsMetric.htm>. nial favorite, “Surviving OO Projects,” he
3. Cockburn, A. “Earned Value and Burn
was one of the authors of the Agile
Humans and Technology
Charts.” Technical Report. Humans and
Development Manifesto. Cockburn
1814 Fort Douglas CIR
Technology, Apr. 2004 <http://alistair.
defined an early agile methodology for the
Salt Lake City, UT 84103
cockburn.us/crystal/articles/evabc/
IBM Consulting Group in 1992, served as
Phone: (801) 582-3162
earnedvalueandburncharts. htm>. E-mail: acockburn@aol.com

February 2006 www.stsc.hill.af.mil 17

You might also like