Avoiding a Conflict of Interest
In the last year, Macadamian has had the opportunity to work with a wide array of companies on UX design and software development projects. A question that I get asked over and over is, “Why do we need a designer? Can’t a good developer design the application, too?” Believe it or not, I sometimes respond yes. However, I emphasize that if they dare choose this route, they have to understand and accept that their application won’t be designed “well.”
Clients that ask this question are also typically not expecting to provide the developer with more time to complete the design work. There is some kind of implicit expectation that design and development will somehow magically work out if a “good” developer is on the project. The fact remains that if you want an application designed well, you need to allow time for that design effort.
I always emphasize the value of using a specialist. Developers specialize in the how: How to get a few bits of information from a server residing somewhere in the cloud, to show up as relevant, related pieces of information on your screen, mobile device, or your dog’s collar… It doesn’t really matter where, but these bits of information are going to come from somewhere, and then go somewhere else.
Designing involves answering a whole different set of questions: who, what, where, when, and why. Who is using the application? What information do they need? Where should it be so users can comprehend it easily? When is it relevant to the user? And, then the reasons – the whys – all of those decisions were made. A “how” person can ask those same questions, but using an expert will provide much more insight into these questions and ultimately result in a better product.
Assuming you are giving your developer sufficient time to properly complete the design, it’s still not a good idea. Why? They have a stake in this next question: Who should have to deal with the complexity in the application – the user or the developer?
The Law of Conservation of Complexity states that every application has an inherent amount of complexity that cannot be removed or hidden. Instead, it must be dealt with either in product development or in user interaction. In a user-centered design process, the design should focus on making life easier for the user. However, if the designer is also the developer, they can easily (and subtly) shift complexity onto the user in an effort to make their own development life easier. Good developers don’t set out with this intention, but as time frames and budgets get squeezed, temping them with design choices that make their development life easier is a recipe for a poor user experience. After all, who doesn’t want to make their life a little easier?
So, on the surface it may look like a good idea to try to trim costs and time from your software creation process by delegating the design work to good developers. However, the reality is that leaving the design work to the experts results in more impactful software that actually meets the needs of the user – without destroying your timelines.