Years ago, I emailed the Microsoft SSIS Developer Team with a request. It’s a long story. The short version is: there’s a bug in the way the SSIS runtime applies package configurations and this bug violates a principle of computing (the command line always wins). I should blog about it…
In the email, I included a request for a pony. Matt Masson (Twitter) replied with this image attached to his email and a note stating, “You cannot have a pony.”
Funny guy, that Matt.
We All Want a Pony
At one time or another I believe we all want a pony – especially when it comes to software projects. What do I mean? Well, it requires some background:
The Expectations Gap
Andy’s First Rule of Projects is:
In every project, be it internal or hired out to consultants or sent offshore; gaps exist in the expectations of the customer, the end-users, and the developers.
Andy’s First Rule of Projects (A1RP) is addressed by one and only one remedy: communication.
There is no way, in my humble opinion, to eliminate the A1RP gap. The best we can hope and strive for is to minimize the A1RP gap by communicating more and more effectively.
Communicating more is pretty easy to figure out.
Communicating more effectively, though? That’s hard and best described with an anti-pattern. I can hear you thinking, “What’s one anti-pattern of effective communications, Andy?” I’m glad you asked!
In It To Win It
We all like to win. As I type this, the 2018 Winter Olympics is happening in PyeongChang, South Korea. Athletes from all around the world have gathered after training for years. You better believe they want to win! In sports competitions, winning is the goal.
Sports contests are short term activities. As I wrote in Coopetition:
The idea is to do “whatever it takes to win” the contest. Rules exist to be stretched and circumvented. Vote early and often. Coerce the panel. Stack the deck. Winning is the most important thing.
Don’t believe me? Ask the Russian Olympic team.
In business this thinking manifests in negotiators who do not feel they’ve “won” unless the other side “loses.” I’ve been working in this field now for decades. I’ve been a manager in a large company. I’ve been a contractor. I’ve been a consultant. I’ve hired and fired, and been hired and fired. I’ve been on projects that were spectacular successes and projects that failed. I am here to testify:
I’ve never seen this kind of “winner” “win.”
Not even by their own standards. It. Just. Never. Happens. Without exception, I see these “winners” move on. They blame anyone and everyone for the failure of the project. They wag their tongues, spin the facts, and toss hard-working folks under the bus.
Not only do they not win – no one wins.
Thousands – millions, sometimes – is written off as a sunk cost. It’s a tragedy. It’s wasteful. And it’s a durn shame.
People and companies compete in business. What’s the best way to compete? Effective software projects require longer-term thinking and planning, and should strive to meet longer-term goals. Instead of fighting to win, we should…
Fight Well
Instead of doing whatever it takes to win, act according to principles.
“What’s the difference between fighting to win and fighting well, Andy?” I’m glad you asked. It’s pretty simple: Instead of doing whatever it takes to win, act according to principles. Many act according to preferences instead of principles today. We see it frequently in politics. A politician will give a speech against some behavior or political activity today and tomorrow the same politician will advocate for the same behavior or activity. We call that hypocrisy for good reason; it is hypocritical.
Fighting well means maintaining your integrity.
It is the lie of situational ethics – most often expressed as “for the greater good.” Situational ethics aren’t fighting well, they’re fighting to win. Ethics – sans “situational” – are fighting well. Here’s a good test of whether you’re fighting well or to win:
In a given situation, if your opponent lacks some information that would strengthen their position or argument – information which you posses, which may or may not weaken your position or argument – do you share that information or withhold it?
If you withhold such information I will not call you a liar (although I believe omitting the truth is lying). I will also not call you a truth-teller or refer to you as “a person of integrity.”
Fighting well means I sometimes lose.
Fighting well means I never lose my integrity.
Fighting well means maintaining your integrity. Some business examples may help:
- If I hire a subcontractor and agree to pay them for 20 hours of labor on a deliverable I know will consume 200 hours or their time, I am not being a person of integrity.
- If I overbid a contract, I am not being a person of integrity.
- If my demonstrated goal is anything other than delivering maximum value to my client, I am not being a person of integrity.
Fighting well means I sometimes lose.
Fighting well means I never lose my integrity.
Conclusion
Ponies are expensive and require support and maintenance and care and feeding.
As someone procuring business intelligence consulting or training services, I recommend you buy products and services rather than be sold products and services. One way to tell the difference? A vendor fighting well, protecting everyone’s best interests, whose goal is wins all around, will sometimes demolish your expectations by telling you, “No pony for you.”
Dashing your expectations, based upon their experience and expertise, is the consultant delivering free consulting to you, which makes said consulting of infinite value.
Most folks who want a pony have a change of heart when it comes time to muck out the stall. There’s a corollary to what you wrote about. What’s left after the consultant leaves?