In past few years climate and environment concerns have taken centre stage. Though climate debate has many connotations ranging from political to economical it is widely accepted that society has to introspect and change its course in how it produces and consumes. Industrial design will undergo a change. Not only products need to provide ” experience” to its users, which anyway is essence of good design, but there will be increased emphasis on how waste is eliminated. For long, designers have overlooked the waste that is produced in process of creating a product or by product. But not in future. So, to paint a happy picture, our houses will get designed akin to a tree which generates its own energy from sun and leaves no trace of waste. Waste has to be eliminated or reduced by design and it is fundamental element of what is being called as Green design. This falls in realm of industrial design, but what about software design! Shouldn’t aim of software design also be to create a compelling experience to its users and eliminate waste?
Charles Eames defines design as “a plan for arranging elements in such a way as best to accomplish a particular purpose”. In industrial design, product designers combine skills spanning disciplines of art, science and technology to create tangible goods with focus on aesthetics and usability of end product. In software design, and especially when it comes to design of enterprise software, emphasize is more on how internals of software will be built than how it will be used by end users to achieve their goals. Sample a typical software development process – a need is identified by a department or a group and requirements are captured by business analysts. These requirements are then passed to development team to begin development tasks. The programmers build the application in accordance with style guide that usually dictate elements such as font size, colors, and includes other user interface specifications. In many cases, the application is built with a skeletal interface which is then skinned by a designer to give it required visual appeal as per organization standards . Application is then tested and rolled out to end users. Results could vary from a system which doesn’t meet the real goals of users to frustration emanating from poor usability. This sounds like a sweeping statement in absence of data to back it up but one can safely rely on general perception that enterprise software has. Poor usability causes users to waste time performing routine tasks and lead to a lot of frustration and poor productivity. A definite waste. An aspects which is fundamental to industrial design is visualization. Almost every physical good which is produced is visualized through models before it is actually built. Cars, planes, cell phones all these are visualized during design stage. So a product can actually be “seen” before it is built. In software design, though there has always been practice of prototyping user interface , it is mostly relegated to low fidelity wireframes focusing on information architecture. Except for software built in agile fashion, generally it is too late in day when system becomes “visible” to know what features are really useful and required and what are not. And changes become costlier leading to waste of human effort and money. A definite waste. It is easy to argue that Software design has to encompass broader meaning of designing as a product from user’s point of view and also employ prototyping techniques to visualize before building.
We are in age of design and we see it all around us. These are times of iPods,Web2.0, DIY applications which have hooked users through compelling user experience and have transformed society in their own way. In life that is becoming increasingly busy, where attention spans are decreasing, user behavior is complex, and a marketplace which is dynamic and fickle, organizations that understand essence of design and adopt a user centered approach for software design will do better than those which don’t.