requirements elicitation
play

Requirements Elicitation Lecture 3, DAT230, Requirements Engineering - PowerPoint PPT Presentation

Requirements Elicitation Lecture 3, DAT230, Requirements Engineering Robert Feldt, 2010-09-03 Notes about course Dont look at course schedule in PingPong etc; it is still not correct! NO exercises this week; starts next week


  1. Requirements Elicitation Lecture 3, DAT230, Requirements Engineering Robert Feldt, 2010-09-03

  2. Notes about course • Don’t look at course schedule in PingPong etc; it is still not correct! • NO exercises this week; starts next week • Individual assignment 1 up this afternoon: complete it ASAP • Start reading and studying! Quick pace the first 3 weeks to prep you for group assignment • NO additional paper for todays lecture

  3. Recap from last lecture

  4. Recap • SWEBOK gives overview of SE field • Good for newcomers and if you want to refresh • At master level: Good idea to directly to original sources; less need for “textbook” interpretations • Basic RE terminology in SWEBOK KA number 1 • Bespoke vs Market-Driven Software Development • Stakeholder Identification • Stakeholder analysis: influence & affected, expectations & interests

  5. Stakeholder Identification [Sharp1999] Satellites interacts info & products tasks Baseline affect Client Support System

  6. A question to ponder: From a Stakeholder Identification point of view what can be the problem with “on-site customer” as advocated in the agile process of Extreme Programming (XP)?

  7. What is Req Elicitation?

  8. What is Req Elicitation? “The art of determining the needs of stakeholders”

  9. What is Req Elicitation? “The art of determining the needs of stakeholders” “The process of discovering the requirements for a system by communication with stakeholders and through the observation of them in their domain”

  10. Other sources of info? • Stakeholders are key but also DOMAIN knowledge • Problem/application domain • What is the problem? Who can explain it? • Process descriptions? Mission statements? • History • Previous & current systems/solutions • Documentation, Old reqs & designs

  11. Other sources of info? • Competitors • Is/are there a (partial) solution(s) out there? • Environment • Other systems? • Processes to be supported? Processes that influence? • Organizational descriptions?

  12. Information to elicit • Domain description (operating environment) • Business goals ... Technical goals • System boundary (“fit into operational environment?”) • Constraints • Vocabulary • Reqs • Title, description • Rationale, Source, Importance, Benefit, etc...

  13. Differing abstraction levels

  14. Differing abstraction levels

  15. Requirements Abstract Model (RAM)

  16. Different elicited reqs • Discovered: Stakeholder knows req - REng notes it • Created: REng creates based on own knowledge or only little stakeholder info • Extracted: REng uses method to find it • Captured: When verbalized by stakeholder

  17. General rules for elicitation • Genuinely care about your stakeholders’ problems • Focus on stakeholder not on you “looking good” • Be human - admit weaknesses, become vulnerable, show humor • Listen - eye contact, don’t glaze over • Expect changes • Maintain a glossary - many req problems from simple misunderstandings/miscommunication

  18. Triangulation Use multiple things so that they partly say (and thus supports) the same conclusions (or finds the same problems/conflicts) “things” = methods, info, people, processes, documents, ...

  19. Triangulation Elicitation Methods Interviews Observation ... Artifacts / Docs People / Stakeholders

  20. Triangulation Elicitation Methods Interviews Observation ... Artifacts / Docs People / Stakeholders

  21. Triangulation Elicitation Methods Interviews Observation ... Artifacts / Docs People / Stakeholders

  22. Elicitation methods

  23. Elicitation methods Interviews Questionnaires Surveys Doc analysis “Traditional”

  24. Elicitation methods Interviews Brainstorming Questionnaires Surveys Focus groups JAD/RAD Doc analysis Req Workshops “Traditional” Group-based

  25. Elicitation methods Think-aloud / Interviews Protocol Analysis Brainstorming Questionnaires Laddering Surveys Focus groups Card sorting JAD/RAD Doc analysis Repertory grids Req Workshops “Cognitive” “Traditional” Group-based

  26. Elicitation methods Think-aloud / Interviews Protocol Analysis Brainstorming Questionnaires Laddering Surveys Focus groups Card sorting JAD/RAD Doc analysis Repertory grids Req Workshops “Cognitive” “Traditional” Group-based Ethnography Observation Conversation analysis Contextual

  27. Elicitation methods Think-aloud / Interviews Protocol Analysis Brainstorming Questionnaires Laddering Surveys Focus groups Card sorting JAD/RAD Doc analysis Repertory grids Req Workshops “Cognitive” “Traditional” Group-based Ethnography KAOS Observation I* Conversation analysis CREWS Contextual Model-driven

  28. Elicitation methods Think-aloud / Interviews Protocol Analysis Brainstorming Questionnaires Laddering Surveys Focus groups Card sorting JAD/RAD Doc analysis Repertory grids Req Workshops “Cognitive” “Traditional” Group-based Working prototypes Ethnography KAOS Observation Mashups I* Drawings Conversation analysis CREWS Prototyping Contextual Model-driven

  29. Brainstorming

  30. Elicitation techniques - early Technique Pro Con Know the present & Goals & critical issues, Interviews future ideas, Uncover Subjective conflicts/politics Group Stimulate/complete Censorship & interviews/ each other, Many/ domination, sessions Diverse stakeholders Groupthink Time consuming, Actual current Observation misses exceptional/ behavior, processes usability problems

  31. Elicitation techniques - early Technique Pro Con Know the present & Goals & critical issues, Interviews future ideas, Uncover Subjective conflicts/politics Group Stimulate/complete Censorship & interviews/ each other, Many/ domination, sessions Diverse stakeholders Groupthink Time consuming, Actual current Observation misses exceptional/ behavior, processes usability problems

  32. Elicitation techniques - early Technique Pro Con Know the present & Goals & critical issues, Interviews future ideas, Uncover Subjective conflicts/politics Group Stimulate/complete Censorship & interviews/ each other, Many/ domination, sessions Diverse stakeholders Groupthink Time consuming, Actual current Observation misses exceptional/ behavior, processes usability problems

  33. Elicitation techniques - mid Technique Pro Con Presence & Qs Task demo Clarify how work done influence, Critical issues seldom captured Info from many Hard to construct, Questionnaires (statistics, views, Interpretation opinions) Many ideas Many ideas (none Brainstorming (prioritization needed), rejected) Involvement

  34. Elicitation techniques - late Technique Pro Con Use cases / Concentration on Solution-oriented, Scenarios specifics => accuracy Premature design Communication, Modeling, Organize info, Require tools, Time Data-flow Uncover missing/ consuming, “Cults” Diagrams, ... inconsistencies Solution-oriented, Visualization, Stimulate Prototyping Premature design, ideas, Usability centered “Already done?”

  35. Research on how to elicit?

  36. Strategies for elicitation Strategy Description Asking a user to imagine or construct a Scenario Building scenario in his domain, and respond as he would in that situation Conditionalizing Use “if-then” to limit or clarify applicability of an assertion Elaborating with Asking a user to illustrate a point by examples providing examples Asking a user to design contingency plans or Hedging fallback positions

  37. Strategies for elicitation Strategy Description Asking a user to imagine or construct a “Describe the most unusual customer you ever had. Scenario Building scenario in his domain, and respond as he How did you respond in that situation?” would in that situation Conditionalizing Use “if-then” to limit or clarify applicability of an assertion Elaborating with Asking a user to illustrate a point by examples providing examples Asking a user to design contingency plans or Hedging fallback positions

  38. Strategies for elicitation Strategy Description Asking a user to imagine or construct a Scenario Building scenario in his domain, and respond as he would in that situation Conditionalizing Use “if-then” to limit or clarify applicability of “If the project is finished as planned, then what does an assertion that mean for the customer?” Elaborating with Asking a user to illustrate a point by examples providing examples Asking a user to design contingency plans or Hedging fallback positions

  39. Strategies for elicitation Strategy Description Asking a user to imagine or construct a Scenario Building scenario in his domain, and respond as he would in that situation Conditionalizing Use “if-then” to limit or clarify applicability of an assertion Elaborating with Asking a user to illustrate a point by “Can you provide some examples of what you examples providing examples mean?” Asking a user to design contingency plans or Hedging fallback positions

Recommend


More recommend