Southwestern UgandaFlying over northern ArizonaSanta Barbara

« Discarded Software #3: A Design To Love

 | Main | 

Anthropologists In Software Design »

Discarded Software #4: Connecting With Users

Mountains of Discarded Software is an essay I wrote in 1999 posted here in four parts. This final part challenges the software developer to get bold and courageous, not with the latest technologies, but with what might seem like radical design choices that reach directly and naturally into the customer's world.

Now that I have argued that there is "another way", I will return to what we as developers can do in the design process. Since the customers are not trained to understand what computers can do for them, WE need to understand what computers can do for them! We design software by using our analysts to understand the customer, and our programmers to understand the technologies, and we try to bridge that gap between what the customer does and what will make it easier.

A good analyst is closer in mindset to the customer than to the programmer. The analyst is the development team's key to the world of the customer. If the analyst is wrinkling his or her eyebrows throughout an entire design discussion it might be time to experiment with something radically different. A good design just fits. It's a beautiful thing.

A poor designer keeps going back to a list of customer requirements and can't seem to get over the first hurdle of choosing an overall strategy that will naturally solve the most important and attainable requirements. Again, a good design theme is a beautiful thing and it's a simple thing. If your analysts love it, chances are the customer will too, and you'll all end up working toward something you believe in. Using the requirements like a grocery list could be the downfall of the product.

We are trained in developing client server solutions, and some of us are concerned with or awed by the latest software technologies. We are all geared up to apply the wonders of computers to the lives of our customers. Unfortunately, as soon as we are faced with an IT problem, we immediately start framing it in terms of the standard solutions already on our minds, losing an opportunity to go directly to a better solution.

During the design phases, first and foremost is the ability to listen to the customers. Sit with them, watch them work or work alongside if possible, listen to comments about what is tedious, what is a headache, and what they like.

The image of a developer politely observing the activities of a customer brings to light one of the simplest truths about this industry and the human beings involved. The developer is going to feel good if he or she can help the customer and the customer is going to enjoy the experience too. Listening will make us more connected.

There is a remarkable rate of failure in the software development industry. But with the amazing growth of the industry as a whole we do have the opportunity again and again to do it right.

 

« Discarded Software #3: A Design To Love

 | Main | 

Anthropologists In Software Design »