630 likes | 641 Views
SYS366. Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements. Today. Identifying Software Requirements Functional Requirements Technical Requirements Data Requirements Fact Finding Method. Identifying Software Requirements.
E N D
SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements
Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method
Identifying Software Requirements • “Software Requirements specify the things that the software does on behalf of the user or another system.” * * Use Case Modeling, by Bittner & Spence, page 6.
Successful Project Requirements • Detailed plans • Organized, methodical sequence of tasks and activities
Requirements Gathering • Analyst needs to find out what the user requires in the new system or what the user requires to be changed in an existing system • Gather the requirements by doing fact finding • Document the requirements
Requirements Gathering • For an existing system, analyst needs to find out: • Functionality • Some of the functionality of the existing system will be included in the new system (can be acquired from existing documentation and code) • Data needs • Some of the data of the existing system will need to be migrated into the new system
Requirements Gathering • For a new system, analyst needs to find out: • Functionality • What are the activities the system needs to perform? • How is the user to interact with the system? • Are other systems to interact with the system? • Data needs • What information is needed?
Requirements Gathering Scope of the System Functional Technical Data Requirements Requirements Requirements
Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method
Functional Requirements • Describe what a system does or is expected to do • Include: • Descriptions of the processing which the system will be required to carry out
Functional Requirements • Include: • Details of the inputs into the system from paper forms and documents or the interactions between people and the system or transfers from other systems • Details of the outputs that are expected from the system in the form of printed documents and reports, screen displays and transfers to other systems
Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method
Technical Requirements • Describe the aspects of the system that are concerned with how well it provides the functional requirements. • Include: • Performance criteria • Anticipated volumes of data • Security requirements (let’s talk about the Bank of Montreal!) • Privacy Requirements
Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method
Data Requirements • Describe what information the system is going to need or produce – really a part of Functional and Technical Requirements • Include • Details of the data that must be held in the system
Themes To Guide Investigation • What are business processes and operations? • How should the business processes be performed? • What are the information requirements? Understand the Users’ Needs!
Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method
Fact Finding Methods • Conduct interviews and discussion with users • Distribute and collect stakeholder questionnaires • Review existing reports, forms, and procedure descriptions • Observe business processes and workflows • Build prototypes • Conduct JAD sessions
Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD
Interviews • Primary technique for fact finding and information gathering • Most effective way to understand business functions and business rules • Usually requires multiple sessions • Usually conducted with customers/clients/users • Clients are not always able to express their requirements clearly it is up to the analyst to ask the right questions to help the client express their requirements
Interviews • We are going to concentrate on interview techniques; the rest of the slides explain the other methods for fact finding
Conducting effective interviews • Determine who you are going to interview • Know what information that stakeholder can provide for you • Prepare for the interview • Conduct the interview • Follow up on the interview
Determine who you are going to interview • Can be business or technical stakeholders • Business stakeholders provide the functional and data requirements • Technical stakeholders provide the technical and data requirements
Determine who you are going to interview • Stakeholders • Executives • Will provide information related to strategic issues about the business • Need statistical and summary information • Management • Will provide a broad perspective about the business as well as information about the system being developed • Need statistical and summary information
Determine who you are going to interview • Stakeholders • Operational staff will provide information about how the work is actually done
Prepare for the interview • Structured Interview • Formal style • Requires significant preparation • Unstructured Interview • Informal • No pre-determined questions or objectives
Structured Interview • Preparing for the interview • Establish the objectives for the interview • Have a clear agenda • Prepared in advance with a list of open and closed ended questions • Set the time and location for the interview • Inform all participants of the objective, time and location
Structured Interview • Questions • Questions should allow you to keep on track and avoid getting off topic during the interview • Questions can be prepared from any of the following: • Observations made when existing form and reports may have been reviewed • Observations made when reviewing the strategic, tactical or operational plans • Observations made when observing employees doing current job tasks • Keep length of questions reasonable (15-20 words or less)
Structured Interview • Questions • Phrase questions to avoid misunderstandings - use simple terms and wording • Do not ask questions that give clues to expected answers • Avoid asking two questions in one • Do not ask questions that can raise concerns about job security or other negative issues
Structured Interview • Questioning Strategies Top Down How can order processing be improved? How can we reduce the number of times that customers return items they’ve ordered? How can we eliminate shipping the wrong products? High-level: very general Medium-level: moderately specific Bottom UP Low-level: very specific
Structured Interview • Questions • Open ended questions • Encourages unstructured responses and generates discussion • Useful when you need to understand a larger process or to draw out opinions or suggestions from the person being interviewed
Structured Interview • Questions • Closed ended questions • Limited or restricted response – a simple definitive answer • Used to get information that is more specific or when you need to verify facts
Structured Interview • Sample interview questions • Open-ended • What do you think about the current system? • How do you decide what type of marketing campaigns to run? • Closed-ended • How do customers place orders? • How many orders to you receive a day?
Structured Interview • Conduct the interview • Dress appropriately; Arrive on time • Welcome the participants; introduce the attendees; state the objective and agenda • Ask permission if you want to tape record the interview • Ask questions from script • Listen closely to the interviewee and encourage them to expand on key points • Take thorough notes • Identify and document unanswered questions • At end of interview, review outstanding questions that require follow up • Set date and time for the next, follow-up interview
The other fact finding methods • You can read the remaining slides for yourself • We are going to work on the Interview Template
Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD
Questionnaires • A document which contains a number of questions • Can be paper form or electronic form (email or web-based) • Allows the analyst to collect information from a large number of people • People outside the organization (i.e. , customers) • Business users spread across a large geographic area
Questionnaires • Limited and specific information from a large number of stakeholders • Preliminary insight • Not well suited for gathering detailed information • Open-ended questions vs. close-ended questions
Questionnaires • Similar process to interviewing • Determine who will receive the questionnaire • Design the questionnaire • Determine objective of questionnaire • Design questions • Follow up questionnaire
Questionnaires • Determine who will receive the questionnaire • Select a sample audience who are representative of an entire group • Assume 30-50% return rate for paper and email questionnaires • Assume a 5-30% return rate for web-based questionnaires
Questionnaires • Design the Questionnaire • Clearly state the following in the questionnaire: • The purpose of the questionnaire • Why the respondent was selected to receive the questionnaire • When the questionnaire is to be returned
Questionnaires • Design the Questionnaire • Let the respondent know when/where they can see the accumulated questionnaire responses • Consider providing an inducement to have the respondent complete the questionnaire (I.e. a pen)
Questionnaires • Design the Questionnaire • Keep the questionnaire brief and user friendly • Provide clear instructions on how to complete the questionnaire • Arrange the questions in a logical order; going from easy to more complex topics
Questionnaires • Design the Questionnaire • Phrase questions to avoid misunderstandings, use simple terms and wording • Do not ask questions that give clues to expected answers • Avoid asking two questions in one • Limit the use of open ended questions that will be difficult to tabulate
Questionnaires • Design the Questionnaire • Do not ask questions that can raise concerns about job security or other negative issues • Include a section at the end of the questionnaire for general comments • Test the questionnaire whenever possible on a small test group before finalizing it
Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD
Review Existing Reports, Forms, and Procedure Descriptions • Purposes • Preliminary understanding of processes • Guidelines / visual cues to guide interviews • Identify business rules, discrepancies, and redundancies • Be cautious of outdated material
Reviewing existing documentation • Most beneficial to new employees or consultants hired to work on a project • Types of documentation that is reviewed: • Company reports • Organization charts • Policy and Procedures manuals • Job Descriptions • Documentation of existing systems
Reviewing existing documentation • Allows the analyst to get an understanding of the organization prior to meeting with employees • Allows the analyst to prepare questions for either interviews or questionnaires (other fact finding techniques)
Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD