Requirements discovery – the process and techniques used by systems analysts to identify or extract system problems and solution requirements from the user community.
System requirement – something that the information system must do or a property that it must have. Also called a business requirement.
Functional vs. Nonfunctional Requirements
Functional requirement - something the information system must do
Nonfunctional requirement - a property or quality the system must have
Performance
Security
Costs
Results of Incorrect Requirements
The system may cost more than projected.
The system may be delivered later than promised.
The system may not meet the users’ expectations and they may not to use it.
Once in production, costs of maintaining and enhancing system may be excessively high.
The system may be unreliable and prone to errors and downtime.
Reputation of IT staff is tarnished as failure will be perceived as a mistake by the team.
Relative Cost to Fix an Error
Criteria for System Requirements
Consistent – not conflicting or ambiguous.
Complete – describe all possible system inputs and responses.
Feasible – can be satisfied based on the available resources and constraints.
Required – truly needed and fulfill the purpose of the system.
Accurate – stated correctly.
Traceable – directly map to functions and features of system.
Verifiable – defined so can be demonstrated during testing.
Process of Requirements Discovery
Problem discovery and analysis
Requirements discovery
Documenting and analyzing requirements
Requirements management
Ishikawa Diagram
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.
Problem at right (fish head)
Possible causes drawn as "bones" off main backbone
Brainstorm for 3-6 main categories of possible causes
Fact-finding – the formal process of using research, meetings, interviews, questionnaires, sampling, and other techniques to collect information about system problems, requirements, and preferences. It is also called information gathering or data collection.
Requirements Definition Document – A formal document that communicates the requirements of a proposed system to key stakeholders and serves as a contract for the systems project.
Synonyms
Requirements definition report
Requirements statement
Requirements specification
Functional specifications
Sample Requirements Definition Report Outline
Requirements Management
Requirements management - the process of managing change to the requirements.
Over the lifetime of the project it is very common for new requirements to emerge and existing requirements to change.
Studies have shown that over the life of a project as much as 50 percent or more of the requirements will change before the system is put into production.
Fact-Finding Ethics
Fact-Finding often brings systems analysts into contact with sensitive information.
Company plans
Employee salaries or medical history
Customer credit card, social security, or other information
Ethical behavior
Systems analysts must not misuse information.
Systems analysts must protect information from people who would misuse it.
Otherwise
Systems analyst loses respect, credibility, and confidence of users and management, impairing ability to do job
Organization and systems analyst could have legal liability
Systems analyst could lose job
Seven Fact-Finding Methods
Sampling of existing documentation, forms, and databases.
Persons in organization who have understanding of problem
Business functions that support the present system
Type of data to be collected and reported by the system
Questions that need to be covered in interviews
Why to Sample Completed Rather than Blank Forms
Can determine type of data going into each blank
Can determine size of data going into each blank
Can determine which blanks are not used or not always used
Can see data relationships
Observation
Observation – a fact-finding technique wherein the systems analyst either participates in or watches a person perform activities to learn about the system.
Advantages?
Disadvantages?
Work sampling - a fact-finding technique that involves a large number of observations taken at random intervals.
Observation
Data gathered can be very reliable
Can see exactly what is being done in complex tasks
Relatively inexpensive compared with other techniques
People may perform differently when being observed
Work observed may not be representative of normal conditions
Timing can be inconvenient
Interruptions
Some tasks not always performed the same way
May observe wrong way of doing things
Advantages
Disadvantages
Observation Guidelines
Determine the who, what, where, when, why, and how of the observation.
Obtain permission from appropriate supervisors.
Inform those who will be observed of the purpose of the observation.
Keep a low profile.
Take notes.
Review observation notes with appropriate individuals.
Don't interrupt the individuals at work.
Don't focus heavily on trivial activities.
Don't make assumptions.
Questionnaires
Questionnaire – a special-purpose document that allows the analyst to collect information and opinions from respondents.
Free-format questionnaire – a questionnaire designed to 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.
Fixed-format questionnaire – a questionnaire containing questions that require selecting an answer from predefined available responses.
Questionnaires
Often can be answered quickly
People can complete at their convenience
Relatively inexpensive way to gather data from a large number
Allow for anonymity
Responses can be tabulated quickly
Return rate is often low
No guarantee that an individual will answer all questions
No opportunity to reword or explain misunderstood questions
Rank the following transactions according to the amount of time you spend processing them. ___ % new customer orders ___ % order cancellations
___ % order modifications
___ % payments
The implementation of quality discounts would cause an increase in customer orders. ___ Strongly agree ___ Agree
___ No opinion
___ Disagree ___ Strongly disagree
Is the current accounts receivable report that you receive useful? ___ Yes ___ No
Developing a Questionnaire
Determine what facts and opinions must be collected and from whom you should get them.
Based on the facts and opinions sought, determine whether free- or fixed-format questions will produce the best answers.
Write the questions.
Test the questions on a small sample of respondents.
Duplicate and distribute the questionnaire.
Interviews
Interview - a fact-finding technique whereby the systems analysts collect information from individuals through face-to-face interaction.
Find facts
Verify facts
Clarify facts
Generate enthusiasm
Get the end-user involved
Identify requirements
Solicit ideas and opinions
The personal interview is generally recognized as the most important and most often used fact-finding technique.
Types of Interviews and Questions
Unstructured interview –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.
Structured interview –interviewer has a specific set of questions to ask of the interviewee.
Open-ended question – question that allows the interviewee to respond in any way.
Closed-ended question – a question that restricts answers to either specific choices or short, direct responses.
Interviews
Give analyst opportunity to motivate interviewee to respond freely and openly
Allow analyst to probe for more feedback
Permit analyst to adapt or reword questions for each individual
Discovery prototyping – the act of building a small-scale, representative or working model of the users’ requirements in order to discover or verify those requirements.
Discovery Prototyping
Can experiment to develop understanding of how system might work
Aids in determining feasibility and usefulness of system before development
Serves as training mechanism
Aids in building test plans and scenarios
May minimize time spent on fact-finding
Developers may need to be trained in prototyping
Users may develop unrealistic expectations
Could extend development schedule
Advantages
Disadvantages
Joint Requirements Planning
Joint requirements planning (JRP) – 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 Participants
Sponsor
Facilitator
Users and Managers
Scribes
IT Staff
Steps to Plan a JRP Session
Selecting a location
Away from workplace when possible
Requires several rooms
Equipped with tables, chairs, whiteboard, overhead projectors
Needed computer equipment
Selecting the participants
Each needs release from regular duties
Preparing the agenda
Briefing documentation
Agenda distributed before each session
Typical Room Layout for JRP session
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
Brainstorming
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 this purpose.
Brainstorming – a technique for generating ideas by encouraging participants to offer as many ideas as possible in a short period of time without any analysis until all the ideas have been exhausted.
Brainstorming Guidelines
Isolate appropriate people in a place that free from distractions and interruptions.
Make sure everyone understands purpose of the meeting.
Appoint one person to record ideas.
Remind everyone of brainstorming rules.
Within a specified time period, team members call out their ideas as quickly as they can think of them.
After group has run out of ideas and all ideas have been recorded, then and only then should ideas be evaluated.
Refine, combine, and improve ideas generated earlier.
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.
When JRP incorporates prototyping as a means for confirming requirements and obtaining design approvals, the benefits of prototyping are realized
A Fact-Finding Strategy
Learn from existing documents, forms, reports, and files.
If appropriate, observe the system in action.
Given all the facts that already collected, design and distribute questionnaires to clear up things that aren’t fully understood.
Conduct interviews (or group work sessions).
(Optional). Build discovery prototypes for any functional requirements that are not understood or for requirements that need to be validated.