Chapters Notes

profileaaarrrttthhh
chapter7.pdf

Chapter 7:

Requirements Elicitation

1

7.1 Elicitation

 Is the process of identifying the needs and constraints of stakeholders.

 Is process that includes activities to discover, extract and define requirements.

 Is used to discover business, user, functional and non-functional requirements.

 Is the most challenging and critical, error-prone and communication intensive aspect of software development.

2

3

7.2 Elicitation Techniques

Interviews Workshops Focus Group Observations Questionnaires System Interface Analysis User Interface Analysis Document Analysis Elicitation Techniques(V)

4

 Interview

• Traditional approach to communicate with a user or small group

• Structured vs. Non-structured (pre determined questions) Vs (open questions)

5

Workshops Encourage stakeholders collaboration in defining the requirements.  Are facilitated sessions with multiple

stakeholders and formal roles such as ◦ Facilitator—to lead the process. - Keeping to the agenda - Staying in scope - Moving items to the parking lot - set Time limits - Drawing out nonparticipants ◦ Scribe/recorder—to write things down

6

Facilitator’s role is crucial  Keeping to the agenda  Staying in scope

- Everyone reads vision and scope document before workshop

- Periodically check requirements for compliance - Stay on topic, leave other requirements for other days

7

 Draw out nonparticipants  Use parking-lots for later considerations.

- Don’t forget random but important information just because it seems off-topic - Write it down—don’t lose it so person knows he isn’t being ignored

8

Some Ground Rules for sessions

 Start and end on time  Don’t recap for latecomers  Return from breaks promptly  One conversation at a time  Everyone contributes  Focus on issues, not individuals  Stick to the agenda,  limit time on each topic

9

 Focus Group

Is a representative group of users who convene in a facilitated meetings to generate input and ideas on product functionality and quality requirements.

Participants normally do not have decision making authority for requirements

10

 Observations

• Sometimes requirements can be generated by observing how the users are performing the tasks

• Can be time consuming and disruptive to the user

• Typically important or high-risk tasks are selected

• Can be silent or interactive

11

 User interface Analysis is a technique where the existing UI is examined to discover the user and functional requirements

 Document Analysis Refers to examining any existing

documentation for potential software requirements.

E.g., business processes, decision rationals, Forms, user manual etc

12

 Questionnaires

Are a way to survey large group of users to understand their needs across geographical boundaries.

• Open-ended vs. Closed Questions • Well-written questions are key to the

success (GIGO)

13

 System Interface Analysis

It reveals functional requirements regarding the exchange of data and services between systems.

• Context Diagram or Ecosystem maps are good indicators for the start

• Can also find the validation criteria for Data being exchanged

14

7.3 Planning Elicitation

 Plan the Elicitation Objectives Estimate Schedule and Resources  Know the Expected products of

Elicitation efforts Identify Elicitation risks

Decide on Elicitation Strategy and Techniques (see next pages)

15

16

7.4 Preparing for Elicitation

 Plan Session Scope and Agenda - Need to decide on the scope taking into

account how much the time is available. - Align the scope with the overall project scope

defined in the business requirement - Agenda should be itemized with topics to be

covered, time available for each topic, and objectives.

17

Prepare Resources Schedule the physical resources needed, such as rooms, projectors, tele-conferencing needs, etc

 Prepare Questions Key to success. Usually prepare open-ended Questions, such as why?, how? Etc

 Prepare “Straw man” or “Draft” models serves as a starting point. “it is easier to revise a draft model than to create from scratch”

18

7.5 Perform the Elicitation Activities

 Educate the stakeholders - Explain the approach/technique being

used - How the information will be captured and

reviewed later 19

 Take good notes Assign a scribe who does not take active role It should contain: attendee list, invitee not

attended, decisions made, actions to be taken, division of tasks, outstanding issues, high points of key discussion

 Exploit the physical space Use white boards, white papers, sticky notes and

markers. Use 4 walls to draw diagrams and create lists of

ideas, issues etc

20

7.6 Follow up after Elicitation

 Organizing and sharing the notes - Review and update notes soon after the session is over

while memory is still fresh - keep the original, raw notes, just in case - Soon after, share the notes with participants for review - Consider to share the notes who did not participate

21

 Document the open issues - Examine Any items that need further

explanation - See if any knowledge gaps encountered - Examine the “parking lot”

22

7.7 Classifying User Input The all kinds of user input needs to be classified.

 Business Requirements—financial, marketplace, benefits

 User requirements (Use Cases and Scenarios)—user goals, paths to goals

 Business Rules—policies, laws and regulations, formulas

 Functional Requirements—observable behavior of system

23

 Quality Attributes—speed, ease of use, robust, reliable, secure, efficient (all must be quantified)

 External Interfaces—signals, messages, files, devices, UI standards

 Constraints—sizes, algorithms, platforms, languages

 Data Definitions—formats, types, ranges, defaults

 Solution Ideas—could be a valid constraint or other attribute

24

7.8 Knowing When You’re Done

 Users can’t think of more use cases  New use cases don’t lead to any more

functional requirements  Users repeat themselves  All new requirements are out of scope  Proposed capabilities are “sometime in the

future.”

25

7.9 Avoid Incorrect/missing Requirements

 Avoid fuzzy terms, such as process or manage  Watch for reviewers having different

interpretations  Use cases must have an actor  Trace system requirements, use cases, event

lists, business rules to functional requirements  Check boundary conditions

26

 Use multiple representations—text, graphics, tables

 Use decision tables or trees for complex logic  Create, Read, Update, Delete, List (CRUDL)

matrix—relate actions (use cases, system events to data

27

Sample CRUDL Matrix in Chemical ordering system

28

Entity Use Case Order Chemical Requester

Vendor Catalog

Place Order

Change Order

Manage Inventory

Report Orders

Edit Requestors

C R R R, L

U, D R R, L

C, U, D

R R, L R, L

C, U, L

C: Create R: Read U: Update D: Delete L: List

Some additional Elicitation Considerations:

 Imagine doing the user’s tasks (perhaps actually do them?) to find requirements

 Play the apprentice to the master user—it makes him guide the discussion (play dumb)

 Ask about exceptions—there should be lots of them  Ask for “three most annoying features” or “three

most tedious tasks” or “three most wanted changes”—ranking helps people think

 Walk through user’s logic behind work decisions  Interview enough users; don’t let the few dominate

29

END

30