31
CIB 3103 Object Oriented Analysis and Design Requirements Determination

CIB 3103: Requirements Capture

Embed Size (px)

Citation preview

Page 1: CIB 3103: Requirements Capture

CIB 3103 Object Oriented Analysis and

Design

Requirements Determination

Page 2: CIB 3103: Requirements Capture

Learning Objectives• Learn how to create a requirements definition• Learn various requirements analysis techniques• Learn when to use each requirements analysis

techniques• Learn how to gather requirements using

interviews, JAD sessions, questionnaires, document analysis & observation

• Learn various requirements documentation techniques such as concept maps, story cards & task-lists

• Understand when to use each requirements-gathering technique

• Be able to begin the creation of a system proposal

Page 3: CIB 3103: Requirements Capture

IntroductionThe systems development process transforms the

existing (as is) system into the proposed (to be) system

Requirements determinationThe single most critical step of the entire SDLCChanges can be made easily in this stageMost (>50%) system failures are due to problems with

requirementsThe iterative process of OOSAD is effective because:

Small batches of requirements can be identified and implemented incrementally

The system will evolve over time

Page 4: CIB 3103: Requirements Capture

Requirements Determination

Purpose: to convert high level business requirements (from the system request) into detailed requirements that can be used as inputs for creating models

What is a requirement?A statement of what the system must do or a

characteristic it must haveWill later evolve into a technical description of how the

system will be implementedTypes:

Functional: relates to a process or dataNon-functional: relates to performance or usability

Page 5: CIB 3103: Requirements Capture

Nonfunctional Requirements

Page 6: CIB 3103: Requirements Capture

Requirements DefinitionFunctional & non-functional requirements listed

in outline formatMay be prioritizedProvides information needed in subsequent

workflowsDefines the scope of the system

Page 7: CIB 3103: Requirements Capture

Determining Requirements

Business & IT personnel need to collaborateStrategies for effective results:

Business Process Analysis (BPA)Business Process Improvement (BPI)Business Process Reengineering (BPR)

Page 8: CIB 3103: Requirements Capture

Determining Requirements

Requirements are best determined by systems analysts and business people together

Strategies for analyzing the requirements Business Process Analysis (BPA) Business Process Improvement (BPI) Business Process Reengineering (BPR)

Techniques for identifying requirements Interviews, questionnaires and/or observation Joint application development (JAD)Document analysis

Page 9: CIB 3103: Requirements Capture

Creating a Requirements Definition

Determine the types of functional and non-functional requirements applicable to the project

Use requirements-gathering techniques to collect details

Analysts work with users to verify, change and prioritize each requirement

Continue this process through analysis workflow, but be careful of scope creep

Requirements that meet a need but are not within the current scope can be added to a list of future enhancements

Page 10: CIB 3103: Requirements Capture

Problems in Requirements Determination

Analyst may not have access to the correct users

Requirements specifications may be inadequate

Some requirements may not be known in the beginning

Verifying and validating requirements can be difficult

Page 11: CIB 3103: Requirements Capture

Requirements Analysis Strategies

Business Process Automation (BPA)Least amount of change to the current systemUse computer technology to automate some portions

Business Process Improvement (BPI)Moderate amount of change is requiredDesigned to improve efficiency of the current system

Business Process Reengineering (BPR)Most amount of change—a complete makeoverFocus is on the to-be system—little time spent on the

current system

Page 12: CIB 3103: Requirements Capture

Business Process Automation

TechniquesProblem analysis

Ask users to identify problems with the current systemAsk users how they would solve these problemsGood for improving efficiency or ease-of-use

Root cause analysisFocus is on the cause of a problem, not its solutionCreate a prioritized list of problemsTry to determine their causesOnce the causes are known, solutions can be

developed

Page 13: CIB 3103: Requirements Capture

Business Process Improvement

Techniques:Duration analysis

Determine the time required to complete each step in a business process

Compare this to the total time required for the entire process

Large differences suggest problems that might be solved by: Integrating some steps together Performing some steps simultaneously (in parallel)

Activity-based costing—same as duration analysis but applied to costs

Informal benchmarking—analyzes similar processes in other successful organizations

Page 14: CIB 3103: Requirements Capture

Business Process Reengineering

Institutes maximum change: “Out with the old and in with the new”

Techniques:Outcome analysis—what does the customer want

in the end?Technology analysis—apply new technologies to

business processes & identify benefitsActivity elimination—eliminate each activity in a

business process in a “force-fit” exercise

Page 15: CIB 3103: Requirements Capture

Selecting An Appropriate Strategy

Page 16: CIB 3103: Requirements Capture

Fact Finding TechniquesProcess is used to:

Uncover all requirements (those uncovered late in the process are more difficult to incorporate)

Build support and trust among usersWhich technique(s) to use?

Interviews Joint Application Development (JAD)QuestionnairesDocument analysisObservation

Page 17: CIB 3103: Requirements Capture

InterviewsMost popular technique—if you need to know

something, just askProcess:

Select people to interview & create a scheduleDesign interview questions (Open-ended, closed-

ended, & probing types of questions)Prepare for the interview (Unstructured vs.

structured interview organized in a logical order)Conduct the interview (Top-down vs. bottom-up)Follow-up after the interview

Page 18: CIB 3103: Requirements Capture

Question Types

Page 19: CIB 3103: Requirements Capture

Interviewing Strategies

Howcan order

processing beimproved?

How can we reduce thenumber of times that customers

return ordered items?

How can we reduce the number oferrors in order processing (e.g., shipping

the wrong products)?

Top-down

Bottom-up

High-level:Very general

Medium-level:Moderately specific

Low-level:Very specific

Page 20: CIB 3103: Requirements Capture

Post-InterviewPrepare notes and send to the interviewee for verification

Page 21: CIB 3103: Requirements Capture

Joint Application Development (JAD)

Joint user-analyst meeting hosted by a facilitator10 to 20 users1 to 2 scribes as needed to record the sessionUsually in a specially prepared room

Meetings can be held electronically and anonymouslyReduces problems in group settingsCan be held remotely

Sessions require careful planning to be successful Users may need to bring documents or user manualsGround rules should be established

Page 22: CIB 3103: Requirements Capture

QuestionnairesA set of written questions used to obtain

information from individualsMay be paper based or electronic (e.g., web

based)Common uses:

Large numbers of people Need both information and opinions When designing for use outside the organization

(customers, vendors, etc.)

Typical response rates: < 50% (paper); < 30% (Web)

Page 23: CIB 3103: Requirements Capture

Questionnaire StepsSelect the participants

Identify the population Use representative samples for large populations

Designing the questionnaire Careful question selection Remove ambiguities

Administering the questionnaire Working to get good response rate Offer an incentive (e.g., a free pen)

Questionnaire follow-up Send results to participants Send a thank-you

Page 24: CIB 3103: Requirements Capture

Good Questionnaire Design

Begin with non-threatening and interesting questions

Group items into logically coherent sections

No important items at the very endDo not crowd a page with too many itemsAvoid abbreviationsAvoid biased or suggestive items or termsNumber questions to avoid confusionPretest to identify confusing questionsProvide anonymity to respondents

Page 25: CIB 3103: Requirements Capture

Document AnalysisProvides information about the “as-is”

systemReview technical documents when

availableReview typical user documents:

FormsReportsPolicy manuals

Look for user additions to formsLook for unused form elements

Page 26: CIB 3103: Requirements Capture

ObservationUsers/managers often don’t remember

everything they doChecks validity of information gathered in other

waysBehaviors may change when people are

watchedWorkers tend to be very careful when watchedKeep a low profileTry not to interrupt or influence workers

Be careful not to ignore periodic activitiesWeekly … Monthly … Annually

Page 27: CIB 3103: Requirements Capture

Fact Finding Techniques Compared

A combination of techniques may be usedDocument analysis & observation require little

training; JAD sessions can be very challenging

Page 28: CIB 3103: Requirements Capture

Alternative TechniquesConcept Maps

Represent meaningful relationships between concepts

Focus individuals on a small number of key ideasStory Cards & Task Lists

Associated with agile development methodsFile cards with a single requirementEach requirement is discussed

How much effort is required to implement itA task list is created for each requirement (story)Large requirements can be split into smaller sections

Page 29: CIB 3103: Requirements Capture

The System ProposalCombines all material created in planning &

analysisIncluded sections:

Executive summaryProvides all critical information is summary formHelps busy executives determine which sections they

need to read in more detailThe system requestThe workplanThe feasibility analysisThe requirements definitionCurrent models of the system (expected to evolve)

Page 30: CIB 3103: Requirements Capture

System Proposal Template

Page 31: CIB 3103: Requirements Capture

Summary

Presented in this chapter:Discussion of functional and non-functional

requirements determinationRequirements analysis strategiesRequirements gathering techniquesAlternative requirements documentation

techniquesThe system proposal