Being creative is fun but mighty frustrating in the world of web development |
“That is cool,” he said, “but it would be even cooler if it
did this!”
That line has spawned millions of dollars in consulting fees
and countless hours of frustration for developers. It is the source of all feature creep in any
project plan. I felt a ball of bile
welling up in my throat after hearing the client utter that phrase. I took a deep breath and the madness subsided
but it made me wonder if anything a software developer does is ever good
enough.
I do not think it is a secret that developers are a quirky
lot. We are highly intelligent, have an
in demand skill and often behave like professional baseball players jumping
from team to team for better money and perks.
I also speak from experience that we often see ourselves like
artists. This explains why as a group we
can get defensive about what we do.
Spending hours of effort to get something to work just right is
emotionally exhausting. When that effort is greeted with a shrug and the contempt
of someone else it can drive a person crazy.
The feedback we often get from a business user is often
inane and unhelpful. You only have to watch a scene from the movie Amadeus to see a classic example of this criticism at work when the King of Austria tells Motzart his opera “…has too many notes in it.”It has taken me over twenty years to learn how to deal with all kinds of customer feedback. These lessons have been painful experiences found during bouts of unemployment and stress. It amazes me that I did not discover them sooner.
Business user approach software the same way many of us listen to popular music. We don’t understand the technical details of how to play music but we know what we like. So it doesn’t matter to most people that a song is being played in the 2/4 time or that it is in the key of G. We just know that Credence Clearwater Revival's “Bad Moon of the Rise” is catchy. So when we dislike a song we ofter have an emotional reaction to it rather than a rational one. We can criticize it saying it lacks harmony and the minor key is off putting; instead we just say we don’t like it. Often we sound like dancers on the old American Bandstand television program claiming “That song has a good beat and you can dance to it.”
Replace popular music with software and it is the same
experience. People interact with
software much like they do with music. I
suppose that is why there are so many Linux and Apple fan boys. This is why I do not get aggravated as I used
to when someone suggests improvements to my software. They know what they like and they are just
having trouble describing it to me.
I start asking questions of the customer and try to find out
what they are looking for. Eventually
you will get a meaningful answer to your questions and know what to
change. I also know how serious about
these improvements they are when I ask if they are willing to pay extra money for that
service. If the answer is "yes" then I
know they are pretty serious.
I have just come to accept that most software work is not
good enough and that the users will always ask for something faster, better and
cooler. That is a good thing because
this quest means that we are making better products which will create a
virtuous cycle of innovation.
I just wonder why it took me twenty years to figure this bit
of wisdom out.
Until next time.