Sunday, February 5, 2012

Complexity Syndrome

Is it just my perception, or does our very language spite us sometimes?

America was founded on hard work.  Hard-working Americans is a byword in the current political rhetoric.  In professional settings people are constantly called upon to quantify their efforts: hours worked/billed, units produced, total sales, customers served.  When making decisions, people strive to be objective.  All of these words have a positive connotation.

We know about smart work too, but the positive connotation is less intrinsic.  “An honest day’s work” typically refers to hard labor, getting your hands dirty, doing something repetitive.  There is something in our culture, in our collective subconscious, which tells us to work hard and just get it done.

Work must be completed.  The project must be finished to be judged qualitatively, I do not dispute that.  The misconception that I run into too frequently is: “Harder (or more) work is better.”  This is simply untrue.  Smart (or elegant) work always trumps harder (or more) work.  This is not a new concept, obviously.

So how does that relate to complexity?  The last software consulting firm I worked for had no internal qualitative controls.  All compensation and bonuses were tied to quantitative measures (how you would do it otherwise I do not know, but it exacerbated the issue).  There were a great number of projects that were losing money, because they could not pass functional testing.  Fixes were difficult to manage because the work-product complexity was high.  What I eventually understood was that when I work more or harder, the output is more complex and less elegant.

Complexity is not a bad thing
.  Great value is added through complexity.  Extra features that make software (and tons of other things) useful always add complexity.  Furthermore, complexity and elegance are not mutually exclusive.  To build a sustainable highly-complex system, it must be designed in a highly-elegant manner.  I think that most of you can agree with this, at least in principle.

So where do the wheels fall off our logic train?  The rhetoric, the focus on quantity, trying to squeeze every last dime out of clients because you are billing them hourly, all of these things force the wrong paradigm on workers.  Entry-level and junior workers are especially susceptible, because it takes a lot of time to see the quality-forest for the quantity-trees.  I worked with several guys who were proud of how much code they wrote, not how well it worked or how sustainable it was.

The end product was that complexity was actively rewarded while elegance was passively praised, or dismissed altogether.  This is what was hurting us, and leaders have to take an active role in promoting elegant solutions in their organizations to fix the problem.

Our the management’s response to the problem? Work hard and just get it done.


  1. Great post! I am sad to say that I remember one client got royally aggravated when I couldn't see the grand plan until 6 weeks before the media (the lagging indicator). I have missed some major advances until I saw them fly. Other times the hair goes up on the back of my neck when I realize I am seeing the world shift.
    In 2012 I think it comes down to the number of attempts. The more times you try, the better you get.
    Thanks, Zack!

  2. Zach:

    Catch phrases are not dynamic and we can get bogged down with what the phrase says and the meaning associated with it.

    "Hard work" implied giving it your all when work was physical and you finished the day exhausted. With mind work, we are not physically tired and how deeply we have given can not be determined by residual energy at the end of the day.

    Hard work does mean giving it your all, be that physical, intellectual, or creative, and it continues as a high level goal for success.

    The boss who says 'work hard and get it done' has delegated the HOW to the doer - be it brute force, elegant redesign, or creative approach - your choice.

    Thanks for an excellent post.