Sometimes, dealing with programmers is a hair-tearing irritation, and this is one of those times. At one point on this particular project, for example, I noticed that some highly necessary online forms weren't visible.
Response: "You didn't scroll far enough down the page."
My mental answer: "Excuse me? Are you really saying that after five years of using similar Web site content management systems, I haven't learned to scroll down a page to see all of it?"
The same missing forms were noted by three separate users in four browsers running on two different operating systems, which overcame the second excuse, that it was a problem only with my particular browser. I held my temper and calmly told the development team leader that it wasn't just me or Linux or Netscape, so why not take another look, huh, just to make me happy?
We went back and forth a few more times. Finally, grudgingly, the programmer responsible for that page and the functionality behind it looked again, and somehow, suddenly, he noticed that, yes indeed, those forms were missing, just like the dumb users had said all along.
In the example above, it took four days to convince the development team that a problem existed. Fixing the problem took half a day, and then we, the users, got snapped at by the programmers because we hadn't started testing the software a month earlier, when we were originally supposed to start looking it over. Excuse me? How could we have looked at it when the login page didn't work, which was the first bug we reported? Not that reporting it did any good at first; before that bug could be fixed, we had to go through several rounds of "You're not doing it right" accusations from the developers. We are people who work on the World Wide Web all day long. We don't know how to put a username and password into an online form? Oh, come on!
This is not the only software project I've seen in which the amount of time spent denying that any problems existed far exceeded the amount of time it took to fix them once the programmers admitted that the users -- just maybe -- knew what they were talking about. It is hard to stay calm and courteous toward software developers who seem to spend one third of their working time making excuses, one third of it working, and one third of it complaining about how they are being pushed too hard.
Suggestion to programmers: You can double your productivity by cutting out the excuses and user-blaming, and still have plenty of time to bitch about how hard you are being forced to work. Actually, if you doubled your productivity, you wouldn't be behind schedule and getting pushed at all, so you could cut your bitching time, too, and spend some of it on other, more productive activities -- like checking freshmeat at least five times every day.
I have a boss-level sysadmin friend who will not allow programmers or junior sysadmins who work for him to refer to "users" at all. He calls them "customers", and expects everyone in his department to do the same.
When you think about it, users really are customers, even if they work for the same company you do. If they weren't busily doing whatever it is they do (in between goofing off, of course), there would be no reason to have computers in the building -- or programmers or sysadmins, either.
Even in a Free Software project, the idea of treating users as customers has its good points. For one thing, with a little patience, today's low-level user can be turned into next year's skilled bug-spotter, documentation writer and editor, or multi-system compatibility tester who can help not only you but many other Free Software developers. And last I looked, most Free Software developers still need to eat, and usually have some sort of job (unless they're students, in which case they will have jobs sooner or later), and learning how to deal with users... I mean customers... nicely in a Free Software situation is excellent training for doing it in a work environment.
PHBs aren't born that way. Their hair gets that "horned" look only after years of hearing excuses and denials from programmers and engineers. Hair-tearing causes points and baldness. If you don't believe me, get into a management job that requires constant contact with software developers, and wait a while. One morning, you'll wake up, look in the mirror, remember this little story, and realize that I told The Truth.
Luckily, I don't deal with programmers very often, at least not as a user... I mean customer... or boss.
Perhaps that's why I'm closing in on 50 and still have a full head of non-pointy hair.