Posts Tagged ‘Network Diagram’

Resilience Engineering #12: Party Time!

by Gary Monti on August 29, 2011

“Party responsibly.” Beer commercials come to mind when reading that phrase. Let’s nudge it a bit and maybe drop the alcohol to show practical application of FRAM, the Functional Resonance Accident Model, initially introduced in blog #7 of this series. Why? In complex situations FRAM helps explain what happens much better than any linear model. Also, it has some added benefits we’ll see in a minute.

Specifically, an example from my RE workshop will be addressed. It has to do with a child trying to get permission to go to a party. This permission is predicated on homework being completed adequately by 5 PM for parental review (see figure below).

What we have here is a FRAM diagram. The goal is to show the dynamics at play and how they can be mapped out for a given situation. Each hexagon is a function. The attributes for each function are:

  • I (Input). Raw material needed to execute the activity, e.g., actual math problems that must be performed for “do homework.”
  • O (Output). The measurable deliverable from the activity.
  • P (Preconditions). Environmental and contextual considerations needed for success to occur, e.g., “work in class,” is a precondition for “study” to be effective.
  • R (Resources). Classic project management resources, e.g., bringing “books/work home” so that study can be facilitated.
  • T (Time). This can be either classic duration, e.g., two effort hours, or calendar time, e.g., one evening.
  • C (Control). The parameters for setting acceptance criteria as well as process requirements that insure an adequate job is done, e.g., all math problems must be performed correctly.

The first thing you might say is, “Couldn’t this simply be done as a network diagram?” It could but a lot would be missing. Specifically:

  • Flexibility. The big plus of this approach over network diagramming is freedom from left-to-right-to-show-the-passage-of-time. It lays out the dynamic and allows for brainstorming in terms of being able to add function points without worrying about chronology. Once the dynamic is completely expressed then a traditional schedule can be made.
  • Heads-up Display. Notice how all the elements associated with a function are provided in one spot. This allows a faster, more intuitive approach to assessing a situation, e.g., there’s no changing of “views” to see important information. This having to flip back and forth can fragment one’s thinking potentially causing the overview to be lost.
  • Impact of Functional Resonance (variance). With this model one can see the effect that changing multiple variables can have on the process, which, in turn, can impact the project.

For example, take the function “Dad Reviews.” This can have variance (functional resonance). If Dad has had a long day at work, is tired, and would like to just sit for a while then “Dad’s Principles,” which is the control mechanism for the review, could resonate from when Dad had more energy and was thinking about how important preparing for college is.

Another example is bringing “books/work home.” There is a great deal of nuance with this function. It is a direct input and resource for “study” providing the material covered in class. It also is an input and resource for “do homework.” This is very rich information-wise. I helps explain the broad frustration parents feel when their child says, “I’m sorry I forgot my books (look of disgust)! It’s no big deal. I’ll call my friend for the problems.” It was trying to make something linear (and less significant) which actually is indicative of something larger in the entire process of learning.

Compounding effects can be illuminated. Look at the 5 PM deadline for submitting the work for Dad’s review. If class was cut so that “work in class” was nullified what impact could that have on making the 5 PM deadline. It could lower the probability of the homework being done on time so the failure to get to the party might have already been determined earlier in the day. Then again, combined with Dad being tired, the cutting class can be compounded and the child gets to leave and essentially “Party Irresponsibly.” See how this works?

FRAM gives a nice picture of the dynamics of a situation. It helps tell the story. In complex situations this is extremely critical because success and failure emerge from the dynamic interplay between the variables rather than residing in any one part.

Can Agile cause damage?

Yes.

Is Agile a good method?

Yes.

How can both statements be true?

Let’s look.

First, let me say I have a great respect for RAD, Extreme Programming, Agile, etc., because the methods reflect acceptance of and dealing with a common reality.  That reality is the gap between initiatives or high-level project statements (40,000 foot view) and what it takes to get the job done (working in the trenches). Life moves at such a fast pace there is little time or tolerance to do definitive estimating, i.e., laying out ALL work in work packages of 80 effort hours or less and stringing them together logically to create a network diagram. The pressure that is usually put on the team comes from the desire to see action and deliverables being generated as quickly as possible. The belief is time might be wasted planning due to analysis paralysis. There’s something more to it, though.. the senior management has the desire to move ahead with more initiatives and wants to delegate its responsibility to think things through at a detailed level. In other words a greediness can be present to get as much from the team with as little input as possible.

The Agile method creates a realistic solution to such a situation by getting the team to work quickly with the caveat that the recipient of the deliverable will be available to sign off on progress made and give clear indication of what they desire next.

Baby Steps

The problem that can arise is reflected humorously in the movie, What About Bob, where a successful psychiatrist (for this blog representing the team) loses his mind while attempting to deal with a highly dependent, manipulative, obsessive-compulsive patient (representing the customer, end-user, or sponsor).

In the movie, the psychiatrist is famous for his book, “Baby Steps,” which defines how patients can be moved back to health by making small, corrective changes in their behavior. The problem is the patient takes advantage of the psychiatrist’s dedication to get more of what he wants without taking responsibility and making any changes in his own behavior.

No, this does this mean that customers, senior managers, and end users are mentally deranged. The situation is more in line with having to deal with a demanding, ever-changing business environment and expecting IT to keep up with the demands. If these demands are legitimate then what is the problem?

Flexible or Fragmented?

The issue has to do with the potential of taking a good thing too far and having it turn into a weakness. This is the basis of an interesting psychological tool, the Strength Deployment Inventory (SDI). Flexibility IS important as is acceptance of the difficulties associated with doing long-range detailed planning. So, again, Agile provides a definite “plus.” The problem arises when there is an over-reliance on the intense, tactical approach. What can happen is reinforcement of a nearsightedness regarding requirements along with the belief the team can work without getting immediate feedback on their work. If the team reacts to this and pumps up to get more intense about making the method work a negative feedback loop can build which is of no help to the project.

The Solution: Balance

In the end stability is needed. Why? When the success of a method exists solely in the dynamic of extreme, short-term actions there is the risk of no end-to-end stability. Documentation becomes increasingly difficult to perform because many targets are moving simultaneously. The organization can behave as if it has ADHD.  On the flip side, strategizing without getting into the details risks going nowhere.

The solution lies in getting back to some classic project management approaches to insure a coherent strategic overview is maintained and system performance is truly auditable. It is similar to laying roof shingles. A line needs to be drawn as a reference point across the entire roof. If not, roofers can lay shingle by shingle and swear they are following a straight line. However, after going 15 or 20 feet in this manner they can drift from the straight line with absolutely no awareness they are doing so. This drift eats time and money.

A 5,000-year-old quote from the Upanishads sums it well:

“By standing still we overtake those who are running.”