Subscribe to my feed

Software Design Manifesto

April 2nd, 2009

I was reading some articles about software engineering when I found a Software Design Manifesto by Mitchell Kapor (also known as Mitch). He study different careers, he was the creator of Lotus 1-2-3, chair of Mozilla Foundation and founder of Open Source Application Foundation, between others.

In 1990, Kapor deliver a software design manifesto where he has eloquently made the case that we need to think of software design as a profession, rather than as a side task of a manager or a programmer.

The most important social evolution within the computing professions would be to create a role for the software designer as a champion of the user experience…. What is design? … It’s where you stand with a foot in two worlds—the world of technology and the world of people and human purposes—and you try to bring the two together.

Some important is that software design is not UI design. And neither software engineering nor computer science are software design.

Design disciplines are concerned with making artifacts for human use … One of the main reasons most computer software is so abysmal is that it’s not designed at all, but merely engineered

He consider that software designers are the architects of software which has the responsibility of integrate design and software development; architects and engineers are involved in building the application, and programmers are who develop the application. A perspective and skills that are critical to good design are typically absent from the development process, or, if present, exist only in an underground fashion.

A software design manifesto.

Mitch Kapor first presented his Software Design Manifesto at PC Forum in 1990. It got published in Dr. Dobbs’ Journal in 1991, and later appeared as the first chapter of Terry Winograd’s book Bringing Design to Software.

A good software design must have:

  • Firmness: A program should not have any bugs that inhibit its function.
  • Commodity: A program should be suitable for the purposes for which it was intended.
  • Delight: The experience of using the program should be pleasurable one.

 

Mitch Kapor wrote this manifesto some time ago. Do you think this is still accurate? Why?