Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My question aim to draw a fine line between Requirements Elicitation and Requirements Analysis. What is the difference between these two?

share|improve this question
add comment

2 Answers

up vote 7 down vote accepted

Based on my understanding of the English language and trying to be logical about what should be the difference:

Requirements Elicitation = Requirements Gathering. This is asking what are the requirements, what if this, what if that, etc. This is about asking the questions and getting responses. How well are the answers is another matter entirely. This requires the stakeholders to answer their part of what is to be done and why.

Requirements Analysis. This is more the organizing of answers to the first part. Which solution is optimal? What are the trade-offs of various possible implementations. In this part there may be the odd question but it isn't the main point as this is about seeing which solution may be better under various constraints,e.g. which is the fastest or cheapest. This is more about how is something to be done and why does that way make more sense than another.

Another way to think of this is that the Elicitation has to come before the Analysis as otherwise you are analyzing nothing, which may not be that useful or productive.

share|improve this answer
add comment

Requirements Elicitation is about finding out what customers (and potential customers) say they think they want. It produces a wishlist (well, you might be polite and call it something else, but that's what it is).

Requirements Analysis is about distilling the wishlist to produce a list of actual requirements together with dependencies between them. It also involves saying that some things on the wishlist are out of scope for one reason or another (e.g., you're proposing to do a project on some client software and the customers asked for you to do something that clearly requires major server changes).

Once you've done the requirements analysis, you're in a position to come up with a plan taking into account the resources and time available. You're also passing a project milestone; if you've not got coherent requirements, it's time to abandon the project as impossible to plan.


For reference, I like to keep the output of the Elicitation in a wiki and the outcome of Analysis as feature requests in a bug tracker with cross-references. I'm sure there are other ways to do it.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.