I was wondering recently why the phrase “Nice to have” is synonymous in IT with “Something we won’t do”.
Often I’ve given a client a new piece of (typically UI) functionality only to be told about its deficiencies. This is a common feature of human nature, we all suffer from the uncanny valley effect; as something approaches what we want it’s imperfections become more irritating. Scott Berkun sums it up well in Why Software Sucks.
However there is another human in the loop. The developer. And having slaved to create something functional on time and on budget; being told your software sucks can be equally irritating. So when you get back to your desk you mark your user’s feedback as nice-to-have and try and calm down. But there are things you can do that will make you and the user more happy.
First, be more self critical. If you build a piece of UI, even something simple, make sure it works as you would want it to work if you were the user. And don’t compromise!
Secondly, and this is the big one, look for easy wins. Look for improvements in your users work flow, reduce 4 clicks to 1, watch for where a user expects something, add hot keys, ask why the user prints a report out to work on it, etc… Not everything will be an easy win, but you’ll find some gems for sure.
Obviously implementing more of what your user wants will make them happier and they’ll (hopefully) give you more ley-way when you say no to other requests. But the good news is that WPF and .net 3.5 helps make the “Easy Stuff” circle all the bigger.
So get XAMLing and next time you feel like marking something as nice-to-have see if it’s an easy win, and if it is, just do it!