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.