May 20, 2009

UX-Designers-Developers - Good? Bad? ... Existent?

While doing some browsing, I came across two blog articles concerned with the question of whether UX designers who are also able to code are beneficial or detrimental to UX design.
Lukas Mathis mentions that, for a UX-designer-developer, a kind of self-censoring can occur, where optimal user experience is not attained because the developer restricts the realm of design options based on technical considerations when it would be better to leave more room for design creativity and think of technical implementation afterwards. Mike Rundle, on the other hand, explains why he thinks that it is helpful for a UX designer to have development skills. The thoughts on the issue are interesting and the articles by Lukas Mathis and Mike Rundle on the topic are worth reading.
Another interesting question that comes to mind in that context is: to what extent is it possible to be a UX-designer-developer? The answer to that heavily depends on your notion of “user experience”. 

Being a UX Designer-Developer: Extended Range of Competences
I agree with the notion that that UX designers and developers are not necessarily two disjunctive groups. Developers are often responsible for system characteristics that significantly affect user experience. A nice looking interface with solid interaction design does not achieve much regarding user experience if the implementation is crappy and slow. So, developers can also create for user experience, even if they don’t do wireframes or work with Photoshop and the like. From that point of view, a UX designer having knowledge about implementation aspects would seem as beneficial, since his knowledge of “user experience factors” extends beyond the “mere surface” of visual design, interaction design and the like.
Being a UX Designer-Developer: Limited Range of Platforms and Projects
But I also think that user experience design is such a wide field, that, in most cases, the idea of one person having all the skills for creating an outstanding user experience is unrealistic. It seems that, quite often, when people talk about UX, they mostly think of a web-context, but of course, UX design is not limited to that area, but includes all kinds of systems/products.
For the web context, it is true that one can often find very small to “one man / one woman companies” that provide UX design and all required services, including coding, for their clients. But if one looks at an area like user interface design for a complex ERP suite, it is unlikely that you can find one single person who can “do it all”, including user research, interaction design, visual design and coding. This can be a problem of expertise, but it is also an issue of sheer workload that makes it impossible to be a “UX design team of one” in those contexts.
So, if, in order to be a really good UX designer, it was required to have knowledge about coding (or: implementation), this would mean that the UX designer was limited to a certain set of technical environments, namely those he has good working knowledge of or at least to those that are somehow similar/analogous to the environments he is skilled in. In addition, he would also be be limited to projects that do not exceed a certain size.
UX Design as a Field
Looking at the field of UX design, it becomes clear that “UX designer” is by no means a clear-cut job description. It involves all kinds of activities performed by people with diverse educational backgrounds. People proficient in web technologies and visual design are one breed of UX designers. People with a background in, e.g., cognitive psychology who are skilled in doing user research and transforming the results into sound interaction designs are another. UX design is about bringing people with strengths in the required areas together to create the optimal user experience.
Cooperation of UX Designers and Developers
This means, that cooperation is a key factor in designing for user experience. This includes, e.g., developers cooperating with other members of the UX design team. As a consequence, one important question in UX design is which factors influence that cooperation.
The blog post by Lukas Mathis mentions circumstances that may impair the cooperation between developers and other parties during the process of UX design: he quotes Joel Spolsky stating that “programmers tend to respect programmers a lot more than non-programmers, no matter how smart they are”. So this would be where a UX designer having coding skills would be beneficial for UX design: not necessarily because he would have to make active use of those skills, but because they help him in gaining respect in the team. But if it is not the direct impact of development skills and rather a matter of respect, the same goal can be achieved by a change in attitude – if one assumes that the statement about developers is true in the first place, which, from my experience, is not necessarily so: there are developers who know what their core expertise is and who respect and value the skills of a seasoned UX designer – as much as a user experience designer should value the skills of a developer.
One important insight that can contribute to achieving a respectful cooperation is that development as well as UX design involve specific sets of expertise that go beyond merely applying a set of guidelines and heuristics. This seems trivial for development: it is rarely thought that a UX designer can become good-enough in development by receiving some “quick tips” from a developer. UX design, on the other hand, sometimes seems to considered as a “cookbook approach” that does not require much knowledge or experience. Bill Buxton mentions this point in his open letter in BusinessWeek.

Overcoming misconceptions like these is one of the first steps in enabling members of a team to to appreciate the individual skills each of them brings to the table. This, in turn, helps them in respecting the others judgment and, based on that, in leveraging their own individual skills in the best possible way. Ultimately, the kind of cooperation that can arise from this approach is one of the things that makes UX design a wonderful profession.


Mike Rundle said...

Nice article, totally agree about UX being too large of a field. What I like about it is that because it's so large there's always more to learn, more to study, more people to talk to about how they interact with technology.

Markus said...

Exactly. UX is a field where you don’t have to be afraid to reach a dead end (and „know it all“) after a few years. As long as technologies and our knowledge about humans (and their interactions with each other as well as with technology) evolve, there will always be something interesting to learn and insights to share with others in the field.