jump to navigation

Requirements Trawling September 2, 2005

Posted by Coolguy in Business Analysis.
  • When you try to discover the requirements for any kind of product the difficulties are even more complex because the source of the requirements is not just one person, it is all of the people who are stakeholders in the project.
  • And all of these people have their own view of what is important, along with their own experience, prejudices and views of the world.
  • The aim is to discover all the requirements that are relevant to the product that we intend to build as early as we possibly can
  • However it often happens that requirements which could have been known
    about earlier are not discovered until after the product has been built.

Conscious requirements

  • The type of requirement that a stakeholder is most likely to communicate is what we call a conscious requirement.
  • A conscious requirement is something the stakeholder is particularly aware of. This might be because it is one of the reasons for building the product like “I want the camera to fit in my handbag”. Or it might be because a current product has a shortcoming – “I want the battery to last longer”. Or maybe it is because the stakeholder is aware of a new piece of technology – “I want the camera to be able to take digital photographs”. In all these cases a particular stakeholder is conscious of a requirement because of his particular view of the world, consequently it is something he is likely to mention

Unconscious requirements

  • Another situation is when a stakeholder does not mention a requirement because he does not realise that he has it. Think of it as an unconscious requirement.

Reasons for Unconscious requirements:

  • Reasons for this situation might be that the stakeholder is so used to having this requirement satisfied that he no longer thinks of it as a requirement.
  • If he is so used to his camera automatically rewinding at the end of the film, then he is less likely to articulate that requirement. But if you deliver a camera that does not rewind then he is amazed. How could you possibly have missed that requirement when surely anyone would know it is necessary.
  • The problem of unconscious requirements happens often when the stakeholder knows a lot about the subject matter and makes assumptions that everyone else has the same knowledge.
  • Another reason is because it is sometimes very difficult to tell someone all the details about something you know a lot about because you feel that maybe you are patronising them. You feel that surely they know
    that and you might be boring them by even mentioning it.
  • Yet another reason might be that the stakeholder does not understand what an existing product does and therefore assumes that any new product will maintain the status quo.

Undreamed requirements

  • If a stakeholder has a fixed idea of what he believes is possible then he is unlikely to mention requirements that he thinks cannot be carried out within his understanding of the constraints.
  • “No point in mentioning that I would like the camera to be waterproof – I know it’s not possible within the budget”.
  • Undreamed of requirements will not be invented by stakeholders who fall into the category of customers or end users.
  • Instead other stakeholders like technical specialists and developers will be the inventors and suggestors of undreamed of requirements.
  • Unless we encourage stakeholders to imagine these undreamed of
    requirements, they are unlikely to surface until later in the product’s lifecycle

Techniques for discovering requirements

  • The most traditional technique for trawling for requirements is interviewing the stakeholders. The intention is that you ask the stakeholders what they want and they tell you their requirements.
  • Although this is a useful technique in many situations, for all the reasons
    already discussed this one technique cannot hope to uncover all the requirements.
  • A Variety of Trawling Techniques are:
    Business Events
    Family Therapy
    Mind Mapping
    Neurolinguistic Programming
    Reusing Requirements
    Simulation Models (scenarios, prototypes)
    Soft Systems
    Systems Archaeology
    Use Case Workshops

Apprenticing uses the idea of a master craftsman and an apprentice. The apprentice observes what the master does, asks questions and then tries to learn the work by doing some of it.

The purpose of brainstorming is to use the group effect to generate good ideas and to solve problems.

Guidelines for brainstorming are:
1. Don’t evaluate
2. Don’t clarify or seek clarification
3. Go for zany ideas
4. Expand on each other’s ideas
5. List every idea
6. Avoid attaching individual names to ideas

Brainstorming is a particularly effective technique if you are inventing a product and you are trying to explore and understand the potential market.

Mind Mapping
When you are observing, listening or interviewing you normally take some kind of notes to help you to recall and refine your understanding. However taking notes that you can make sense of afterwards is not easy.

Reusing Requirements
If you define your requirements using a consistent approach, then you have the opportunity to reuse requirements.

Suppose, for example, you have an atomic requirement with a well-defined fit
criterion (measurement). Then it’s possible that the same requirement could be relevant either in another part of the same project or in a different project.


  • Interviews are good for conscious requirements
  • Apprenticing is likely to uncover unconscious requirements because the requirements engineer will observe requirements that nobody mentions because they are very familiar.
  • Brainstorming is very good for undreamed of requirements because it helps to free people from preconceived ideas and encourages them to dream.


No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: