Saturday, January 15, 2011

A sailor's look at Agile, Part II

In Part I of the sailing analogy for Agile, I left it to this posting to explain estimating the cost and schedule, and by extension the earnable value.

The lay line value plan
As discussed in Part I, the lay line is the plan for delivering requirements. To be clear, a lay line is actually a course between navigation points [project periods, or multiples thereof]. To get from start to the finish, the plan may call for several lines in sequence that dodge about hazards and obstructions [project risks], and thread the way through navigable water [analogous to policies and workflow applied to the project]

From a benchmark of performance of the boat-crew-sails combination to sail a lay line [make throughput],  the captain quickly size up how many units of performance are needed to sail the lay line under ideal conditions.  Of course, the benchmark is established before the project begins.

For example, if the benchmark is 8 nautical miles in 1 hour--that is, the boat is ideally capable of 8 knots--then 8 NM is a performance unit.  [8 NM sailed is the throughput of the performance unit, aka sprint or iteration] Continuing the example, a 40 NM lay line [a NM is analogous to a story point] would ideally be planned for 5 performance units of 8 NM per unit.

And, of course, we know the $-cost of the boat and crew to execute a performance unit, so a little arithmetic will give us the planned value in cost terms; similarly, we can  schedule the lay line.  In this example, the ideal schedule would be 5 hours corresponding to 1 hour per 5 performance units.

Variance to plan
From Part I, we know it's unlikely that the captain can pilot the boat along the lay line from start to finish mark, simply because the wind [representing project energy and risks, biases, and attitudes] is unlikely to be in a favorable alignment for the whole of the sailing experience.  Some resistance to progress or inefficiency is to be expected.  Thus, we need a 3-point estimate for the sailing plan.

3-point estimate
Stuff happens!

In the sailing game, it's the wind and the effects of the wind more often than not. The wind is not only the motive energy for the boat [project], but it's the source of most of the risks and uncertainties. These various energy components interact in unpredictable ways, but their effects are estimable in many respects.

1. The most optimistic outlook is when a favorable wind enables the boat to perform each increment of the plan ideally. The efficiency of the boat's use of the wind's energy is 100%.

[For most modern boats, the wind will be coming from forward of the beam. And we'll assume the boat is sailed exclusively in displacement mode, thereby obviating the complications of extending the analogy to sailing on a plain.] 
In this example, the MOO is 5 performance units, as explained above.

2. The most pessimistic outlook is when the wind is in direct opposition to the boat [headed, in sailing terms], maximizing the effects of risk and minimizing the amount of energy the boat can draw from the wind to make value along the lay line, as shown in the illustration.  In such a situation, the captain will tack the boat back and forth across the wind as described in Part I.

Looking at the illustration, the lay line represents accumulating value, not accumulating time.  The length of the performance unit arrow represents the effort of one unit of performance, in this case: sailing 8 NM. The  projection of the arrow to the lay line is the value earned for the effort expended; the fact that the projections are shorter than the arrows means that not all requirements were earned.

For a number of reasons specific to the sailing analogy in this example, the most pessimistic outlook is with the wind heading the boat on the lay line.  This is the case illustrated. A reasonable estimate is that two increments of actual performance will yield only 1.4 increments of achievement along the planned lay line.

Thus, the efficiency of the project's use of the motive energy of the wind is:  output / input = 1.4/2 = 0.7 or 70%. 

The actual forecast is then calculated as:

Input = Output / efficiency
Input = 1.43 x Output
For this example, the MPO is 1.43 x 5 = 7.1 performance units.

Of course, the wind could slacken, or even go calm, and so the long range forecast may call for more pessimism.  However, those are circumstances that are to be addressed in the near-future time frame of the project, and thus belong on the risk register.

3. The most likely outlook is estimable once the wind direction is known; it will be bounded by the most optimistic and the most pessimistic outlook.

From the three points, Monte Carlo estimates can be made, assuming it's reasonable to apply the estimates to each performance unit [sprint, iteration]

Obviously, we have to account for sailing in a fleet, where the project manager is in overall command of the fleet, but each boat is now a team within the project.

How to maintain order and coherence?

Obviously, there are 'rules of the road' known to all that are applied by boat captains at the moment, thereby avoiding conflicts and collisions. But each captain has lattitude to maneuver for best advantage to the mark.

Boat-boat communications certainly feed 'over the horizon' information [rolling wave] from the lead boat back to the fleet. Thus, each boat is a node in a situational awareness network that circulates information more or less according to customary protocols.

From time to time, the fleet may have to 'lay up' and all captains [team leaders] assemble on the flag ship [project office] for a staff meeting and exchange of information not possible when in the team setting.

Feedback and evolution
During the course of the sail, the captain is constantly taking in data, processing it into useful information to manage the boat and its crew. No plan survives first contact with reality, so some evolution and improvisation are normal.  Additional performance units may be required.  Some performance units may have to be replanned.  Thus, in the planning of the lay line, including a buffer to absorb unplanned increments is prudent. 

It may even be necessary to get back to the admiral and rebaseline if things go really awry. 

Satisfying the sponsor
In the end, how much value is earned?   The planned value of the lay line is the earnable value.  Making the mark satisfies the sponsor and delivers the expected scope. The actual expenditure will be dependent on the wind and other events or circumstances that may arise.

 Bookmark this on Delicious
Are you on LinkedIn?    Share this article with your network by clicking on the link.