Gathering requirements is hard. Okay, well, maybe its not so much that it is hard, as much as it is tedious and time consuming. Once you get good at it, requirements gathering is not that hard, I guess. Unfortunately, gathering requirements (well) is not something that they teach you in school. You have to learn it the hard way.
When I first started my career, I had no idea where to start. So I used the ole “hunker-down and power-through” technique. I sat down with someone for several days and tried to “learn everything there is to know” so I could produce some great stuff. Naturally, that failed because it isn’t possible to learn such things in any reasonable period of time. Also, users got a little cranky when I would consume 20 hours (straight through) of their time. In fact, I didn’t actually complete my first 20 hour learn-a-thon. The user kicked me out after 3 hours and then banned me after 3 further attempts to complete my marathon.
Eventually, I figured out that smaller-but-more-frequent contact was more effective. So, I switched to that mode. For me, it worked great. I would ask a quick question, there would be ten minutes of discussion/explanation, I would go back to my desk and jam-out. After an hour or two, I would show my work to the user, to make sure I was headed down the right path. If I was all-wrong, no biggie because I had only lost two hours instead of a week. This technique, of doing frequent updates, seemed to take less time from the user and reduced my risk, greatly.
The down-side to this approach was that it was driven from my impromptu schedule. It wound up being much more disruptive for the user than I expected. Every time he started to do some of his own work, it seemed like I appeared in his office and broke his concentration. Even though I wasn’t spending a whole day in his office, it still seemed like he couldn’t get anything done because my interruptions were poorly timed and were too frequent. There had to be a better way of going about this.
So, I asked some of the wise and experienced people in my office, if they had ever experienced similar problems and could offer advice. I was amazed to find that this is actually a common problem EVERYWHERE. Seriously!
So, lets say that you are “Mr. large and in charge”, then you usually have everything you need and don’t go looking for answers. You have either gathered the information from years of experience (at your company), or you make the rules anyway and you are always right.
However, if your work is dependent on another person or if you need to get up-to-speed on a new topic, then you will struggle with finding the balance between [frequently interrupting others] or [sitting on your hands as you wait for information/instructions to come to you]. If the information simply comes to you, will it even be the information that you needed or is it just half-baked? You really need to gather this information yourself, via some kind of interaction.
How it works
One of my mentors introduced me to a little concept called “the coupon system”. The concept is this: Each day, you get one or two coupons, redeemable for 1/2 hour of conversation about anything. Each coupon expires after two days. So, each day you can ask a question in the morning and one in the afternoon.
Now, as an example of how the system works, lets say Monday morning, you use your morning coupon. Done. Four more hours till you can use your next coupon. However, when you get back to your desk, you remember that there was something that you ABSOLUTELY need to know (but forgot to ask). You can’t wait till the afternoon! You need it now! In that case, you may come back for a second question in the morning, but you must surrender your afternoon coupon. Now you have no more coupons till tomorrow. So, make it count!
The coupon system does not operate the same way that your allowance did (when you were a teen) where you can borrow from your next 6 months of allowance. No sir. Borrowing more than one day ahead is strictly forbidden.
Also, a scheduled meeting does not count as a coupon use, but only if the other person has agreed-to/accepted the meeting invitation and it is in a neutral location (conference room, etc.). Otherwise, you must use a coupon.
You can see how “the coupon system” would change the dynamic. If I only get one question every four hours, that is a tight constraint. So I am going to save up all of my questions and really make them count. I have 1/2 hour, so I want to make the most of that time. No praddling or rambling-on about unnecessary stuff.
After a week, on the coupon program, I began to seriously think ahead and I planned-out each coupon use. I had an agenda for each. Likewise, the user could not complain because I was using my coupon and I stayed within the rules of the coupon system. I got my stuff done, but I didn’t ruin the entire morning or afternoon. Ever!
After a while, I got much better at organizing my thoughts to where I only needed one coupon per day or even one per week, because I would send an email (no coupon required) and the user could respond at his leisure. I would make sure that I had plenty of work to keep me busy as I waited for answers and planned my questions so the answers would arrive in plenty of time, so I could stay busy. It was a lot of work staying organized and determining questions early-on in my processes instead of working impromptu all of the time.
In the end it really improved my organizational skills and my communication skills. I learned a lot and grew a lot, as a result of it.
I’m sure you know somebody who needs to go on the coupon system. Give it a try. It could be the best thing you ever did for that person (even if that person is you).