Practical Software Engineering
(ref: Anderson Chs 7 & 8)
Common methods are:
Interviewing is the most widely used
technique in requirements engineering.
- Repertory Grids
- Concept Mapping
- Joint Application Design
Analysts interview future users of the system individually to find out
The information gathered during the
interviews enables the analysts to design a new system that will eliminate the
shortcomings of the current one.
- what the present system does and
- what changes are needed.
An alternative to interviewing individuals is the group interview conducted by
an impartial leader.
A representative method is Joint Application Design (JAD), developed and
taught by IBM.
The advantages of JAD are that
Requirements analysis should not start until there is a clear
statement of scope and objectives of the project.
- the analysis phase of the life cycle is shortened and
- the specifications document produced are better accepted by the
The next phase is to build a logical model of the system (one which does
not depend on details of implementation), usually by one of the following
The logical model of the
new system becomes the requirements specification.
- Interviewing users to build a physical model of the present system,
abstracting this to a logical model of the present system, and then
incorporating desirable changes so as to create the logical model of the future
- Organizing a workshop with group methods such as JAD to create the
logical model of the new system directly, without the intermediate steps of the
physical and logical models of the present system.
Typically, it contains:
test of the system, the user acceptance test, should be conducted as a
benchmark against this document. Therefore, all those factors that will
determine whether the users are satisfied with the system should be documented
and agreed upon.
- An introduction containing the scope, goals, and objectives of the
- Data flow diagrams depicting the workflow of the new system,
including the clear identification of business transactions.
- A project data model (e.g. ER model).
- Information needs: which types of questions will be asked of the
system and which data will support the answers.
- Interfaces with other systems.
- Sample report, screen, and form layouts, if required.
- Operational information such as processing frequencies and
schedules, response time requirements, resource utilization constraints.
- Measurable criteria for judging the implementation.
There may be a final step in the requirements analysis--to have the users and
top management sign off on the specification document. (In most cases,
if sufficient contact is maintained with the users during the work, this step
is not necessary.)
We need to review the present system before designing a new one, because:
An interview is a systematic attempt to collect information from a person.
- it gives the design team a good grasp of the business problems
- it lets them understand the environment in which the new system will
- it helps make sure everything needed is considered
- it helps to relate the new design to the old one for ease of use
- it enhances cooperation between project team and users
Interviewing is an important skill for systems analysts because success depends
on an ability to identify:
Without accurate and complete information:
- work flows,
- factors that influence the operations of systems, and
- the elements (documents, procedures, policies, etc.) that make up systems.
The interview process has
- the new system would probably not contain the necessary features to meet
the needs of the organization
- poorly performed interviews can affect the attitudes of the users and have
a negative effect on the entire project effort.
Before undertaking an interview:
- Preparing for the interview
- Planning and scheduling the interview
- Opening and closing the interview
- Conducting the interview
- Following up for clarification
- the analyst should have a good understanding of the organization, its
industry setting, and the project's scope and objectives.
Analysts must understand common
industry terms and be somewhat familiar with the business problems of the
Prepare a list of topics and questions to be covered to help ensure that
important points are not overlooked and that the interview follows a logical
- organization reports
- annual reports
- long-range planning documents
- statements of departmental goals
- existing procedure manuals and
- systems documentation
- maybe even your old math or physics text books
Scheduling interviews should proceed from the top down.
Heads of departments or sections are usually interviewed before employees who
report to them.
Interviewers should explain the purpose of the interview, the general areas to
be covered, and the approximate amount of time required to cover all areas.
In opening an interview,
Often interviewees are concerned that an analyst is trying to find fault
with the way they work. One way to set them at ease is to get them to talk
about processes with which they are familiar.
- introduce yourself,
- state the purpose of the interview,
- address any concerns raised by the interviewee,
- and explain that
brief notes will be taken and shared with the interviewee after they have been
The best interviews are those where the interviewees do most of the talking.
Therefore, analysts look for ways to get interviewees to open up to them.
Avoid closed questions as the result of this approach is usually that the
interviewees give a brief answer to the question and then wait for the next
one, almost as if they were being interrogated by a detective.
Closed questions: (who, where, when, which)
taking can become a distraction if not restricted to brief notations for
later elaboration. Your notepad is best kept out of the interviewee's line of
- set limits on the type, level and amount of information interviewee
- often provide a choice of alternatives
- can require a bipolar or multiple choice response
- used for clarifying or probing questions or as feedback
- less time consuming for specific information
- makes note-taking easier
- sometimes can get too little information
- may stop interviewee from volunteering information
- requires an excellent command of vocabulary and concepts
The purpose of an analyst's notes should be to help recall pertinent points and
hypotheses formed during an interview. Many analysts will use broad headings
for note taking rather than specific categories.
Taping an interview is not always recommended. It can intimidate the
interviewee; and, listening to the tape and extracting pertinent information is
very time consuming. However, video- or audio-taping each have advantages and
When all areas on the interview outline have been explored, ask
This encourages the interviewee to discuss issues that should have been
- "Is there anything we've overlooked?" or
- "What other areas should I have asked you about?"
This question elicits suggestions for improvement.
- "What one change would make your job easier or more effective?"
Closing the interview involves briefly summarizing the areas that have been
discussed, highlighting the important facts and your understanding of them.
This lets the interviewee know that you have been listening carefully during
the interview and provides an opportunity for clarifying any misunderstandings.
During the summary, as well as during the entire interview, the analyst should
adopt a posture of objectivity and avoid personal comments, observations, or
Finally, in closing, you must thank the interviewee for the time and ask if a
interview can be scheduled at a later date if necessary.
Active listening helps to maintain the information flow and facilitates
adequate feedback from analyst to interviewee.
The active listening technique has five key tools:
Open-ended questions cannot be answered with a simple yes or no response and
thus encourage the interviewee to provide more information.
- Asking open-ended questions
- Using appropriate words and phrases
- Giving acceptance cues
- Restating the interviewee's responses
- Using silence effectively
Open-ended questions begin with such words as what, how or tell me
rather than such words as can, does, or when.
For example, "Tell me what happens when a customer calls"
Open questions: (what, why, how)
Avoid using words or phrases that are emotionally charged, distracting, or
difficult to understand. For example, emotional expressions
- are broad and place few constraints on the interviewee
- used for determining scope of understanding, response certainty, models
used allow expert to express information knowledge engineer does not know about
- can obtain interviewee`s vocabulary, concepts, frames of reference
- can help with explanations and underlying theory
imply a foregone conclusion.
- problem area,
- cumbersome process, or
- poorly controlled
Distracting statements contain
People also send messages by
- excessive abbreviations or acronyms,
- name dropping,
- controversial words and phrases,
- slang, and
When used properly, they encourage an interviewee to provide information. When
used poorly, they can have the opposite effect.
- tone of voice,
- eye contact,
- facial expressions, and
- body movements.
For example, failure to make eye contact in an interview can be
interpreted as a lack of interest or concern for the other person. Good eye
contact can communicate interest, attention, openness, and a regard for the
other person's worth.
Too much eye contact can be misinterpreted as staring. In our culture eye
contact between strangers for more than a brief moment is considered a
challenge. In some cultures, eye contact is considered an invasion of
Nodding the head to indicate understanding is an acceptance cue, as is a
posture of attentiveness: sitting straight and leaning slightly forward.
Contrast this posture with a person slouching in a chair with one arm flung
over the back of the chair or leaning back with both hands folded behind the
The following are errors commonly made by inexperienced analysts:
Acceptance cues are used to convey
understanding, not agreement.
Restatement involves repeating something the interviewee has said in the
analyst's own words as an indication that effective communication has occurred
and that the analyst understands what the interviewee has said.
- Sitting back in a chair with arms folded across the chest (This posture
implies a lack of openness to what is being said and may also indicate that the
analyst is ill at ease.)
- Looking at objects in the room or staring out the window instead of
looking at the interviewee. (Because this behavior suggests that the analyst
would rather be somewhere else doing other things, the interviewee will often
cut the interview short.)
- Taking excessive notes or visually reviewing notes. (An analyst who
records rather than listening may arouse interviewee concerns over what is
- Sitting too far away or too close. (Sitting too far away often
communicates that the analyst is intimidated by the interviewee, while sitting
too close may communicate an inappropriate level of intimacy and make the
Restatement is normally used under the following circumstances:
Restatement can also overcome emotional barriers set up by
interviewees who, for some reason, are uncooperative.
- When the interviewee is describing a problem. (At such times, the
analyst's restatement communicates that the interviewee's problem has been
heard and understood.)
- When the analyst wants to check his or her understanding of what has been
said. (This technique is often used in response to complex statements or in
group situations where several persons have commented on the same issue.)
- When the analyst wants to encourage the interviewee. (Restatement can
prompt the interviewee to expand or elaborate on what has been
The analyst must remain neutral.
For example, if the interviewee is critical of management, the analyst should
neither agree with the criticism nor attempt to defend management. Instead, the
analyst should simply convey that the interviewee's feelings are understood.
Common errors using restatement:
Interviewee Response: We continue to sell products to customers who have
not paid their bills.
- Echoing the interviewee, i.e., repeating exactly what the interviewee has
said rather than restating in different words. (Echoing becomes very obvious
after the first few times it occurs and can make the interviewee uncomfortable.
- Overusing restatement, which can be distracting to the interviewee.
- Altering or distorting the meaning intended by the interviewee. (A
restatement should be as close to the interviewee's meaning as possible.)
- Raising the pitch of the voice at the end of a restatement. (This habit
converts a restatement into a question answerable by yes or no instead of an
invitation for the interviewee to expand on his or her comments.)
Effective Restatement: The system processes orders to customers who are
bad credit risks. (Encourages interviewee to expand.)
Ineffective Restatement: Why don't you check the customer's credit
status before processing the order? (Distorts interviewee's meaning.)
Use silence effectively:
After the interview has been documented any clarification can usually be done
by using closed questions.
- at the end of a question to allow the interviewee to collect their thoughts
- after an incomplete answer to encourage the interviewee to
PREPARED BY: RON TURNER, DATE: 130CT90, VERSION: 1
APPROVED BY: JOE DAVIS, DATE: 150CT90, STATUS:
Interviewee: Hector Diaz; Manager--Employee Time Reports
Functions Reporting to Interviewee: Supervisors of Employee Time
Reporting and Payroll
1. Scope of Operations, Characteristics of Environment
Hector is responsible for all employee time reporting. Presently, time
reports are collected by each of the three area supervisors.
Although Hector sets company-wide time reporting policies, several factors
complicate the consistent implementation of these policies. The lack of a
uniform centralized time reporting system that identifies variances by locality
contributes to the less than efficient employee utilization.
Hector feels that the proposed centralization of all time reporting at
headquarters would provide significant improvements. This would include the
timely identification of project variances among other benefits.
2. Business Objectives
a. Timely reporting of project variances
b. Establish effective control over intra-
a Project variances
(i) Standard Employee Time Report
b. Intra-location Transfers
(i) Projected Personnel Requirements
(ii) Standard Employee Time Report
4. System Features
a. Monthly Budget/Actual Variance Reports
b. Variance reports are restricted to supervisors and above
c. Time reports must be processed within two hours of their submission
- Appropriate when the requirements engineer wants to explore an issue
- Facilitates description of domain in a way that is easy for the interviewee
- Goal is to establish rapport and to get a broad
- Data acquired is often unrelated and difficult to integrate
- Often exhibits lack of structure
- Does not allow gathering of specific knowledge
- Takes time and training to do well
- Similar questions asked in future sessions may annoy
- Forces an organization on the interview
- Very goal-directed
- Attempts to remove distortion from interviewees subjectively
- Allows better integration of material after the interview
- Forces the interviewee to be systematic
- Requirements engineer identifies gaps in the knowledge which acts as a
basis for questions
- Purpose of session is clear to interviewee
- Needs more preparation by the requirements engineer
- Needs to study background material extensively
Concept maps may be formal or informal. Formal concept maps are usually
rigorous and used for specific, well defined purposes.
maps are much more appropriate in interview situations because they are:
- easier to use (no constraints)
- more flexible and adaptable as the interview situation changes
(formal concepts are usual special-purpose)
While concept mapping is useful as a note taking technique, it is
also useful to share the map as it is developed with the
interviewee. This can be done on paper (if only one or two
interviewees) or on a white board, or on a electronic projection
(when interviewing a group). Shared concept mapping is useful because:
Computer support is very helpful as layout can be changed relatively
easily compared to pen-and-paper techniques.
- The map provides placeholders dangling discussion points
- The structure helps to pinpoint obvious missing information
- The structrue helps to show symetries in the information
- Provides a good overview
- Able to convey non-linear structure better than other techniques.
The advantages of JAD are that
It was developed to:
- the analysis phase of the life cycle is shortened and
- the specifications document produced are better accepted by the
- shorten interviewing time (which could take several weeks)
- overcome poor understanding of systems requirements
- increase users' understanding and commitment to the system
- users -- at all levels
- (one) IS analyst -- must listen to the users
- observers -- provide technical assistance and advice
- scribes -- keep notes and circulate them after meeting
- session leader -- conducts the session
- should not report to anyone in the group
- should aim for consensus, not majority vote
- executive sponsor -- top executive who emphasizes commitment
- is present at start and finish only
The analysis covers the following points of a proposed system:
- locate an executive sponsor and determine scope
- identify the participants
- learn about the application
- organize the meeting
After the meeting, the scribes organize the materials and deliver them to the
IS analyst who attended the workshop. The analyst's responsibility is to
prepare a specification document, which may include the following items:
- What are the sources that tell users what work to expect and when?
- Where and how is work received?
- Where and how are resources (people, machines, materials, supplies) to do
the work received?
- Receipt processing/tracking
- How are receipts reported and received work uniquely identified?
- Are other locations notified of receipts?
- Monitoring and assigning
- How will planned work be received,
received work be processed, and
priorities and resources monitored?
- What identification documents, instructions, and reports does the system
- How is the work done, by whom, on which machines?
- How does the system monitor and guide progress?
- How does it report?
- How does the system record events about the work and notify clients?
- Where is the work sent after completion?
- What labels, directions, and other documents are required?
- Who is notified of completion?
- What billing or accounting data is produced?
- What management information is required to indicate trends,
data, measurements, or exceptions to plans, objectives, and
This list of items may be
tailored to fit the organization's existing documentation standards.
- Management objectives
- Scope and limits
- Business questions the system will answer
- Information required to answer the questions
- Relationship with other systems
- Data element definitions
- Screen and report layouts
- Processing rules
- Operating procedures
- Performance and operational requirements
- Andersen Consulting (1992). Foundations of Business Systems. Dryden Press, Fort Worth.
- Roger S. Pressman. Software Enginerring: A Practitioner's Approach (third edition).
McGraw-Hill, New York. 1992. Chapter 6, section 3.
Practical Software Engineering, Department of Computer Science