Home > technical > The Loop Of Woe

The Loop Of Woe

When a “side view” of a distributed software architecture is communicated, it’s sometimes presented with a specific instantiation of something like this four layer drawing; where COTS = Commercial Off The Shelf and FOSS=Free Open Source Software:

I think that neglecting the artifacts that capture the thinking and rationale in the more abstract higher layers of the stack is a recipe for high downstream maintenance costs, competitive disadvantage, and all around stakeholder damage. For “big” systems, trying to find/fix bugs, or determining where new feature source code must be inserted among 100s of thousands of lines of code, is a huge cost sink when a coherent full stack of artifacts is not available to steer the hunt. The artifacts don’t have to be high ceremony, heavyweight boat anchors, they just have to be useful. Simple, but not simplistic.

For safety-critical systems, besides being a boon to maintenance, another increasingly important reason for treating the upper layers with respect is certification. All certification agencies require an auditable and scrutably connected path from requirements down through the source code. The classic end run around the certification obstacle when the content of the upper layers is non-existent or resembles swiss cheese is to get the system classified as “advisory”.

Frenetic , clock-watching managers and illiterate software developers are the obvious culprits of upper layer neglect but, ironically, the biggest contributors to undependable and uncertifiable systems are customers themselves. By consistently selecting the lowest bidder during acquisition, customers unconsciously encourage corner-cutting and apathy towards safety.

Got any ideas for breaking the loop of woe? I wish I did, but I don’t.

  1. fishead's avatar
    fishead
    January 27, 2010 at 9:59 am

    OK. That’s scary. Your ‘loop of woe’ can be applied to just about everything these days. Products, services, everything. It’s the Wal-Mart syndrome. Cheap is good, although cheap falls apart and fails very quickly.

    In cases where transparency is more valuable than the lowest bidder, the loop of woe CAN be broken. But that requires partnership on the customer’s side. If the customer understands your costs, and you openly share your costs, along with your expected margin, at the beginning phase of a project, not only do you end up with a more functional system, everybody wins.

    It’s when the developer tries to hide in the cloud of obfuscation as he cuts corners where things fall apart. Burn off the fog and the sun comes out.

    • January 27, 2010 at 6:42 pm

      Well said Rick. Thanx for the feedback.

  1. No trackbacks yet.

Leave a reply to fishead Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.