Friday, January 11, 2008

Requirements Gathering and Communication

I was taking a little afternoon walk today and a funny train of thought ensued. As I was walking, it started to rain. As an Oregonian, my first thought was. Oh. Rain... Great. Hood up. It's such a part of life here this time of year. But, it suddenly struck me how odd it was that little drops of water were falling from the sky. Imagine if you lived in a world where it never rained. I don't mean a world where it used to rain and now it doesn't. I mean a world where there never was rain and you didn't even have a word for it in your vocabulary. (The rest of this little mind trip only makes sense if you pause and really grasp that concept.) How would you feel if one day it rained? It would be an entirely new experience. You'd run inside and say, "Hey everyone, there are little pieces of ocean falling from the sky!" or something crazy like that. In our world this would be something like hamburgers falling from the sky. (For those intrigued by that, here is some assigned reading)

It struck me that this is somewhat like our daily lives as IT professionals and consultants. We are always confronting people with ideas they hadn't thought of before. I was comparing this idea to requirements gathering meetings that I frequently lead and often wish I could do better. What if a business person from my crazy world came to you and said, "Hey, we need your help.
The ground is entirely too dry here." What good would it do to sit down with this business person and say, "Right, what you need is a little rain. Would you like an estimate to implement that?" The business person would be thinking, "What is wrayne and how will that make the ground stop being dry?" So many times there is this gap between technology people and business people that makes it hard to communicate. We truly do come from different worlds with different environments and vocabularies. As technology people, we need to be able to fully understand rain's capabilities but also be able to avoid unreasonable lingo and explain to the customer that we have a solution that will actually cause small droplets of water to fall from the sky which will evenly moisten the ground.

I understand this topic is older than dirt but I find that I need to remind myself of it on an approximately annual basis. It's so easy to get wrapped up with my little development environment and all my dev servers and forget how to communicate. I tend not to be detailed enough in my communication and fear that I'm boring people with details. My new year's resolution is to push myself to be a better bridge between business and technology but also stay hands-on in the design and coding I love so much.

0 comments: