Lazycoder

18Aug/062

The State of Software Development today

Users vs. Developers ~ Chris Pirillo: “”

I haven’t posted much lately because I’ve been a little depressed about the current state of software. I attended a workshop for a particular piece of software that solves a BIG problem in the clinical research area. What I saw could in no way be considered a 1.0 product. The product actually DISPLAYED the primary key integer when it created a new row and EXPECTED YOU TO REMEMBER THIS WHEN YOU NEEDED TO REFER TO IT ON LATER DATA ENTRY SCREENS. That was so wack-ass I had to capitalize the almost the entire sentence. That wasn’t the depressing part, the depressing part was that when I suggested that maybe the select boxes should display the human readable names of the particular entry rather than just a 100+ item list of integers THE DEVELOPERS PUSHED BACK SAYING IT WASN’T NECESSARY. “Why would the user try to enter that directly? They can just search for the protocol and then enter the specimen data after they’ve searched for it.”. The main problem with that scenario, which I politely pointed out to them, was that if a user was entering 25 different specimens for the same protocol they would have to perform the same search 25 times OR write down the integer and put it on a sticky note to their monitor. They just didn’t get it. There were a few other problems, and by few I mean enough to choke a horse. Anytime you entered a new user you were redirected back to the main admin page. Which meant three more clicks to get back and enter another user.

Then I see Chris Pirillo’s post about “standing up for user rights” and I get a little more dismayed. Chris feels that he, as a power users, isn’t being listened to by Microsoft. His story isn’t unique. You can hear it if you wander the halls of any large corporation and ask the users about the internally developed software they have to use every day. Heck, I bet if you asked some Microsoft PMs and execs they would probably tell you the same thing. There are a TON of new and old developers that just don’t understand how to design software for users.

What can we, developers who actually care about the user experience, do? Try to step outside of yourself when you try out your new sparkly interface. Does it get in your way or out of your way? Watch how real humans actually USE your interface. Formalized user interface testing isn’t always necessary, you can get a pretty good idea of where the pain points are just by watching someone. Listen to what the users say they want to do and look at what they ACTUALLY do during their normal workflow. Sometimes they are two different things.

Filed under: General Leave a comment
  • http://dakboy.blogspot.com/ dakboy

    Several years ago I was working on an online account access system for an insurance company. We had near-constant complaints from our customers about the appearance of the site, performance, user interface, the whole thing.

    I begged the project managers and the policy servicing unit to bring in a half-dozen customers who were local to our offices so we could talk to them, find out what worked, what didn’t, how we could improve, etc. We were shot down. The policy servicving unit (all non-technical people, none with any training in anything remotely connected to application/system design – they knew the business rules and that’s it) shot it down, telling us in no uncertain terms that they knew better than end-users what end-users wanted.

    Later, at that same company, I worked on a workflow system for another business unit. Again, I asked the people running the show if I could shadow the future users of my system for a day or two to learn how they do their jobs, so I could build the best possible setup for them. And I was again shot down, as the 2-4 people picked to represent them believed that they knew exactly what the users needed. And once again, when we put real users in front of system prototypes, they asked us why everything was the way it was – the layout didn’t make sense when compared to how they did their processes.

  • http://www.davenicolette.net/agile Dave Nicolette

    These problems are all too common. IMO it’s one of the root causes for alternative approaches to software development that put the development team in direct contact with the customers or end users, such as “lean” and “agile”. There’s nothing to prevent putting developers in direct contect with users anyway, even with traditional methods, except political resistance. It’s a sad state of affairs.