Tuesday, May 29, 2007

Blaming developers for usability problems

I'm sure there are plenty of situations where a developer makes a design decision without the proper skill/knowledge/thought/information and the decision worsens the usability of the product. It probably happens all the time. But to be honest, I think way too much attention is focused on solving this problem. In books and articles I read, there is often a sometimes unstated assumption that if we could just get developers to understand the fundamentals of design a bit better, they could make better decisions and usability would dramatically improve. I don't buy it.

The developers I work with are smart, conscientious people with a decent working knowledge of design... at least good enough to recognize design problems, but perhaps not solve them. They want to do the right thing. They appreciate that usability is important. And they take pride in the quality of their work. The problem is that good design is often harder to contain than bad design. Not always, but often. And developers have VERY strong incentives in place to make their code deadlines. So they are put into a position where they can either miss their deadline to do the better design or they can make their deadline to do the worse design... and all the external incentives say to choose the latter.

And this isn't always the wrong choice. Features DO matter, and spending extra time on design lessens the number of features you can do. Clearly, there's a balance.

But I tire of this assumption that bad design happens out of ignorance, especially the ignorance of developers. I think that's the exception to the rule.

No comments: