Don't Be A Hero
al3x.net
al3x.net
There will be inevitable issues, and things come up in limited testing, but the hero will work stupid hours on little sleep producing crap quality, just to get SOMETHING going, even though it's a strict subset of what was promised. Since SOMETHING is going, and the hero casually notes that it took them heroic effort... he gets a "spot award" or some other trinket.
Manager got the answer they wanted, the customer got SOMETHING, and the hero got his trinket. Everyone wins.
And it will cause headaches and issues untold for many months down the road.
Meanwhile, the non-hero estimates conservatively, management hates the answer, the customer gets a well (or at least less fragile) something later and hates that, and our non-hero gets the stink-eye.
A manager told me long ago that customers don't want it right; the want it broken and quickly. That way they have something to bitch about. From a producer's standpoint, they can then bring out the hero to fix what should never have made it out to begin with, sometimes charge for it, and look like they're "responsive". And the customer can feel all smug that they made the vendor/producer do their little dance.
so there doesn't seem to be much but a generalization. maybe it's true, but i'd agree and say that this sounds more like a manager's point of view (or rationalizations of an employee who doesn't want to look bad relative to a hero, although i'm not making that assumption).
If you mean, is it "correct" in that "Is this the way things should happen?" Then I would submit, no.
But, reality always wins.
This also reminds me of Comparative Advantage[1] from basic economic theory. If you have to people X and Y and two tasks A and B, and X is better than Y and both A and B, should X do A and B for himself? Turns out no. X should only do the task they're more better at, and trade Y for the other; more gets produced, and there's a ratio of exchange such that X and Y both end up with more A and B than they would have otherwise (see [1] for rigorous definitions and simple maths). It's the same situation, you should be taking work away from the Hero so they can focus on what they're awesome at, rather than giving them more work.
Then, after the initial burst, you can start forking things off and spreading the knowledge around. The trick is finding these hero/wizards who care enough to perform the burst but have small enough egos to share the reigns later with others.
Manager?
"... You shouldn’t be getting paged at all hours. Sure, you might need to do some occasional planned after-hours maintenance, or some very occasional unplanned-but-process-driven disaster recovery, but you shouldn’t need a hero. ..."
When you hear this you know your working in an established business or corporate land. I know this is what you should aim for, but I've yet to work or see a Startup that works so well it doesn't require this kind of intervention.
That's a better way to phrase it. I'd agree with that.
It is terrifying to watch an imagined emergency be solved in such a way as to cause a proper emergency.
What's interesting is that there was another person who was also kind of playing the hero role - but didn't quite have the development talent to make the big contributions. Man, it destroyed the team culture between the boss and the devs. It wasn't just that he "enabled mediocrity". He was seen as "being mature" and "really cared". And the other devs saw his flaws rather than his benefits. The devs began to roll their eyes when the boss talked about "caring". Once this happens, it's an awfully hard ship to turn around.
The quick fix in the middle of the night just takes attention form a serious issue and delays it's repair till it later again becomes serious enough to need managements attention.
A real hero will be professional enough to stop the presses, call attention to the problem and assure it gets fixed once for all.
Using the "Technical Debt" analogy, a heroic solution is no more than borrowing money from a loan shark at horrendous interest to pay todays due mortgage.
Founder: A motivated workhorse, eager to please the manager; of course, the manager being the customer.