Object Oriented Software Engineering   View all facts   Glossary   Help
subject > process > requirements gathering
Next processreviewing    Upprocess    Previous processrequirements elicitation   

requirements gathering comparison table
Subject include abbreviate as relate to perform on take be highlight have advantages involve perform by have purpose have procedure take place have benefit done with done during has definition use resolve have result uncover
brainstorming  Joint Application Development    
  • in a group session people are energized and tend to spontaneously invent many good ideas, stimulated by what others have said
  • introverted or timid people can have their say effectively since anonymity can be assured
  to gather information from a group of people
  1. Call a meeting with representation from all stakeholders
  2. Appoint an experienced moderator
  3. Arrange the attendees around the periphery of a table and give them plenty of paper to work with
  4. Decide on a trigger question
  5. Ask each participant to follow these instructions:
    1. Think of an answer to the trigger question
    2. Write the answer down in one or two lines on a sheet of paper, one idea per sheet
    3. Pass the paper to the neighbour on your left to stimulate their thoughts
    4. Look at the answers passed from your neighbour to the right and pass these on to your left as well. Use the ideas you have read to stimulate your own ideas
    5. Continue step 5 until ideas stop flowing or a fixed time (5-15 minutes) passes
    6. Ask everybody to read out one of the ideas on the sheets that happens to be in front of them. The moderator writes the each idea on a flip chart
    7. Take a series of votes to prioritize the ideas
  five to 20 people The process of obtaining ideas, opinions, and answers to a question in a group environment in which all members of the group are given the opportunity to contributea moderator (or facilitator) to lead the sessionconflicts over requirements  
interviewinganalysis  as many stakeholders as possible, as well as users of competing products, marketing personnel, and people involved with other systems that may interact in any way with the proposed system well planned   as many members of the software engineering team as possibleinformation gathering          
Joint Application Developmentregular brainstorming, and negotiation of specific wordingJADbrainstorming     developers meeting with customers and users in a secluded location for a period of three to five days to define the requirements   away from the offices of any of the participants so that nobody is interrupted by any other activitythe energy generated by intense JAD sessions can often shorten the period required to work out the requirements from several months to several days  An approach to defining requirements, in which all the stakeholders meet intensively for several days in a secluded location  a written requirements document 
observation    a lot of time   taking a notebook and 'shadowing' important potential users as they do their work, writing down everything they do, asking users to talk as they work and explain what they are doing, and perhaps videotaping the session so you can analyze it in more detail later to gather subtle information that stakeholders may not think of telling you    the development of large systems, with which potential users will be performing complex tasks, because observation, and analysing the resulting information, can consume a large amount of time     
prototyping      potential ambiguities and misunderstandings in the requirements         The process of developing prototypes conflicts over requirements - when users actually use different prototypes they may change their preferences invalid assumptions made in domain analysis or requirements analysis

Next processreviewing    Upprocess    Previous processrequirements elicitation