What’s the difference between analysis and design?

Over the years I have been asked to participate in interviews where the candidate claimed to have analysis experience.

Sometimes the candidates were being interviewed for analysis roles, but often they were programming roles, but the candidate claimed to have significant analysis skills. My job was to test the validity of their claims.

My experience in interviewing almost a hundred programmers is that the vast majority who think they are analyst/programmers know so little about analysis that they could not answer the following simple question:

“What is the difference between analysis and design?”

When I first started asking this question in interviews, I found a lot of the candidates would waffle for several minutes without providing a satisfactory answer, so I started imposing a sixteen-word limit on the answer. Not only did this reduce attempts at waffling, but even those who were able to provide a reasonable answer were obliged to demonstrate that they could express the key points of an idea concisely.

The vast majority of programmers I have met seem to think that experience in attending requirements workshops and having read requirements specifications makes them analysts. Many of them have even written requirements specifications which were then signed off by the customer. However, business customers are often the least qualified to sign off a requirements document because they are rarely trained in requirements analysis techniques themselves and so approve any document that basically reflects the words and phrases that were used in the requirements-gathering workshops. So experience alone is no guarantee of ability. Not all experience is good, useful or valid.

Whenever I ask the question above, the answers I get mostly fall into the following categories:

  • Meaningless waffle (an insult because the candidate lacks the honesty to say “I don’t know” and chooses to waste time instead)
  • “Analysis is the what and design is the how” (a trite response and no one who gives it can ever explain what it means)
  • A meandering answer which is satisfactory in content, though not in length

Only five times, in my experience*, has a programmer answered the question to my satisfaction. That’s five times in roughly a hundred interviews. Part of the blame lies with organisations which think that an “analyst/programmer” is a programmer who can use MS Word and Visio.

Of course, there is more to the answer than a mere sixteen words. You could write a whole book on the subject, so the purpose of the question is to eliminate charlatans. When answered well, it is merely a gateway to further discussion. When answered badly, it tells me I needn’t ask further questions.

So what is the sixteen-word answer (actually I can answer it in six words)?

Oh, right. You think I’m going to tell you the answer here so that you can learn it by rote and regurgitate it in an interview. Not a chance. You need to think about it and ask yourself a more important question:

Should you really be selling yourself as having analysis skills when all you’ve really done is participate in workshops and fill out a requirements specification template afterwards?

Feel free to post your thoughts in the comments section.

Kind regards,

Declan Chellar

* I emphasise “in my experience” because I am sure there are many programmers who do understand the difference between analysis and design. I hope to meet more of them.

Related posts:

8 comments to What’s the difference between analysis and design?

  • Declan, Great question for interviews. Earlier this year I was helping with the IIBA’s BABOK v3 outline and we had many discussions about this. I’m glad to see the conversation online.
    Barbara Carkenord

  • Thanks, Barbara. Can you share any of the key points that came out of those discussions?

  • SHAWETA

    Analysis is actually what thing i need to do or carry out???

    Design is “How i will proceed to make up that thing which is carried out in the analysis”

    e.g. Suppose i need to build a car.

    so analysis here says about what are the requirements, constraints, performance conditions.
    Design is now it is clear that what I need to do from analysis i.e what are my requirements etc. , So it is actually carrying out that thing.
    There may be different design approaches to make up a design.

    Thats what i think about it. If there is any modifications required, Please let me know.

    Thanks..

  • Declan Chellar

    You’re not wrong, Shaweta, but I suggest you try to be more concise in your answer. I use only six words to explain the difference.

  • Vinod Kumar Kondra

    Analysis and design in software is
    “Investigation of requirements and finding the conceptual solution to requirements” respectively.

    • Declan Chellar

      Thanks, Vinod.

      However, you expanded the question, which is not restricted to “software”. I also feel the term “requirements” is a bit restrictive.

      Kind regards.

      Declan

  • Javed Ahmed

    To put it up in simple words Design is creation of an entity and analysis is study of an entity.

    For eg: To create a car you design it, but to study a car you analyze it.

    Hope that clears your question.

    • Declan Chellar

      Thanks for commenting, Javed.

      However, I have to disagree. Design and creation are not the same thing. To use your analogy, designing a car does not create a car. What’s more, in this context, isn’t “study” just a synonym for “analyse”?

      Kind regards.

      Declan

Leave a Reply to Declan Chellar Cancel reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>