Kerry Buckley What’s the simplest thing that could possibly go wrong?

1 July 2007

The simplest thing that could possibly work

Filed under: Agile — Kerry Buckley @ 9:27 am

But other times we’d be programming away, and we’d say, “Now, wait a second, what are we working on here?” We’d just get stuck. And if we were stuck more than a minute, I’d stop and say, “Kent, what’s the simplest thing that could possibly work?”
Ward Cunningham

Not a command: “Do the simplest thing that could possibly work!”, but a question: “What’s the simplest thing that could possibly work?”.

Once you think of something really simple that might work, think for a minute – is there an obvious reason why it definitely won’t? If not, try it, and then you’ll know. More importantly, if it didn’t, you’ll know exactly why not. Maybe it was functionally correct, but not fit for purpose – perhaps an algorithm was too slow, or an interface was too confusing or ugly to release to users. The point is, you’ve either got something you can build on, or you’ve got a concrete reason to abandon an idea, rather than a theoretical argument. If you’re lucky, it’ll turn out that the simplest thing did work, and the problem’s solved.

Too often people seem to twist this into some kind of XP Prime Directive, claiming that a particular solution is over-engineered because it wasn’t TSTTCPW. On the other side of the fence, big-picture architect types use it as a straw man to criticise agile methodologies, claiming that they ignore anything that isn’t part of TSTTCPW, leading to simplistic and unscalable solutions.

As Einstein said, “Everything should be made as simple as possible, but no simpler.”

[tags]XP, simplicity, Ward Cunningham[/tags]

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress