Upload
olga-sharpe
View
22
Download
0
Tags:
Embed Size (px)
DESCRIPTION
C H A P T E R. 6. REQUIREMENTSDISCOVERY. Introduction to Requirements Discovery. Requirements discovery includes those techniques to be used by systems analysts to identify or extract system problems and solution requirements from the user community. - PowerPoint PPT Presentation
Citation preview
1
6C H A P T E R
REQUIREMENTSDISCOVERY
3
Introduction to Requirements DiscoveryRequirements discoveryRequirements discovery includes those techniques to be used by systems analysts to identify or extract system problems and solution requirements from the user community.
Problem analysisProblem analysis is the activity of identifying the problem, understanding the problem (including causes and effects), and understanding any constraints that may limit the solution.
Recent studies have shown that as many as 80% of all system development failures can be traced back to problems with requirements!!!
5
Types of RequirementsA functional requirement - function or feature that must be included in an information system to satisfy the business need and be acceptable to the users.
A nonfunctional requirement is a description of the features, characteristics, and attributes of the system as well as any constraints that may limit the boundaries of the proposed solution.
Many of these are, however, quite required!!! Performance, security, distribution, persistence… Constraints: language, tools, platforms, …
Book has tables of examples! Look these over…..
8
Requirement:Create a means to transport a singleindividual from home to place of work.
ManagementInterpretation
I TInterpretation
UserInterpretation
An Ambiguous Requirements Statement
English-language requirements are full of ambiguities; Thus we use models with few symbols and the jargon of the user. Diagrams generally accompany the graphical / text-based models.
9
Results of Incorrect RequirementsThe system may cost more than projected. (budget)The system may be delivered later than promised.(missed delivery date)The system may not meet the users’ expectations and that dissatisfaction may cause them not to use it. (unsatisfied requirements!)Once in production, the costs of maintaining and enhancing the system may be excessively high. (poorly designed and constructed. Perhaps from faulty requirements)The system may be unreliable and prone to errors and downtime. (ditto)The reputation of the IT staff on the team is tarnished because any failure, regardless of who is at fault, will be perceived as a mistake by the team. (Amen!)
10
Relative Cost to Fix an ErrorPhase in Which Found Cost Ratio
Requirements 1
Design 3-6
Coding 10
Development Testing 15-40
Acceptance Testing 30-70
Operation 40-1000
11
Criteria to Define System RequirementsConsistent – Requirements not conflicting/ambiguousComplete – Requirements describe all possible inputs
and responsesFeasible – Requirements can be satisfied based on
available resources and constraintsRequired – Requirements truly neededAccurate – Requirements stated correctlyTraceable – Requirements directly map to the
functions / features of the systemVerifiable – Requirements are defined so that they can be demonstrated during testing.
12
The Process of Requirements Discovery – Four Activities
Activity 1. Problem discovery and analysis Be sure to treat the cause and not the
symptomSee the Fishbone diagram (next slide)
13
Ishikawa DiagramThe Ishikawa diagram is a graphical tool used to identify, explore, and depict problems and the causes and effects of those problems. It is often referred to as a cause-and-effect diagram or a fishbone diagram.
Main categories: methodsmaterials, contracts, … Causes come ‘under’ (point to) a category…
Main problemof interest is at the head.
14
The Process of Requirements Discovery
Activity 2. Fact-finding is the formal process of using research, interviews, questionnaires, sampling, and other techniques to collect information about problems, requirements, and preferences. Also called information gathering.
Remember: Any information system can be examined in terms of three building blocks: Data, Process, and Interface.
While always necessaryalways necessary, this is particularly necessary during Requirements Analysis
15
Seven Fact-Finding MethodsNeed to understand each of these and determine which may be preferred (or combination) on a single project. (more later on these:)Sampling of existing documentation, forms, and databases. Research and site visits. Observation of the work environment. Questionnaires. Interviews. Prototyping. Joint requirements planning (JRP).
16
The Process of Requirements Discovery
Activity 3. Documenting and Analyzing Requirements A) Documenting Requirements. a. Use Cases – for describing system functions from the
perspective of external users b. Decision Tables – document complex business
policies and decision making rules c. Requirements Tables – document specific
requirements….
(These are considered ‘informal methods’) (more later on these…)
17
The Process of Requirements Discovery
Activity 3. Documenting and Analyzing requirements (more…)B) Analyzing Requirements often conflict; Must discover and resolve problems. Requirements normally incomplete; documented in an informal way
with use cases, tables, and reports. Focus: Reach agreement on stakeholder needs!! Requirements often: missing, conflicting, infeasible, overlapping, and
ambiguous! Our modeling efforts (data, process…) good tools for analyzing
requirements and eliminating mistakes.
Sometimes stakeholders must negotiate requirements; sometimes prioritize requirements
18
Activity 3. Documenting & Analyzing Requirements (continued.)C) Formalizing Requirements.
Document serves as a contractMay go through many versions before acceptance
No standard formatMany names: requirements statement,
requirements specification, requirements definition, functional specification.
Format usually tailored to the organization’s needs.This document is the most widely read and referenced document for all project
documents: owners, users, managers.A ‘living document.’ Final draft must be Validated!!!
19
Documenting and Analyzing Requirements
A requirements definition document(s) should consist of the following. The functions and services the system should provide. Nonfunctional requirements including the system’s
features, characteristics, and attributes. The constraints that restrict the development of the
system or under which the system must operate. Information about other systems the system must
interface with.
20
The Process of Requirements Discovery
Activity 4. Requirements Management (that is, managing ‘change’ to the Requirements) Some studies cite that as much as 50% of the
requirements will change before the system is put into production
These management techniques tell how changes to requirements are handled.
Change proposals; submission, impacts to scope, schedule, and cost.
Change approval or disapproval or logged. Lots of sources deal with Change Control
21
Requirements Discovery Methods
1. Sampling2. Research / Site Visits3. Observation in Work Place4. Questionnaires5. Interviews6. Discovery Prototyping7. Use Cases
22
Requirements Discovery - Sampling1. Sampling is the process of collecting a representative sample of documents, forms, and records. (lots of statistics here.. Levels of uncertainty, sample sizes, validity/reliability…) See Organization Chart first! Documents that led up to the project and discuss the
problems Information systems project requests – past and present. Company’s mission statement and strategic plan Gather representative samples of documents, forms, records
used in the workplace. (blank forms are informative; filled in forms show how forms are misused or not used…)
23
Requirements Discovery – Research / Site Visit
2. Research and Site VisitSometimes companies visit other
companies with similar problems to gain their insights, sharing valuable information;
May save much time and cost.May cost time and money.
24
Requirements Discovery - Observation3. Observation is a fact-finding technique wherein the systems analyst either participates in or watches a person perform activities to learn about the system. Advantages?
‘can be highly reliable’ (see what is done) ‘reasonably inexpensive (employee time, copying, …)
‘ allows systems analyst to do work measurements.Disadvantages?
people uncomfortable need to watch at peak times / best times/
representative…perform jobs correctly when watched…
OK, if really “OK”
Work sampling is a fact-finding technique that involves a large number of observations taken at random intervals.
25
Observation GuidelinesDetermine the who, what, where, when, why, and how of the observation.Obtain permission from appropriate supervisors or managers.Inform those who will be observed of the purpose of the observation.Keep a low profile.Take notes during or immediately following the observation.Review observation notes with appropriate individuals.Don't interrupt the individuals at work.Don't focus heavily on trivial activities.Don't make assumptions.
26
Requirements Discovery – Questionnaires
4. Questionnaires are special-purpose documents that allow the analyst to collect information and opinions from respondents. Advantages?
gather lots of data (mass produced) Can be taken on their own time; maintain anonymity Easy to tabulate responses
Disadvantages? Number of respondents usually low tend to be inflexible (no chance to reword; voluntary info; …) Not possible to observe/analyze respondent’s body language No guarantee respondents will answer or expand on all
questions. Difficult to prepare.
27
Types of Questionnaires
Free-format questionnaires offer the respondent greater latitude in the answer. A question is asked, and the respondent records the answer in the space provided after the question.
great for analysisrequires much timewhat does “good” mean? Avoid key words…
Fixed-format questionnaires contain questions that require selection of predefined responses from individuals.
easy to tabulatethe science of question formulation…
28
Types of Fixed-Format QuestionsMultiple-choice questions yes / no
Rating questions strongly agree / agree/ no opinion/ disagree/
strongly disagree
Ranking questions % of new customer orders % of order cancellations % of people who actually look at these reports % of reports generated that are of use to you…
29
Questionnaire Procedure
1. Determine what facts and opinions must be collected and from whom you should get them.
2. Based on the needed facts and opinions, determine whether free- or fixed-format questions will produce the best answers.
3. Write the questions. 4. Test the questions on a small sample of
respondents. 5. Duplicate and distribute the questionnaire.
30
Requirements Discovery - Interviews5. Interviews are a fact-finding technique whereby the systems analysts collect information from individuals through face-to-face interaction. Advantages?
Can motivate interviewee openly and freely Can establish rapport Can probe for more feedback Can adapt or reword questions Observe and react to non-verbal
Disadvantages? Very time consuming success highly dependent on interviewer’s skills Location may make interviewing impractical
Can be used to: find facts, verify facts, clarify facts, generate enthusiasm, get end-user involved, identify requirements, solicit ideas / opinions…
31
Types of InterviewsUnstructured interviews are conducted with only a general goal or subject in mind and with few, if any, specific questions. The interviewer counts on the interviewee to provide a framework and direct the conversation.
. May often get offtrack; analyst may need to redirect interview back to main goal/subject
. Unstructured interviews usually don’t work too well for systems analysis and design.
In structured interviews the interviewer has a specific set of questions to ask of the interviewee.
32
Types of Interview QuestionsOpen-ended questions allow the interviewee to respond in any way that seems appropriate.
How do you feel about ….What do you think is the most important ….
Closed-ended questions restrict answers to either specific choices or short, direct responses.
Restricted choices – yes or no, ….
33
Procedure to Conduct an Interview1. Select Interviewees
1. See organizational chart for responsibilities2. Make appointment3. Learn about individual ahead of time4. Limit time to <= 30 minutes
2. Prepare for the Interview1. An interview guide is a checklist of specific questions the interviewer will
ask the interviewee.
3. Conduct the Interview (Some of these are repeated ahead)1. Warm handshake and smile; Keep interviewee at ease.2. Record interview? 3. Take notes? pros and cons..
4. Follow Up on the Interview1. ALWAYS send a follow-up summarizing the interview.2. Allows any changes / misconceptions derived;3. Offers opportunity to add/clarify information that didn’t surface…
34
Interview QuestionsTypes of Questions to Avoid Loaded questions Leading questions Biased questions
Interview Question Guidelines Use clear and concise language. Don’t include your opinion as part of the question. Avoid long or complex questions. Avoid threatening questions. Don’t use “you” when you mean a group of people.
35
Sample Interview Guide
Time Interviewer Interviewee Allocated Question of Objective Response
1 to 2 min. ObjectiveOpen the interview:• Introduce Ourselves• Thank Mr. Bentley for his valuable time• State the purpose of the interview--to obtain an
understanding of the existing credit-checking policies
5 min. Question 1What conditions determine whether a customer’s order is approved for credit?Follow-up
5 min. Question 2What are the possible decisions or actions that might betaken once these conditions have been evaluated?Follow-up
3 min. Question 3How are customers notified when credit is not approvedfor their order?Follow-up
Interviewee: Jeff Bentley, Accounts Receivable ManagerDate: Tuesday, March, 23, 2000Time: 1:30 P.M.Place: Room 223, Admin. Bldg.Subject: Current Credit-Checking Policy
(continued)
36
1 min. Question 4After a new order is approved for credit and placed in thefile containing orders that can be filled, a customer mightrequest that a modification be made to the order. Wouldthe order have to go through credit approval again if the new total order cost exceeds the original cost?Follow-up
1 min. Question 5Who are the individuals that perform the credit checks?Follow-up
1 to 3 mins. Question 6May I have permission to talk to those individuals to learnspecifically how they carry out the credit-checking process?Follow-up
1 min. ObjectiveConclude the interview:• Thank Mr. Bentley for his cooperation and assure him
that he will be receiving a copy of what transpired duringthe interview
21 minutes Time allotted for base questions and objectives.
9 minutes Time allotted for follow-up questions and redirection
30 minutes Total time allotted for interview (1:30 p.m. to 2:00 p.m.)
General Comments and Notes:
Sample Interview Guide (concluded)
37
Interviewing Do’s and Don’tsDo
Be courteous
Listen carefullyMaintain controlProbeObserve mannerisms and nonverbal communicationBe patientKeep interviewee at easeMaintain self-control
AvoidContinuing an interview
unnecessarily.Assuming an answer is finished or leading nowhere.Revealing verbal and nonverbal clues.Using jargonRevealing your personal biases.Talking instead of listening.Assuming anything about the topic and the interviewee.Tape recording -- a sign of poor listening skills.
38
Communicating With the UserListening - “To hear is to recognize that someone is speaking, to listen is to understand what the speaker wants to communicate.” (Gildersleeve – 1978)
Listen – not for a ‘break’ so YOU can speak…Listen!!
Guidelines for Communicating Approach the Session with a Positive Attitude Set the Other Person at Ease Let Them Know You Are Listening Ask Questions Don’t Assume Anything Take Notes
39
Body Language and Proxemics
Body language is all of the nonverbal information being communicated by an individual. Body language is a form of nonverbal communications that we all use and are usually unaware of.
Proxemics is the relationship between people and the space around them. Proxemics is a factor in communications that can be controlled by the knowledgeable analyst. People tend to be territorial…
40
Startling Fact:
Startling fact: of a person’s total feelings, only
7% are communicated verbally,
38% are communicated by the tone of voice used, and
55% percent of those feelings are communicated by facial and body expressions.
Wow!
41
Spatial ZonesIntimate zone—closer than 1.5 feetPersonal zone—from 1.5 feet to 4 feet most interviews conducted here
Social zone—from 4 feet to 12 feet may need to move back if you perceive interviewee is
uncomfortable (via body language)
Public zone—beyond 12 feetSometimes increasing eye contact can make up for a long distance that cannot be changed. Many people use the fringes of the social zone as a ‘respect’ distance.
42
Requirements Discovery - Discovery Prototyping
6. Discovery prototyping is the act of building a small-scale, representative or working model of the users’ requirements in order to discover or verify those requirements. Frequently applied to software development projects.Philosophy: users recognize requirements when they see them.Good for not clearly understood requirements.No quality assurance; Frequently alternate technologies are used Throwaway approach.
43
Advantages and Disadvantages of Prototyping as a means of discovering requirements.
Advantages? Allows users/developers to experiment with
software for understanding Aids in determining feasibility and usefulness
before high development costs are incurred. Serves as training mechanism for users. Aids in building system test plans and test
scenarios May minimize time spent for fact finding and
define more stable requirements.
44
Advantages and Disadvantages of Prototyping as a means of discovering requirements.
Disadvantages? Developers may need to be trained in the
prototyping approach Users may develop unrealistic expectations based
on performance, reliability, and features of the prototype. Prototypes only simulate functionality and are incomplete in nature.
Developing prototype may extend the development schedule and increase the development costs.
45
Joint Requirements PlanningDissatisfaction with interview / questionnaire results – conflicting goals, significant time/effort expended.Enter a ‘group work’ session as a substitute for interviews.
Joint requirements planning (JRP) is a process whereby highly structured group meetings are conducted for the purpose of analyzing problems and defining requirements.
JRP is a subset of a more comprehensive joint application development or JAD technique that encompasses the entire systems development process.
JRP (and JAD) techniques are becoming increasingly common in systems planning and systems analysis to obtain group consensus on problems, objectives, and requirements.
46
JRP Participants (1 of 2)Sponsor Single ‘champion’ in top management (not IT or IS) Fully supports project via encouragement, … Will usually open and close session w/words…
Facilitator Single person – responsible for leading all sessions
Excellent communications skills; ability to negotiate, resolve group conflicts, good business knowledge, strong organizational skills, impartial to decisions, and does not report to any JRP participants.
Plans sessions, conducts sessions and follow thru.May establish ground rules..
47
JRP Participants (2 of 3)
Users and Managers – constitute the group; carefully selected. May be a small number to a dozen or more. Role of managers is to approve project objectives,
establish project priorities, approve schedules and costs, approve identified training needs and implementation plans
Both users and managers ensure their critical success factors are met.
48
JRP Participants (3 of 3)Scribes – one or more who keep records; published and disseminated immediately after the meeting to maintain momentum. Most use CASE tools to capture the facts documented using data
and process models that are communicated during a JRP session. Scribe must possess strong knowledge of systems analysis and
design and be skilled with using CASE tools. Systems Analysts frequently play this role.
I.T. Staff May include a number of IT staff who take notes regarding issues
and requirements voice by users and managers. (usually members of project team)
Usually do not speak – unless asked to do so, as for ‘feasibility.’
49
Steps to Plan a JRP Session0. Three to five days – or more; much planning on ‘scope.’
Develop high level requirements/expectations of each session May involve selected individuals who are responsible for
departments / functions that are to be addressed by the project.
1. Selecting a location – away from company workplace.1. No contact with workplace; Attend all meetings; No returning to
work. Well-equipped facilities; comfort; projectors, computer spt, including various packages, CASE tools, WPs, expendables
2. Selecting the participants1. Sometimes JRP leader is outside the organization – or not.2. Scribes – taken from organization’s IT professionals.3. All IT individuals assigned to the project team are usually involved in
the JRP session. Other IT specialists may be needed..4. Only those users who are able to clearly articulate facts and opinions
are invited. (sometimes hard to get right people ‘released’ to attend.
3. Preparing the agenda – read this.
50
41' -0"
30' -
0"
Flipchart
IT Professionals & Other Observers
Usersand
Managers
JADFacilitator
Scribe
Workstation(for CASE tool)
Printer
BlackboardOverhead Projector
ComputerProjection
Device
Food & Refreshments
IT Professionals & Other Observers
Workstation(for prototyping tool)
Scribe
Scribe
Typical room layout for JRP session
51
Guidelines for Conducting a JRP Session
Do not unreasonably deviate from the agendaStay on scheduleEnsure that the scribe is able to take notesAvoid the use of technical jargonApply conflict resolution skillsAllow for ample breaksEncourage group consensusEncourage user and management participation without allowing individuals to dominate the sessionMake sure that attendees abide by the established ground rules for the session
52
BrainstormingBrainstorming is a technique for generating ideas during group meetings.
Participants are encouraged to generate as many ideas as possible in a short period of time without any analysis until all the ideas have been exhausted.
Sometimes, one of the goals of a JRP session is to generate possible ideas to solve a problem. Brainstorming is a common approach that is used for that purpose.
53
Brainstorming GuidelinesIsolate the appropriate people in a place that will be free from distractions and interruptions Make sure everyone understands purpose of the meeting Appoint one person to record ideas Remind everyone of the brainstorming rules Within a specified time period, team members call out their ideas as quickly as they can think of them After the group has run out of ideas and all ideas have been recorded, only then should the ideas be analyzed / evaluated Refine, combine, and improve the ideas that arose earlier Be spontaneous. Call out ideas as fast as they occurAbsolutely no criticism, analysis, or evaluation of any kind permitted while ideas are being generated.Emphasize quantity of ideas not necessarily quality.
54
Benefits of JRP
JRP actively involves users and management in the development project (encouraging them to take “ownership” in the project)JRP reduces the amount of time required to develop systems – high intensity, closed environmentWhen JRP incorporates prototyping as a means for confirming requirements and obtaining design approvals, the benefits of prototyping are realized
55
Documenting Requirements Using Use Cases
A use case is a behaviorally related sequence of steps (a scenario), both automated and manual for the purpose of completing a single business task.
An actor represents anything that needs to interact with the system to exchange information. An actor is a user, a role, which could be an external system as well as a person.
A temporal event is a system event that is triggered by time.
56
Documenting Requirements Using Use Cases
Use cases describe the system functions from the perspective of external users and in the manner and terminology in which they understand. Results of decomposing the scope of system functionality into many smaller statements of system functionality. An actor initiates system activity, a use case, for the purpose of completing some business task. An actor represents a role fulfilled by a user interacting with the system and is not meant to portray a single individual or job title.
57
Benefits of Using Use Cases
Facilitates user involvement.
A view of the desired system’s functionality from an external person’s viewpoint.
An effective tool for validating requirements.
An effective communication tool.
To be successful, participation by the user is essential!
58
Example of a High-Level Use CaseAuthor: S. Shepard Date: 03/01/200
Use Case Name: Create New Member Order
Actors: Member
Description: This use case describes the process of amember submitting an order for SoundStageproducts. On completion, the member will besent a notification that the order was
accepted.
59
You have seen many examples of use cases by
now…But study these in earnest for next examination – probably
June 13th, Friday…
60
Example of a Requirements Use Case (concluded)
Be sure you know all the parts (rows) of a Use Case:Here are a few: be able to identify them from the descriptions below:1. A reference to the requirement(s) in which it can be traced to.
2 A typical event course describing the use case’s major steps, from beginning to end of
this interaction with the actor.
3. Alternate courses describing exceptions to the typical course of events.
4. Precondition describing the state the system is in before the use case is executed.
5. Postcondition describing the state the system is in after the use case is executed.
6. An assumptions section, which includes any nonbehavioral issues, such as performance
or security, that is associated with the use case, but is difficult to model within the
use case’s course of events.
61
Requirements Using Tables
62
Requirement Explanation
Requirement number: Indicate a unique number or identifier of the requirement
Requirement title: Assign short phrase indicating nature of the requirement
Requirement text: Provide a textual statement of the requirement
Requirement type: Indicate the requirement type
Requirement details and constraints
Functional characteristics or dimensions
Rev date and rev #: Indicate the acceptance date and revision number of current(accepted/base-lined) version
Criticality Must, Want, or Optional
Tables to Capture RequirementsRequirements traceability is the ability to trace a system function or feature back to the requirement that mandates it.
These are used a lot, but the trend is to capture functional requirements via Use Cases accompanied with Supplementary Specifications (non-functional; glossary, etc.)In many cases these can be quite boring and ambiguous; better: the stories in Use Cases….
63
Requirement Explanation Requirement number: MSS-1.0
Requirement title: Process New Member Order
Requirement text: The system should be able to process new member orders. Within this process it should be able to validate member demographic information, verify credit worthiness, inquire and modify inventory levels based on quantity of product ordered, initiate backorder process in the event of insufficient inventory to fulfill order, and send an order confirmation notice once the order has been placed.
Requirement type: Functional
Requirement details and constraints
Member credit status will be obtained from the Account Receivable system. A picking ticket, containing the available ordered items, must be generated and routed to the warehouse.
Rev date and rev#: Version 1.0
Criticality Must
Requirement Explanation Requirement number: MSS - 14.0-
Requirement title: One Hour Order Confirmation Notice
Requirement text: An E-mail notice must be generated and sent to the member, within one hour from the time the member placed the order.
Requirement type: Performance
Requirement details and constraints
The member’s E-mail address must be stored on the system within the member’s profile. The one- hour constraint applies only to the sending of the notificationAnd not when it’s received by the member. Related requirement(s): MSS-1.0
Rev date and rev #: Version 1.0
Criticality Must
Partial List of Member Services System Requirements
64
System Architect Requirement Example