Determining System Requirements
Determining System Requirements
Requirements
Introduction
2
Systems Development Life Cycle (SDLC)
• Traditional methodology used to plan, analyze, develop,
maintain, and replace information systems.
• Phases in SDLC:
• Planning
• Analysis
• Design
• Implementation
• Maintenance
3
Traditional Waterfall SDLC
4
The Heart of the Systems Development Process
The analysis–design–code–test loop The heart of systems development
6
Adaptive Approaches: Agile
• Motivated by recognition of software development as fluid,
unpredictable, and dynamic
• Three key principles
• Adaptive rather than predictive
• Emphasize people rather than roles
• Self-adaptive processes
7
Agile Methodology
Agile Framework
Agile framework: SCRUM
Object-Oriented Analysis and Design (OOAD)
11
Rational Unified Process (RUP)
• An object-oriented systems development methodology
• RUP establishes four phase of development: inception, elaboration,
construction, and transition.
• Each phase is organized into a number of separate iterations.
12
Requirements
• Eliciting Requirements
• Expressing Requirements
• Prioritizing Requirements
• Analyzing Requirements
• Managing Requirements
• Eliciting vs Gathering
• Right product and product done right
Requirements
• Requirements are specific descriptions of your client's
needs
25
The Process of Determining Requirements
• Good Systems Analyst Characteristics:
• Impertinence—question everything
• Impartiality—consider all issues to find the best
organizational solution
• Relaxing constraints—assume anything is possible
• Attention to details—every fact must fit
• Reframing—challenge yourself to new ways
26
Deliverables and Outcomes
• Deliverables for Requirements Determination:
• From interviews and observations —interview transcripts,
observation notes, meeting minutes
• From existing written documents — mission and strategy
statements, business forms, procedure manuals, job descriptions,
training manuals, system documentation, flowcharts
• From computerized sources — Joint Application Design session
results, CASE repositories, reports from existing systems, displays
and reports from system prototype
27
Traditional Methods for Determining Requirements
• Interviewing individuals
• Interviewing groups
• Observing workers
• Studying business documents
• Group Techniques
• NGT
• Brainstorming
• Focus Groups
28
Guidelines for Effective Interviewing
• Interview Guide is a document for developing, planning and
conducting an interview.
• Plan the interview.
• Prepare interviewee: appointment, priming questions.
• Prepare agenda, checklist, questions.
• Listen carefully and take notes (record if permitted).
• Review notes within 48 hours.
• Be neutral.
• Seek diverse views.
29
Interviewing and Listening (Cont.)
30
Choosing Interview Questions
• Each question in an interview guide can include both verbal and non-
verbal information.
• Open-ended questions: questions that have no prespecified answers
• Closed-ended questions: questions that ask those responding to choose from
among a set of specified responses
31
Interviewing Groups
• Drawbacks to individual interviews:
• Contradictions and inconsistencies between interviewees
• Follow-up discussions are time consuming
• New interviews may reveal new questions that require additional interviews with
those interviewed earlier
• Interviewing several key people together
• Advantages
• More effective use of time
• Can hear agreements and disagreements at once
• Opportunity for synergies
• Disadvantages
• More difficult to schedule than individual interviews
32
Nominal Group Technique (NGT)
• A facilitated process that supports idea generation by groups
• Process
• Members come together as a group, but initially work separately.
• Each person writes ideas.
• Facilitator reads ideas out loud, and they are written on a blackboard or
flipchart.
• Group openly discusses the ideas for clarification.
• Ideas are prioritized, combined, selected, reduced.
• NGT exercise used to complement group meetings or as part of JAD
effort.
33
Directly Observing Users
• Direct Observation
• Watching users do their jobs
• Obtaining more firsthand and objective measures of employee interaction
with information systems
• Can cause people to change their normal operating behavior
• Time-consuming and limited time to observe
34
Analyzing Procedures and Other Documents
• Document Analysis
• Review of existing business documents
• Can give a historical and “formal” view of system requirements
35
Analyzing Procedures and Other Documents
• Types of information to be discovered:
• Problems with existing system
• Opportunity to meet new need
• Organizational direction
• Names of key individuals
• Values of organization
• Special information processing circumstances
• Reasons for current system design
• Rules for processing data
36
Contemporary Methods for Determining System
Requirements
• Joint Application Design (JAD)
• Group Support
Brainstorming
Focus Group
• CASE tools
• Used to analyze existing systems
• Help discover requirements to meet changing business conditions
• System prototypes (RAD)
• Iterative development process
• Rudimentary working version of system is built
• Refine understanding of system requirements in concrete terms
37
Joint Application Design (JAD)
• Intensive group-oriented requirements determination technique
• Team members meet in isolation for an extended period of time
• Highly focused
• Resource intensive
• Upper CASE Tools used for documentation
38
JAD (Cont.)
41
Prototyping During Requirements Determination
• Drawbacks
• Tendency to avoid formal documentation
• Difficult to adapt to more general user audience
• Sharing data with other systems is often not considered
• Systems Development Life Cycle (SDLC) checks are often bypassed
• Prototype may be discarded
42
Radical Methods for Determining System
Requirements
• Business Process Reengineering (BPR): search for and implementation of radical
change in business processes to achieve breakthrough improvements in products
and services
• Goals
• Reorganize complete flow of data in major sections of an organization.
• Eliminate unnecessary steps.
• Combine steps.
• Become more responsive to future change.
• Identification of processes to reengineer
• Key business processes
• Structured, measured set of activities designed to produce specific output for a particular customer or market
• Focused on customers and outcome
43
Requirements Determination using Agile
Methodologies
• Continual user involvement
• Replace traditional SDLC waterfall with iterative analyze – design – code – test
cycle
• Agile usage-centered design
• Focuses on user goals, roles, and tasks
• The Planning Game
• Based on eXtreme programming
• Exploration, steering, commitment
44
Agile Usage-Centered Design Steps
• Gather group of programmers, analysts, users, testers, facilitator.
• Document complaints of current system.
• Determine important user roles.
• Determine, prioritize, and describe tasks for each user role.
• Group similar tasks into interaction contexts.
• Associate each interaction context with a user interface for the system and
prototype the interaction context.
• Step through and modify the prototype.
45
The Planning Game from eXtreme
Programming
46