C H A P T E R 6 REQUIREMENTS DISCOVERY 1 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. Problem 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!!! 3 Types of Requirements A 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….. 5 An Ambiguous Requirements Statement Requirement: Create a means to transport a single individual from home to place of work. Management Interpretation IT Interpretation User Interpretation 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. 8 Results of Incorrect Requirements The 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!) 9 Relative Cost to Fix an Error Phase in Which Found Cost Ratio Requirements 1 Design 3-6 Coding 10 Development Testing 15-40 Acceptance Testing 30-70 Operation 40-1000 10 Criteria to Define System Requirements Consistent – Requirements not conflicting/ambiguous Complete – Requirements describe all possible inputs and responses Feasible – Requirements can be satisfied based on available resources and constraints Required – Requirements truly needed Accurate – Requirements stated correctly Traceable – Requirements directly map to the functions / features of the system Verifiable – Requirements are defined so that they can be demonstrated during testing. 11 The Process of Requirements Discovery – Four Activities Activity 1. Problem discovery and analysis Be sure to treat the cause and not the symptom See the Fishbone diagram (next slide) 12 Ishikawa Diagram The 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: methods materials, contracts, … Causes come ‘under’ (point to) a category… Main problem of interest is at the head. 13 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 necessary, this is particularly necessary during Requirements Analysis 14 Seven Fact-Finding Methods Need 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). 15 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…) 16 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 17 requirements; sometimes prioritize requirements Activity 3. Documenting & Analyzing Requirements (continued.) C) Formalizing Requirements. Document serves as a contract May go through many versions before acceptance No standard format Many 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. 18 A ‘living document.’ Final draft must be Validated!!! 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. 19 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 20 Requirements Discovery Methods 1. 2. 3. 4. 5. 6. 7. Sampling Research / Site Visits Observation in Work Place Questionnaires Interviews Discovery Prototyping Use Cases 21 Requirements Discovery - Sampling 1. 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 22 misused or not used…) Requirements Discovery – Research / Site Visit 2. Research and Site Visit Sometimes 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. 23 Requirements Discovery - Observation 3. 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 24 a large number of observations taken at random Observation Guidelines Determine 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. 25 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. 26 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 analysis requires much time what does “good” mean? Avoid key words… Fixed-format questionnaires contain questions that require selection of predefined responses from individuals. 27 easy to tabulate Types of Fixed-Format Questions Multiple-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… 28 Questionnaire Procedure 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. 1. 29 Requirements Discovery - Interviews 5. Interviews are a fact-finding technique whereby the systems analysts collect information from individuals through face-to-face interaction. Advantages? Disadvantages? 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 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 30 requirements, solicit ideas / opinions… Types of Interviews Unstructured 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. 31 Types of Interview Questions Open-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, …. 32 Procedure to Conduct an Interview 1. Select Interviewees 1. 2. 3. 4. 2. Prepare for the Interview 1. 3. An interview guide is a checklist of specific questions the interviewer will ask the interviewee. Conduct the Interview (Some of these are repeated ahead) 1. 2. 3. 4. See organizational chart for responsibilities Make appointment Learn about individual ahead of time Limit time to <= 30 minutes Warm handshake and smile; Keep interviewee at ease. Record interview? Take notes? pros and cons.. Follow Up on the Interview 1. 2. 3. ALWAYS send a follow-up summarizing the interview. Allows any changes / misconceptions derived; Offers opportunity to add/clarify information that didn’t surface… 33 Interview Questions Types 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. 34 Sample Interview Guide Interviewee: Jeff Bentley, Accounts Receivable Manager Date: Tuesday, March, 23, 2000 Time: 1:30 P.M. Place: Room 223, Admin. Bldg. Subject: Current Credit-Checking Policy Time Allocated Interviewer Question of Objective Interviewee Response 1 to 2 min. Objective Open 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 1 What conditions determine whether a customer’s order is approved for credit? Follow-up 5 min. Question 2 What are the possible decisions or actions that might be taken once these conditions have been evaluated? Follow-up 3 min. Question 3 How are customers notified when credit is not approved for their order? Follow-up (continued) 35 Sample Interview Guide (concluded) 1 min. Question 4 After a new order is approved for credit and placed in the file containing orders that can be filled, a customer might request that a modification be made to the order. Would the order have to go through credit approval again if the new total order cost exceeds the original cost? Follow-up 1 min. Question 5 Who are the individuals that perform the credit checks? Follow-up 1 to 3 mins. Question 6 May I have permission to talk to those individuals to learn specifically how they carry out the credit-checking process? Follow-up 1 min. Objective Conclude the interview: • Thank Mr. Bentley for his cooperation and assure him that he will be receiving a copy of what transpired during the 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: 36 Interviewing Do’s and Don’ts Do Be courteous Listen carefully Maintain control Probe Observe mannerisms and nonverbal communication Be patient Keep interviewee at ease Maintain self-control Avoid Continuing an interview unnecessarily. Assuming an answer is finished or leading nowhere. Revealing verbal and nonverbal clues. Using jargon Revealing your personal biases. Talking instead of listening. Assuming anything about the topic and the interviewee. Tape recording -- a sign of poor listening skills. 37 Communicating With the User Listening - “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 38 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… 39 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! 40 Spatial Zones Intimate zone—closer than 1.5 feet Personal 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 feet Sometimes 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. 41 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. 42 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. 43 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. 44 Joint Requirements Planning Dissatisfaction 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. 45 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.. 46 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. 47 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 48 ‘feasibility.’ Steps to Plan a JRP Session 0. Three to five days – or more; much planning on ‘scope.’ Develop high level requirements/expectations of each session 1. May involve selected individuals who are responsible for departments / functions that are to be addressed by the project. 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 participants 1. 2. 3. 4. Sometimes JRP leader is outside the organization – or not. Scribes – taken from organization’s IT professionals. All IT individuals assigned to the project team are usually involved in the JRP session. Other IT specialists may be needed.. 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. 49 Typical room layout for JRP session 41' 0" Food & Refreshments IT Professionals & Other Observers Scribe Flipchart Workstation (for CASE tool) Users and Managers Computer Projection Device 30' 0" Scribe Blackboard Overhead Projector JAD Facilitator Printer Workstation (for prototyping tool) IT Professionals & Other Observers Scribe 50 Guidelines for Conducting a JRP Session Do not unreasonably deviate from the agenda Stay on schedule Ensure that the scribe is able to take notes Avoid the use of technical jargon Apply conflict resolution skills Allow for ample breaks Encourage group consensus Encourage user and management participation without allowing individuals to dominate the session Make sure that attendees abide by the established ground rules for the session 51 Brainstorming Brainstorming 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. 52 Brainstorming Guidelines Isolate 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 occur Absolutely no criticism, analysis, or evaluation of any kind permitted while ideas are being generated. 53 Emphasize quantity of ideas not necessarily quality. 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 environment When JRP incorporates prototyping as a means for confirming requirements and obtaining design approvals, the benefits of prototyping are realized 54 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. 55 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. 56 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! 57 Example of a High-Level Use Case Author: S. Shepard Date: 03/01/200 Use Case Name: Create New Member Order Actors: Member Description: This use case describes the process of a member submitting an order for SoundStage products. On completion, the member will be sent a notification that the order was accepted. 58 You have seen many examples of use cases by now… But study these in earnest for next examination – probably June 13th, Friday… 59 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. 60 Requirements Using Tables 61 Tables to Capture Requirements Requirements traceability is the ability to trace a system function or feature back to the requirement that mandates it. 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 Rev date and rev #: Functional characteristics or dimensions Criticality Indicate the acceptance date and revision number of current (accepted/base-lined) version Must, Want, or Optional These are used a lot, but the trend is to capture functional requirements via Use Cases accompanied with Supplementary Specifications (non-functional; glossary, etc.) 62 In many cases these can be quite boring and ambiguous; better: the stories in Use Cases…. Partial List of Member Services System Requirements 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. Functional Requirement type: Requirement details and constraints Rev date and rev#: 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. 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. Performance Requirement type: Rev date and rev #: 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 notification And not when it’s received by the member. Related requirement(s): MSS-1.0 Version 1.0 Criticality Must Requirement details and constraints 63 System Architect Requirement Example 64