This question already has an answer here:

I'm working at my first software internship, and it's great so far. One problem I'm having, however, is getting clear requirements from my co-worker (we'll call him Person A) who assigns projects. Normally, I get requirements from a co-worker/manager, design/code/test my changes, and eventually commit them for integration in our product. The problem is that, fairly often, it is virtually impossible to get clear requirements from Person A. I will ask questions to better understand what problem is being solved, and one of the following often happens:

  • Person A will interrupt mid-sentence to think out loud, derailing the current conversation. Sometimes this is for good reason. Example:

    Me: "So if there should be a table mapping Bazzes to Foos, what if there were-"

    Person A: "Actually, I wonder if we actually need to add a BizzleContainer in this here."

    [I wait a few minutes for A to think through their unrelated thought, and try to help solve it.]

This will repeat a few times, and by the time the conversation is done, I'm more confused than when we started and half an hour has gone by, so I don't want to waste the person's time any longer. Note that I wouldn't mind if the interruption was related to the current topic, but it seems that interrupting someone to take a conversation down a completely different path is poor form.

  • Person A often barely understands the requirements.

These factors add up to wasting a lot of development time based on simple misunderstandings of what needs to be done.

Co-workers B and C are capable of clearly expressing what needs to be done, but they are often overrun with demands for their time. So rather than annoy B and C to get requirements clarifications, co-workers often go to A, and get less than satisfactory results.

How do you wring clear, correct requirements from someone who understands them but does not have the inclination to take the time/effort to explain what they actually are?

marked as duplicate by Doc Brown, Bart van Ingen Schenau, GlenH7, Thomas Owens Aug 28 '14 at 14:55

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    Sounds like you may want to change your communication medium to email. Sometimes I am that rabbit-trailing person, but writing things down helps crystallize my thoughts and also makes it clear what I said in the past. Is this person also forgetful about what they agreed to? – J Trana Aug 28 '14 at 4:46
  • 1
    This is a good point I hadn't considered. By switching to email, you can make a bulletted list of questions, and it gives the person time to think about the questions rather than having to know right on the spot. Person A is sometimes forgetful, but it's not too big of a deal - the problem is moreso requirements inconsistency over time. I would upvote your comment but don't have enough rep to on programmers SE yet. – Daniel Neel Aug 28 '14 at 4:48
  • @DanielNeel: making a list of questions beforehand is a very good approach. You can use email beforehand, but actually you will probably need a face-to-face meeting to clarify the bullet points afterwards. So what you will need is some patience. And did you actually tell person A - respectfully - about your problems with his mode of communication? – Doc Brown Aug 28 '14 at 6:26
  • 2
    This question appears to be off-topic because it is about general work place issues, not specfic to programming. – Doc Brown Aug 28 '14 at 6:28
  • 1
    In its current form, I think that this is more of a requirements elicitation question, which is on-topic here. However, there's already a question that addresses unclear requirements. If there aren't any helpful answers there, this question could be refocused on the elicitation of requirements (from anyone - coworkers, customers, users). If it truly is a coworker relationship question, The Workplace may be a better fit, but it should be reformulated for that site to be less technical and more broadly applicable to coworkers who provide direction and tasks – Thomas Owens Aug 28 '14 at 14:57

Browse other questions tagged or ask your own question.