Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm sure you all have heard managers saying that "we need an analyzer", or "we need a designer". While I'm a .NET developer, I hardly can differentiate an analyzer from a designer (not web designer or UI designer).

Who is analyzer? Who is designer? Do they overlap?

share|improve this question
up vote 26 down vote accepted

Analysis: Define the problem. Answer this: "What do we need?"

Design: Define the solution. Answer this: "How will we build it?"

share|improve this answer
Therefore analysis is mostly used to meet functional requirements, design is used to meet non functional requirements. – refro Jul 26 '11 at 9:52
+1 @S.Lott. I love your minimalistic approach and simplicity. – Saeed Neamati Jul 26 '11 at 9:55
@S.Lott: You know you can stop writing Python when writing English, don't you? – Vinko Vrsalovic Jul 26 '11 at 10:01
@SF: Video games have two levels of analysis. The tools to build the game are sort of ordinary analysis to solve a problem ("what do we need to edit the levels?") The game levels, themselves, are crafted by story-tellers who are essentially analysts. The designers handle the implementation details for the tools or the levels. – S.Lott Jul 26 '11 at 10:04
@refro: No. Analysis: Figure out what the requirements are. Design: Figure out how to meet the requirements. Note the complete lack of "functional" or "non-functional" anywhere in either statement. This is intentional. – Jerry Coffin Jul 26 '11 at 16:15

Study the Software Development Life Cycle. This question was answered within the first two weeks of Software Engineering 101. Its a relevant question, and there is a definite but sometimes not so clear answer.

If you can imagine the analysts, designers, coders, project manager, other roles as a large Venn diagram, analysts and designers overlap considerably.

Analysts are usually the pioneers in a project. They take usually a set of basic requirements provided to them by project managers and stakeholders, to nail them down and go over things with a fine tooth comb to figure out what exactly the project is. More specifically what the non-functional requirements are.

Designers take this information gathering from the analysts to iron out a functional requirements, along with many others possibly (hopefully) including UML.

On a side note, analysts are usually paid more than programmers.

share|improve this answer

Your Answer


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.