John K Muller, PhD
Mistakes
made
I learned from
"Creativity is allowing yourself to make mistakes. Design is knowing which ones to keep."
— Scott Adams
Lipstick on a pig
Pretty designs are useless if they don't solve the problem
I like pigs, just not in software design. Too many times I have jumped directly into high-fidelity design and quickly got bogged down in the details--typefaces, color palettes, micro-interactions, auto-layouts, etc. Over time I have learned that working in high-fidelity before understanding the problem space can be a waste of time, and can easily lead to losing sight of customer pain points and project goals. Low-fidelity mockups make it easy to diverge on multiple solutions, quickly iterate based on input from users, product managers and developers. Low-fidelity allows the entire team to focus on structure and flow, and create solutions that have both usability and utility.
Consulting on "interim" designs
They are only interim if you go back and fix them
I've learned the hard way that there is a fine balance between consulting too much or too little.
UX consultation projects are for quick feedback on existing features that are often already coded, when there "is not time" to conduct "proper" research and design iterations.
The end result is a product with too many band-aids, which do not solve the users' pain points.
On the other hand, some amount of consulting is important in building trust and meaningful relationships with product and engineering teams. This is as important as talking directly with end-users.
Collaboration pitfalls
"Design is too important to leave it to the designers" - Rob Hough
Early in my career I was constantly surprised when the final shipped product did not match the design vision. I have since learned that 90% of the time poor design comes down to poor communication. The most common communication pitfalls that I have been part of include:
Feasibility not considered early enough - I have learned how important it is to have the UI architect think deeply about the feasibility of early proposed designs, while there is still time for design exploration and validation.
Last minute requirements from product management - The best way to avoid this communication pitfall is to work with product management to discover user needs and buying factors. In addition, using low-fidelity wireframes as communication devices ensures that everyone is "on the same page" before coding starts.
Large number of UI defects - I have found that one way to reduce the number of UI defects uncovered at the end of the development cycle is to be in constant communication with the development teams, reviewing early demos and participating in sprint reviews. It is better to catch UI defects early. Otherwise, QA functional defects end up taking priority over UI defects when there is not enough time built into the schedule to fix them. Products that are not polished and have awkward workflows reflect poorly on a company's brand, and can have a huge impact on client perceptions of quality and trustworthiness.
​