Every iteration of a feature, say, and by that I mean a released version of a feature, needs to be easy to use. To clarify, I’m talking about the act of iterating – that being completely different from an incremental approach.

“It’s not iteration if you only do it once.”

– Jeff Patton.

If an iteration or version of a feature is not easy to use because it’s unintuitive, or difficult to recall, or because it just looks a mess, then we incur ‘design debt’ (for want of a better name) and perhaps also create some failure demand. In the worst case maybe some customers are lost – forever. The question, as it nearly always is, is how much is enough? How much experience design and usability testing is required at every iteration? On past experiences, I expect it to be different from one iteration to the next, to some extent. It’s a matter of investment.

Based on situational factors, expectations, and a measure of sound judgment it’s usually possible to make a sensible investment. But only if we stop and actually think about it rather than stampeding to what’s usually a builder’s definition of ‘done’. We should expect to under invest sometimes and over invest other times. Occasionally we can expect to get it about right.

It would help us if our success criteria incorporated the user’s definition of ‘done’.