When I picture a really well functioning software team in my mind, one of the vi
ID: 650573 • Letter: W
Question
When I picture a really well functioning software team in my mind, one of the visions I have is of a developer showing off to a small group of devs some cool, clever UI that they just came up with based on something that they were just playing with.
I'm afraid that while we're doing great at being creative writing expressive, well architected, high quality code - we aren't pushing any creative boundaries when it comes to effective user interface.
What's an effective strategy for encouraging developers to push their boundaries with user interface?
Edit:
I'm looking for something "lab oriented", like for instance pair programming sessions focused on some problem or other.
Explanation / Answer
I don't think there are any definite answers, but here are some things that I've seen work:
Programmers usually aren't user interface designers. If you feel that your UI needs improvement, you'd do well to work with someone who was actually trained in design. It's easy to appreciate good design, but not always so easy to create it.
Use data to identify problems and to quantify them. That might mean doing some usability studies first, observing real users to find out what works well for them and what doesn't. Or it might mean sorting all the UI-related complaints you've received from users over the last n months into categories and using that data to determine what users like and don't like. That should give you some real, specific problems to work on. Set some goal, like: "minimize the number of clicks required to set up a new document" or "make the effect of the undo and redo commands more obvious." Once you've made improvements, keep collecting data to make sure that your changes really do solve the problem.
Hold some no-holds-barred brainstorming sessions in which developers (and others) are encouraged to rethink a product. You're not designing the next version of your product here; it's probably not the right way to develop a clear design. Instead, you want people to practice thinking outside their current box, and to gather creative ideas from people who spend a lot of time thinking about every detail of your product.
Taste your dog food. Sometimes, developers who work on a product don't have a lot of time to really dig in and use the product beyond testing the specific functions that they're working on. Set aside some time for the whole development team to use the product, if possible. Turning the developers into users for a while can help identify a lot of problems.
Training. Send some (or all) of your developers to classes or seminars to learn about UI design, data presentation, etc. For example, Edward Tufte does a one-day seminar that's very interesting.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.