The other day we stumbled across former Autodesker, now Microsoft Research Principal Scientist, Bill Buxton's post:
Senior Strategic Designer, Doug Look, sent the link to us. I forwarded Doug's message on to our Product Designer for Project Showroom, Mark Andersen. Doug's message was a catalyst that initiated a design discussion among us. Software Architect, Ben Cochran, was keen to note:
I agree with much of what Bill is saying. We do a good job at practicing much of this. A good example is how we work with Mark on the Showroom project. We separate presentation from logic. This enables Mark to play with or work with the presentation written in CSS. When Mark does this, he gains a deeper understanding of the implementation side. It is important that designers should work with product, system and web APIs and have a basic understanding of how the technology solves a particular problem. A designer that works in isolation from the technology or platform (software, print, packaging, signage, etc.) produces poor quality designs that are difficult to implement, are poorly communicated, and don’t addresses the user problem. This is like an artist trying to work with a medium without taking the time to learn it. The inverse is also true, the designer that works with the team and understands the platform produces high quality, highly effective designs.
The other direction is also true in that developers need to understand the rational of a design and why the design addresses a user's problem. Instead of relying on a traditional spec, it is better when the designer shares a story that helps developers understand what the problem is and how the design addresses it. After that developers are happy to address the mechanics. This helps the development team understand why they are building something and facilities the relationship between implementation and design. Having the designer present the story helps filter out design problems, much the same way code reviews and testing help weed out poor implementation.
In my last few blog postings on Project Showroom releases, I have mentioned how we have been separating function from form. We do practice what Bill preaches. Bill's point was that developers need to work with user experience designers. Ben's point is that user experience designers need to work with developers. It's a team effort.
Sharing some insight on how we develop software is alive in the lab.