Entries from October 2005 ↓

Local optimisation

My weekend was a curious mix of thinking about how we improve as a business and listening to Bob Dylan – in part triggered by the fantastic season of films and documentaries on BBC4 at the minute.

While I’m sure that Bob wasn’t talking about lean development when he wrote it, some lyrics from Idiot Wind struck me as appropriate:

“You didn’t know it, you didn’t think it could be done, in the final end he won the wars After losin’ every battle.”

It reminds me of something I read about Lance Armstrong, who consistently wins the Tour-de-France, but has a relatively low rate of winning the individual stages. Winners value pacing over pace.

Local optimisation is dangerous because it causes overproduction in stages of the process that are not on the critical path.

Donald Knuth said it most succintly in terms of development: “We should forget about small efficiencies, about 97% of the time. Premature optimization is the root of all evil.”

How does innovation happen?

3M is widely regarded as one of the most innovative companies – massively diversified and very product oriented. While re-reading Lean Software Development this weekend, I found these sayings from an early leader of 3M, William McKnight:

“Hire good people, and leave them alone.”

“If you put fences around people, you get sheep. Give people the room they need.”

“Encourage, don’t nitpick. Let people run with an idea.”

“Give it a try—and quick!”

And my personal favourite:

“As our business grows, it becomes increasingly necessary to delegate responsibility and to encourage men and women to exercise their initiative. This requires considerable tolerance. Those men and women, to whom we delegate authority and responsibility, if they are good people, are going to want to do their jobs in their own way. Mistakes will be made. But if a person is essentially right, the mistakes he or she makes are not as serious in the long run as the mistakes management will make if it undertakes to tell those under their authority exactly how they must do their jobs.”

You say tomato, and I say tomato

Last Christmas the wife and I bustled our way around several department stores looking for a washing machine. Eventually, we bought one. I remember that we chose the one we thought we wanted and found a salesman who said something along the lines of: “A great choice, sir. I have one myself”.

Now, maybe he did, maybe he didn’t. I suspect, with my cynical hat on, that he was telling tales. But it made us feel re-assured that we weren’t making a dud purchase; and we wanted to believe him, so we did.

I’ll get back to the salesman in just a minute.

I was sitting on the tube last week playing solitaire on my Palm LifeDrive. A chap sat next to me and, noticing the Palm, asked me if it was any good. He’d been thinking of buying one and had browsed several websites, but wasn’t sure. I gave him the low-down: it’s a bit bulky, the battery life isn’t great if you’re using the wi-fi or bluetooth connection, but otherwise it does exactly what it says it does.

Then he asked me something that I thought rather odd: is it easy to use if you’re left-handed? It was odd because I’m not one of the 10% of people who are south-paws, though I was playing solitaire with my left thumb out of laziness.

The chap on the tube had seen someone like himself, or so he thought, a left-handed palm user (Hmm. That sounds like the start of a joke).

The one thing that was critical to him about the device didn’t even occur to me.

(I’ve checked out the palm website and it doesn’t even mention handedness.)

Which brings me back to the salesman. The salesman can’t possibly have owned and tried out all the washing machines on sale, and even if he had done, who’s to say that his ‘contexts’ or ‘criteria’ are the same as mine?

But, I’m sure that out there, on the web, is a left-handed LifeDrive user with an opinion that they don’t mind sharing with a stranger just as I did on the tube. In fact, I know that there are dozens and dozens of left-handed LifeDrivers out there.

That the marketeers can’t guess at the criteria which make or break sales of their product and don’t tackle what they would call niches is a lost opportunity. Retailers, connect your users together – they know more than you do!

Trigger-happy releases

Cal Henderson of Flickr: On a good day, we release a new version every half-an-hour. And I thought we had it beat with our once-a-day-releases…

We’re getting there at Revieworld, with releases every day. I’m most proud though that we could release every half-an-hour if we wanted to – continuous integration ensuring that checked-in code is always in a releaseable state. We’re currently running at a test-to-code ratio of around 1.4:1

I’m pleased to say that we’ve never had a release that we weren’t happy with and certainly not one we’ve had to rollback.

Two of my standard interview questions now are “how often did you release code on your last project?” and “what would you have to do to halve that time?” For anyone coming to interview soon, here’s a clue: the answer is never add more testers.