Geeks With Blogs

News Dave's Mug View David Oliver's profile on LinkedIn Add to Technorati Favorites Blog Directory for Guildford, Surrey
Dave Oliver's Blog Enterprise Technology Thought Leadership in a FTSE 100

I’ve been on holiday recently and my sun-lounger reading of choice amongst all the usual best-seller guff was Alan Cooper’s  The Inmates Are Running the Asylum which came highly recommended from a good friend of mine.

To be perfectly honest, the book has altered my world view of the development cycle and our issues. So what I want to discuss here is one of the issues that came out of the book and that issue is us, the developers!

In short, if you haven’t read the book (and I highly recommend that you do) many of the reasons why the people who use the software we create have difficulty in using it comes down to the way we design and build it.

The issue isn’t so much the lack or quality or methodology of the design, it’s having developers design software. The book argues that we shouldn’t design applications because we essential think differently, have different goals, motivations and attitude from the people who ultimately have to use it to get their work done.

On reflection, I find myself agreeing, we suck at designing for the people who are going to use our software.

So what I wanted to debate is whether you agree with me or not.

Posted on Friday, May 5, 2006 5:54 PM Main , Development Technologies | Back to top


Comments on this post: Software design and why developers suck at it !

# re: Software design and why developers suck at it !
Requesting Gravatar...
When you're talking about software design, are you talking about designing the way the user interacts with the program?

Everyone seems to agree that most developers aren't very good at doing this (some even think being able to write good code automatically disqualifies you from being able to design good interfaces) but if developers aren't qualified to develop the user interface, who is?

I think perhaps a more interesting question would be is this something developers would actually be able to learn? Perhaps this a gap in the stuff that's taught to aspiring developers? I find it difficult to believe that this is something that is impossible for people who write software to learn if they genuinely wanted to.
Left by Helen on May 06, 2006 6:42 AM

# re: Software design and why developers suck at it !
Requesting Gravatar...
Thanks very much for you feedback Helen.

It's easy to think of interactive design as just involving the UI but interactive design also deals with the process the person who is using the software follows.

Developers are very good at generating sequences of events, lets use a very common example, you need to fill in all the customers’ details, address, telephone numbers, email address etc before you can generate a quote.

What happen if a potential customer phones searching around for the best price. Will the system allow the user to just fill in enough detail to generate a quote? No ofcourse not, you will need to fill it all in, so often users just fill up filled with crap or a bluff entry just to get them as quickly as possible to the quote. Ever wonder why so many customer systems have crap data? Isn't the rigorous checking and filling in every field good enough?

The answer isn't design an addition screen just to do 'quick quotes' the answer is it do work closer with the user and think how they think, being able to be flexible and fudgeable.

Developers cannot think in the same way as users and this is a lot to do with the difference in personalities.

Take for example a typical developer will try and try till they succeed, failure is an expectable part of the process, and the goal is to make the best product they possible can. A typical user wants to fail as little as possible and achieve as many goals as they can, they aren’t worried too much about detail or perfection. This is just one example of the differences. There are plenty more.

In future posts I will explain why developers suck at design in more detail and why the missing link in the develop cycle isn’t the way we build software but better understanding of what we already have.
Left by Dave Oliver on May 06, 2006 9:48 AM

# re: Software design and why developers suck at it !
Requesting Gravatar...
Dave, I agree that some people who write software can’t bridge the gap between their world view and the world view of their software’s users. They view the software only from the inside and tend to think of software development as only a technical challenge. (Or they make too many assumptions about how the users use the product and what those users need) But I do think that there are people who start out like that who learn how to also see products from the outside. Who in essence can become the user and champion product changes because the user needs those changes, not because they are technically cool. I also think there are folks who can’t do the inside work but can be a voice for users. This is how I define those abilities:

- Inside Only: Software engineer
- Inside/Outside: Software developer
- Outside Only: Product manager

Companies that hire only software engineers are not likely to create user friendly products. The trick is to hire software developers and build development teams around them that are made up of software engineers. Then task the software developer with the job of helping the software engineers learn how to be software developers. Some folks will never get it but many will. When this happens everyone wins.

I think part of what makes a developer different from an engineer is that the developer focuses on the user, with the technology being secondary. Where as an engineer focuses on the technology and may never give a thought to the user.

But as I stated earlier, I believe that some engineers can learn to be developers. I’ve seen it happen. But it happens a whole lot faster if a company understands the value and creates an environment that encourages those changes.
Left by Kim Greenlee on May 10, 2006 3:58 PM

Comments have been closed on this topic.
Copyright © Dave Oliver | Powered by: GeeksWithBlogs.net