Requirement Gathering Fall 2006/1385 Semester 1 Sources • Gather information on what system should do from many sources – Users – Reports – Forms – Procedures Sharif Univ. of Tech. 2 Before you start gathering requirements... • Identify Stakeholders. • Develop a problem statement • Develop a “vision” - The project vision aligns all project participants in a common and clearly expressed direction. The vision describes what the project is about and what the product could ultimately become in a perfect world. * Sharif Univ. of Tech. 3 What are some common software requirements? • • • • • • • • • Business rules - “Inventory shipments come on the 25th” Budget - “We only have $1,000 for this project” Interface - “We need a web enabled sales entry system” Reports or outputs - “Stock check; monthly or weekly summaries on ...” Performance - “There might be 5000 concurrent users …” Project Completion Date - “Oh, I need that next week …” Security - “Everyone must have their own login and can see..” Hardware - “We don’t want to buy additional hardware…14’’ screens will have to do.” Software - “Everything must coded in Java and XML…” Sharif Univ. of Tech. 4 Requirements Continued... • Error - Embedded system for the fire sprinklers; financial. • User level - “Mary has been dying to learn Windows...” • System maintenance - “Jack, our stock guy, he can…” • System location - “The server is located in Dallas and we connect using this here modem. Just wiggle the cord...” • No subcontracting - “Due to confidentiality, we ask…” Sharif Univ. of Tech. 5 Requirements Gathering Techniques • • • • • • • • • • Review Existing Documents. Review current system input and outputs. Interviews. Role playing. Research Existing Solutions. Storyboarding. Prototypes. Questionnaires. Brainstorming and idea reduction. Workshop. Sharif Univ. of Tech. 6 Interviews Sharif Univ. of Tech. 7 Interviews • At first you should try to find right people. • This depends on what kind of information you are looking for. • Grouping interview: – More effective use of time. – Enables people to hear opinions of others and to agree or disagree. – Difficulty in scheduling Sharif Univ. of Tech. 8 Interviews -- Five Basic Steps • Selecting interviewees – Based on information needed – Often good to get different perspectives • • • • Designing interview questions Preparing for the interview Conducting the interview Post-interview follow-up Sharif Univ. of Tech. 9 Interview Questions • Ask Open-Ended Questions. – What do you think about the current system? – What are some of the problems you face on a daily basis? • Avoid asking questions like: – Why? – For what? • Do not phrase questions in ways that imply a wrong or right answer • Avoid asking people to describe things they don’t usually describe. Sharif Univ. of Tech. 10 Interview Preparation Steps • Prepare general interview plan – List of question – Anticipated answers and follow-ups • Confirm areas of knowledge • Set priorities in case of time shortage • Prepare the interviewee – Schedule – Inform of reason for interview – Inform of areas of discussion • Sometimes it is better not to use tape recorder. • You should know the domain and also the characteristics of the interviewee. Sharif Univ. of Tech. 11 Conducting the Interview • Appear professional and unbiased • Record all information • Check on organizational policy regarding tape recording • Be sure you understand all issues and terms • Separate facts from opinions • Give interviewee time to ask questions • Be sure to thank the interviewee • End on time Sharif Univ. of Tech. 12 Conducting the Interview Practical Tips • • • • • • • Don’t worry, be happy Pay attention Summarize key points Be succinct Be honest Watch body language Listen and Listen and Listen. Sharif Univ. of Tech. 13 Post-Interview Follow-Up • Prepare interview notes • Prepare interview report with in 48 hours. • Look for gaps and new questions • Send interviewee a report to confirm the information. Sharif Univ. of Tech. 14 Questionnaires Sharif Univ. of Tech. 15 Questionnaires • Good for large groups • An average response level is usually around 10%, if there is no threat from the boss. • When you used correctly, questionnaires can be an excellent supplement to interviewing data. • A user can’t tip you off to explore different problem areas with a questionnaire easily. They will want to get through with it as soon as possible, not to mention subjective answers will usually be too brief. Sharif Univ. of Tech. 16 Good Questionnaire Design • Begin with non-threatening and interesting questions • Group items into logically coherent sections • Do not put important items at the very end of the questionnaire • Do not crowd a page with too many items • Avoid abbreviations • Avoid biased or suggestive items or terms • Number questions to avoid confusion • Pretest the questionnaire to identify confusing questions • Provide anonymity to respondents Sharif Univ. of Tech. 17 Storyboarding/Prototyping Sharif Univ. of Tech. 18 Storyboarding/Prototyping • Passive storyboards - sketches, pictures, screenshots, Powerpoint presentations, or sample outputs. Use stick figures. • Active storyboards - automated slide presentation or movie describing the way the system behaves. • Interactive storyboards - require participation by the user. Throw away code. Sample interface or reporting outputs; very close to a throwaway prototype. • Storyboard elements: – Who are the players – What happens to them – How it happens Sharif Univ. of Tech. 19 Storyboarding/Prototyping Continued... • Don’t invest too much in the prototype. A throwaway prototype shouldn’t take more than a week to build. Customers will be intimidated to make changes if it looks to close to the real thing. • If the prototype looks too good, customers will want it now or assume that you are almost done. “So you are pretty much done, right?” • Have backup plans. Bring a paper version of a interactive prototype. – What prevents a client from taking your code and giving to another developer? “Here is what we want and you can do this for a better price, right?” – Hardware presentation problems - no outlet, machine lockup, screen can’t be seen by everyone, software not cooperating, etc. – Make sure the prototype is portable. • Sized to fit screen. Basic colors. Can it run without special software? “Let me just load this calendar control…” Sharif Univ. of Tech. 20