Efficiency or Effectiveness?
Deb’s thoughts have inspired me to revisit some of my older thoughts on the same subject.
I once had a manager say to me “If you don’t know where you are going, any road will do.”
Yes, but if you don’t know what kind of road it is, buying a ferrari (efficiency) to drive on it is probably dumb.
(I didn’t say that, but I wish I had)
Is there another golden triangle?
Efficiency - Effectiveness - Flexibility - Pick any two.
Right now, my company seems to be optimizing for efficiency and flexibility. And, clearly deservedly so based on the triangle, we have a problem with finishing our projects - really finishing them. We run them on a shoestring budget, forcing everyone to make do with half-solutions, hacks and last minute emergency deployments. We get to a partially complete solution, and then let them linger and dangle for months after they’re supposed to be done, because the developers and QA people have all been drug away to work on other projects, all of which are also on a shoestring budget, built using half-solutions, hacks and so forth. We constantly switch languages, switch operating systems, switch domains of expertise, all the while wondering why we can’t ever seem to hit the mark with the customer, really make progress with them. We jump through the customer’s hoops, trying very hard to delight them, make them proud to use our software, even as we hop from project to project, leaving them incomplete and dangling. And we wonder why the customers don’t seem to trust us to deliver, don’t seem to really believe that we can get things done.
And I say this with some authority, for over the last seven days I have had three different projects, none of which yet complete, that have all been my number one priority for portions of at least one day. And next week looks to be more of the same. I tried to focus, tried to push other projects away, but even when I do that, the people that I depend on are pulled off onto other projects that are their higher priority tasks.   So I am forced to switch… and switch… and switch…
The biggest irony of it all is that we aren’t terribly efficient either.  We’re practically the poster-child for “penny wise and pound foolish.” We put developers who specifically state to their management that they do not want to work on C# .Net, and make them key members of a C# .Net project. And then act surprised when they decide to leave for “personal reasons.” We nurse aging equipment, rather than replacing it with new, wasting several hours a month of developers time. Werefuse to invest any money in training or teambuilding, but happily leap headlong into new languages and techniques.
And the worst part is - I am part of this - I am part of our “penny wise/pound foolish” culture. Sometimes deliberately, in how I will suggest that we spend on not spend money. Sometimes unconciously, because I don’t know any better. And sometimes, simply becaues it’s too hard to argue with the dominant paradigm when you’re being rotated through thre “top must-do-or-the-company-sinks priorities each week.”
Sigh
At least knowing that I am part of the problem, and realizing what we are doing, I can help create the solution.
Today’s rant was brought to you by the letter I, the letter R and the number 3.