A user’s story (and a short one at that)

I’ve been working professionally in software development for the last 15 yeas or so and a lot of this time has been spent “negotiating” with users scope and functionality of various software products. Being a developer I will always try to get the software designed in such a way that it is actually technically feasible, simple and (hopefully) cheap to develop. More often than not I have to push back on features which I feel do not provide much of a business value but are technically complex: think price/performance sort of analysis. For these and and many other reasons negotiating scope with users is sometimes tricky as both sides need to establish who is responsible for what: sort of “you tell me your problems, I will propose solutions” type of agreement. Sometimes however you will come across a user who most developers hate: the one who gives you solutions instead of problems, and poor solutions at that. It takes time and patience to explain to them why some of those solutions or features are not most desirable, etc. Such negotiations may be sometimes very testing, to say the least…

Anyway my last conversation with “the user” was going along those very lines: she was pushing for features which I felt were of little business value and she seemed to be very keen on getting them. When I pulled cheap “used-car-salesman-type-of-negotiating-trick” out of my sleeve (I simply went silent) she said something which changed my point of view completely: “you see we are always promised this, that and the other and then it takes months to deliver and it is still sh##t when we get it. Or things get postponed and they never arrive. So I try to put down as many requirement as I can, hoping that one day I may at least get some of them…”.

I have to admit here that I felt genuinely sorry for her. She had to endure years of using crap software, developed by internal IT with no hope of getting anything remotely better. And for the  first time in those 15 yeas I realised that we as developers can really affect other peoples lives: if we deliver poorly, their work will become miserable chore and quite possibly this misery may affect their personal lives. How long could you put up with a development environment which crashes, hangs and corrupts files all the time?

So the next time you write a piece of code think about people who will be using it. If we do our job well, then who knows they may actually like us… :)

March 23 2010
blog comments powered by Disqus