[IxDA Discuss] Alan Cooper on Software Design: Code=Design?

Christopher Fahey chris.fahey at behaviordesign.com
Mon Oct 29 14:32:23 PDT 2007


Alan Cooper has an interesting new article up (part 1 of what will be  
2 parts) about how *design*, both the software and interaction  
varieties, is currently (mal)practiced by engineers.

Link :http://www.cooper.com/insights/journal_of_design/articles/ 
design_engineering_the_next_st.html
Or: http://tinyurl.com/2deo7l

In the article, he says the following:

-------- excerpt --------
Software is the only medium where the construction materials are  
entirely the same as the design materials: source code. When a design  
engineer works out a complex problem for how a program will work, she  
uses source code. When a production engineer later uses that code as  
a design document and produces his own, release-quality, shippable  
software, he uses source code. In no other medium is this true and it  
is this watershed more than any other that defines the post- 
industrial era.

Virtually every industrial age product is first designed on paper or  
in some other cheap, disposable, high bandwidth, easy-to-iterate  
medium. In fact, it is these characteristics of the tools that allow  
design to exist at all.
...

Yes, software can be a cheap, disposable, high bandwidth, easy-to- 
iterate medium. Advocates of Agile methods would have you believe  
that all software is so. If only it were true. ...
------ end excerpt ------

Is this true? I've never heard of software design being done using  
code. Yes, I've heard of coding being done very early in a build  
process, in the form of proof-of-concept work or prototyping. And  
often this code is used all the way to the final product, often  
serving as a foundation for the overall architecture. I've also heard  
of engineers beginning coding with extremely poor design  
documentation, sometimes with no design at all but requirements

But to call that kind of code "design"? When a software engineer  
starts coding without a design plan, which happens sometimes, you can  
barely call what they are doing design. But he makes it sound like  
this is standard practice. I've never heard that before, except maybe  
very recently in the context of Agile.

On the other hand, I am aware of tons of ways of designing software  
that doesn't involve code at all, even if we don't count critical  
user experience design artifacts like wireframes and UI specs.  
Software engineers use UML, DB schemas, architecture diagrams, even  
old fashioned flowcharts all the time. Even the most disorganized IT  
departments I've worked with have lots of non-code design artifacts.  
Companies that outsource need to provide thorough design  
documentation before engaging a team a continent awat. Hell, even  
Agile folks use these design tools sometimes. All of these are  
*exactly* the "cheap, disposable, high-bandwidth, easy-to-iterate"  
media that Cooper contends that software designers aren't using.

Any thoughts on this? Do such organizations exist, where coding is  
done without any non-coded design? Is Cooper trying to talk about  
companies that are so profoundly dysfunctional that they don't show  
up on my radar? Do such companies exist?

I see where he is going with the essays -- that interaction design  
needs to be part of the design process, something I applaud -- but  
that doesn't help the fact that he seems to be saying that something  
I see every day doesn't exist.

-Cf

Christopher Fahey
____________________________
Behavior
http://www.behaviordesign.com
212.532.4002 x203
646.338.4002 mobile




More information about the Discuss mailing list