1 / 63

Modern Techniques in Requirements Gathering for Software Systems

Learn about identifying software, functional, technical, and data requirements using fact-finding methods like Use Case Modeling and interviews. Understand how to gather, document, and scope project requirements effectively.

hawkinsb
Download Presentation

Modern Techniques in Requirements Gathering for Software Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SYS366 Week 4, Lecture 1 Introduction to Requirements Gathering: Part 3 – Getting to Software Requirements

  2. Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method

  3. 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.

  4. Successful Project Requirements • Detailed plans • Organized, methodical sequence of tasks and activities

  5. 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

  6. 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

  7. 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?

  8. Requirements Gathering Scope of the System Functional Technical Data Requirements Requirements Requirements

  9. Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method

  10. 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

  11. 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

  12. Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method

  13. 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

  14. Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method

  15. 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

  16. 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!

  17. Today • Identifying Software Requirements • Functional Requirements • Technical Requirements • Data Requirements • Fact Finding Method

  18. 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

  19. Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD

  20. 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

  21. Interviews • We are going to concentrate on interview techniques; the rest of the slides explain the other methods for fact finding

  22. 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

  23. 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

  24. 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

  25. Determine who you are going to interview • Stakeholders • Operational staff will provide information about how the work is actually done

  26. Prepare for the interview • Structured Interview • Formal style • Requires significant preparation • Unstructured Interview • Informal • No pre-determined questions or objectives

  27. 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

  28. 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)

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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?

  34. 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

  35. The other fact finding methods • You can read the remaining slides for yourself • We are going to work on the Interview Template

  36. Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD

  37. 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

  38. 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

  39. Questionnaires • Similar process to interviewing • Determine who will receive the questionnaire • Design the questionnaire • Determine objective of questionnaire • Design questions • Follow up questionnaire

  40. 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

  41. 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

  42. 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)

  43. 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

  44. 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

  45. 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

  46. Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD

  47. 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

  48. 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

  49. 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)

  50. Fact Finding Methods • Interviews • Questionnaires • Review Documentation • Observation • Prototypes • JAD sessions • RAD

More Related