Giving the Customer What They Wanted?
"Sometimes these different views can result in almost funny situations:
Back in the stone age of programming, we had a customer who wanted to have the result of a database query sorted by a specific field ('usable' databases at that time were either incredibly expensive or simply unavailable, so we had created our own proprietary database). He asked for this because the old software they were using could do this. However, we couldn't, and everyone was horrified by the thought of programming this 'ASAP' but we were ready to do it.
Eventually we talked to him and asked him what exactly he wanted this for. It turned out that he didn't even want a sorted list. He wanted look for a specific value in that field (something the old software couldn't do), and he got it by looking at the sorted query results. Our software, however, was capable of searching for field values already and return matching results only.
At this point both parts were happy: he got what he wanted and we didn't have to write a single line of code.
Of course, there will always be the geek with the 'use-it-my-way-or-f*ck-off'-attitude. For me however, talking to customers and trying to understand what they want (as opposed to what they tell you) was always a big part of what made developing software fun and satisfying.
So, how often did you find yourself in a similar situation?"
Right on the money. I'm involved in a project where I've spent amazing amounts of time implementing 'features', only to be told that they're not all that important, and to drop it!
with that said, ahem:
I DEAL WITH THE GODDAMN CUSTOMERS SO THE ENGINEERS DON'T HAVE TO!
I have good PEOPLE SKILLS, I AM GOOD at dealing with PEOPLE!
CAN'T you understand that! WHAT'S WRONG WITH YOU PEOPLE!
I had a manager, I'll call him Dr. B, who knew next to nothing about anything IT related. But Dr. B. was an ex-professor, had a doctorate in biology, and had a brother who was a programmer. Biggest blowhard and control freak I have ever met. Dr. B. simply could not help but insert himself into every aspect of every effort. He simply could not back off, even when given a direct order by the CEO not to get involved and not to introduce feature creep. The entire group (bioinformatics) was finally removed from under his supervision... and still he managed to bog us down. I finally left for a more reasonable work environment. I have been designing a much better system as therapy and will open source it as revenge! (twitter-flinch-shake)
First entomology, then virology, and finally bioinformatics systems. Bugs follow me wherever I go.
How to deliver a damn good kicking:
Step 1: Perform an on-site visit to the customer
Step 2: Drop a briefcase full of papers
Step 3: Kick 'em as they stoop to pick them up
Success! You have delivered exactly what the customer needs.
Of course, if they don't need a damn good kicking at the moment, save these instructions - you'll want to add it to the feature list at some point.
Every cloud has a silver lining (except for the mushroom shaped ones, which have a lining of Iridium & Strontium 90)
Giving the customer what they asked for instead of what they wanted? That's a paddling!
While working as a *NIX consultant for the now defunct Aperian a customer asked for a load test of a web server. The "technical sales" guy (Who BTW was reasonably technical, quite smart, and not a dick at all. Almost changed my opinion of "technical sales guys.") delivered the marching orders to me.
He said that they wanted a load test in the middle of the night so as to minimize the effect of having customers not be able to access the box. I don't remember all of the instuctions but I remember the phrase "crater it" and "crater the box" were used (by the sales guy).
So, at midnight the cron job dutifully kicked off the Siege. I wasn't being paid overtime for this, so I damn sure wasn't going to babysit it from midnight to three AM. I did get up (briefly) at three to make sure that the Siege had stopped as scheduled.
The next day the customer was livid. As it turns out this was an NT box. I hadn't been told this, and I didn't really think it was relevent to my thrughput numbers. The customer was PISSED because "we kept crashing his box" all night.
I don't know what the moral is. Maybe it is "get in the same room with the sales guy and the customer before doing anything . . . drastic." I don't know.
If any of the old Outernet/Aperian crew are reading this, mail me!
-Peter