‘There are forces, Lucius, infinitely more powerful than reason and science.’
‘Which?’
‘Ignorance and madness.’
Things NOT to Do in North Korea
Ask why Kim Jong Il is the only fat man in the country
Pilot Season
Ignore the rumors. L.A. does have four seasons: earthquake season, fire season, riot season, and the most ravaging — pilot season. Network TV keeps groping to win over an America it despises — a viewing public it sees as a blurry, fat, brainless blob of uninsured, Hemi-powered, God-fearing Wal-Mart clerks.
Two Simple Rules
More software projects have gone awry for lack of calendar time than for all other causes combined.
As a corollary to this, I’d say that lack of calendar time very often forces us to admit that our projects have gone awry.
Denial is a viable strategy when delivery dates are far in the future, but when the deadline is staring you right in the teeth, the time for sunny optimism is over and the time for the Day of Reckoning (DoR) meeting is at hand.
I attended one such DoR meeting yesterday afternoon . . .
This particular meeting broke down into a battle between the Designers and the Implementers. The Designers — who happen to be the more senior members of the team — felt that they had written the specs in such excruciating detail that the system should pretty much have coded itself from that point on, despite the relative inexperience of the Implementers.
The fact that this didn’t happen was frustrating to both factions. The Designers think the Implementers are incompetent; the Implementers think the Designers are arrogant.
Let me say here that if my life depended on delivering a project successfully, I would want to follow at least two simple rules, namely:
- Keep it simple.
- Deliver early and often.
At every DoR meeting I’ve ever been to — and I’ve been to quite a few over the years — one or both of these rules has been violated.
Yesterday was no exception.
Rule One violated
The company I’m working with is a believer in big upfront designs. On this project, the Designers were allowed to generate hundreds of pages of design docs, models, diagrams — then hand it off to the Implementers to implement.
The design is way beyond the ability of human beings to comprehend in its entirety. You’d have to be some kind of savant to keep that much information in your head and feel a sense of mastery of it. Software development is a technical process, but it’s also a people process, and you have to work within the limits of human comprehension.
Rule Two violated
You can’t really assess the efficacy of a design until you try to implement it — except to say that it’s almost certainly wrong in some respects — for the following reason:
If you were assigned to model an existing system of moderate complexity in perfect detail — well, I don’t know you, but I feel safe in saying that you probably couldn’t do it.
You’d get some things wrong, you’d leave some things out . . .
Now if you were assigned to model a system that hasn’t been built yet in perfect detail, just working from a set of requirements — well, that is an impossible task.
And even if you could do it, you’d find that in the course of building the system, forces beyond your control would inevitably lead to requirements changes, thus invalidating your model.
Bubbles and Lines
Bubbles and lines don’t crash.
Nothing ever breaks during the design process. Bubbles and lines don’t crash — code crashes!
So if you defer the writing of code until the big upfront design is done, you wind up learning things late that you would have been much better off learning early, when you still had time to do something about them.
Again, if my life depended on a successful project delivery, I’d start with early delivery of a working system that did almost nothing, but had the basic infrastructure in place — the essential hardware, software and network connections — then start adding to it, one piece at a time.
Summary
- Keep it simple.
- Deliver early and often.
Thus spoke The Programmer.
Great Moments in Parenting
Here’s a father-son moment I hope to avoid — telling a jury what a good boy he was during the penalty phase of his murder trial.
A Joke I Learned in Traffic School
A guy is driving to work one morning. He turns on the radio and the announcer says, “Be careful out there. Somebody’s on the freeway driving the wrong way.”
“Somebody!?” the guy says. “They’re all driving the wrong way.”
The Potential for Fidelity
My wife is apparently a prime candidate for an extramarital affair, according to this article.
She denies it, of course:
“I have time for an affair?! I don’t even have time for lunch!“
Actually, I wasn’t reading the article to assess her potential for fidelity, which I already suspected was very low. I was looking for tips on how to hook up with some desperate housewives when she finally runs off with another man . . .
The Great Ones
From Wikipedia: List of people known as The Great
Bird Teams
It’s getting hard to find a restaurant without a TV set anymore. Evidently, Americans don’t like to leave home if it means being away from television, even for an hour or so.
His Master’s Voice
My wife is making noises about getting rid of the dog, because we just moved into a new house and he’s making a mess of it. He’s not doing anything bad, it’s just that normal canine activity puts some wear and tear on a place, which is why I said don’t get a dog in the first place.
The Meaning of Golf
But what do I get from existence? If it is full I have only distress, if empty only boredom. How can you offer me so poor a reward for so much labor . . .
Another weekend approaches, bringing leisure hours that we don’t know what to do with. As the busy work week winds to a close, we have a couple of days in which to ponder the emptiness of our lives.
How dreary! How much more pleasant if we could fill up the time with other activities.
Hence: Golf!
Intoxication is another option. Or both at the same time!
Ancient History as Told by a 6th Grader Who Watches Too Much SportsCenter
Hammerin’ Hank Hammurabi here, bringing you today’s Peloponnesian League matchup between the Akkadians and the Assyrians. Sargon the Great gives the Assyrians some much-needed leadership . . .
Redefining Race
MILWAUKEE — A radio talk show host drew criticism Thursday after calling Condoleezza Rice an “Aunt Jemima” and saying she isn’t competent to be secretary of state.
The host, who is white, also called Colin Powell an “Uncle Tom.”
He added that he has a long history of commitment to civil rights and support of the black community.
The Greatest Legend of All Was Real
Worse Than it Looks
I noticed a few days ago that a map of the recent election results shows Democratic voters relegated to the fringes of the country.
It turns out that if you look at an election map by county rather than by state, the situation becomes even more extreme, and even the blue (Democratic) states turn mostly red.
A coworker of mine refers to Republicans, somewhat derisively, as “Bible Belt” voters.
If that’s true, then — as you can see from the map — the Bible Belt now runs from the Hudson River to the Hollywood Freeway.
Who Wants Chili?
I’m making chili for dinner . . .
“I don’t like chili,” the boy says.
“Good. That means there’ll be more for me and Lightning.”
“You’re giving chili to the dog?!”
“And since I’m not giving any to Lightning, that means there’ll be more for me . . .”
Homework Follies
My son takes a break from his social studies worksheet to explain his new system for organizing homework assignments.
“I write everything down in my organizer, then I draw a happy face next to the easy assignments, a sad face next to the hard ones, and a sad face with tears next to the ridiculous ones.”
“What kind of a face did you put next to that social studies assignment?” I ask.
“Sad face. I should have put one tear. I gave reading comprehension two tears.”
“Have you ever had an assignment where you put a sad face with tears showering from both eyes?”
“I just started the system today.”
My Fantasy Football League Fantasy
My workplace is teeming with idiots who know more about some steroid-amped freak and how many yards he ran with a ball in his hands than they do about their own family members and whatever babysitter is raising their kids for them.
Kee-rist!
I wish I could go back in time and strangle them all in their cradles . . .
Le Hamster est Mort
Bowser died today. Or, maybe, yesterday; I can’t be sure.
(French literature buffs are screaming with laughter right now. Trust me.)
I feel bad that we didn’t pay as much attention to him after we got the dog, but I guess that’s why pugs cost $1,000 and hamsters cost six bucks.
Election Wrapup
It might have been fun watching a talking tree lead the country for a few years, were it not for the small matter of the war for civilization, and the fact that you don’t want a president who’s determined to lose it.
It’s interesting, in looking at a map of the results, to see that there’s a huge block of red (Republican) states starting from Florida, going most of the way up the eastern seaboard, and then sweeping west all the way to Nevada, leaving a few pockets of confused people on the fringes — geographically and otherwise — who are completely out of touch with the rest of the country.
Unfortunately, this includes my home state of California . . .