Friday, October 12, 2007

What do we mean by software design?

Toward an understanding of software design ...

"Some claim that everyone designs, and depending on exactly how you define design, that may be true. Not surprisingly though, many professional designers react uncomfortably to this. It helps me to distinguish between being creative and designing. Creativity is a free-form process that anyone can participate in. We are all creative in some way or another. But professional design is a discipline where experience, talent, techniques, tools, and skills are applied to synthesize and articulate fuzzy creative ideas into something usable.

There are many facets to that “something usable” though: the interior, the exterior, how it looks, how it performs its function, and so on. With regard to software there is database design, object-oriented design, web service design, interface design, navigation design, and visual design, just to name a few.

Why differentiate? Why distinguish between database design and visual design? It’s all design right? Because the talents, techniques, and tools required vary drastically among them. And we have people who refer to themselves as “designers” mixing with software engineers or programmers resulting in confusion about who is responsible for and designing what.

To help this issue, we can group the various design disciplines without over generalizing too much. “Front-end” and “back-end” are common terms used to separate the interface from underlying code – the code that makes everything work. It’s not bad I suppose and it has the advantage of already being used and understood (to some degree). But more appropriate terms would be “interactive design” and “functional design”.

Interactive design encompasses visual design, interaction design, user research, information architecture, information design (not database – the user representation and visualization), and usability. Interactive design is about the user experience, what the user sees and interacts with: form and behavior. Alternatively, functional design is about the underlying architecture and foundation to support and deliver the user experience."    (Continued via DEXO Design)    [Usability Resources]


Post a Comment

<< Home

<< Home