CORE: Cognitive Organization for Requirements Elicitation

51
1

Transcript of CORE: Cognitive Organization for Requirements Elicitation

Page 1: CORE: Cognitive Organization for Requirements Elicitation

11

Page 2: CORE: Cognitive Organization for Requirements Elicitation

How to get out of a mess:Use the CORE methodology

Cognitive Organization for Requirements Elicitation

Scott M. ConferInformation Architect

Author contact: [email protected] 312.260.8274

Joanna Wiebe Information Architect

Creative Commons license. Wiebe & Confer, 2007.

Page 3: CORE: Cognitive Organization for Requirements Elicitation

3

CORECORE overview

Integrates two analytical methodologies:• Conceptual graphing (Gordon, Gill, Schmeier, 1993) • Collaborative soft systems inquiry framework (Checkland, 1981).

Page 4: CORE: Cognitive Organization for Requirements Elicitation

4

COREWhat is the CORE Method?

• CORE– An emerging methodology and conceptual toolkit at Orbitz

• Allows the IA to lead the team to– Clarify– Elicit– Iterate the initial vague requirements.

Page 5: CORE: Cognitive Organization for Requirements Elicitation

5

COREAdvantages of the CORE method

Centers on the user, drawn as a key actor in Rich Picture. Cross-disciplinary teams can work collaboratively to define

quality requirements. Other advantages include:• Scalable for large or small projects

• Is domain-agnostic

• Rules-based formal grammar for cognitive graphing ensures a thorough approach

• Based on empirically validated methods

• Ecologically valid combination of two methods widely used in industry and business today

Above all, CORE is a driver for innovation

Page 6: CORE: Cognitive Organization for Requirements Elicitation

6

CORECORE has seven steps

Step 1: Unstructured situation

Step 2: Rich Picture

Step 3: Relevant systems

Step 4: Conceptual Graph Structures (CGS)

Step 5: Preliminary requirements

Step 6: Requirements consensus

Step 7: Translation to Information Architecture

Page 7: CORE: Cognitive Organization for Requirements Elicitation

7

COREThe scenario

Final details of the contract with the third party had not yet been resolved, one reason that the requirements were not complete at kickoff …

Sound familiar?

Page 8: CORE: Cognitive Organization for Requirements Elicitation

8

CORESo, you find yourself needing better requirements?

What to do next?

• The IA didn’t have a formal organizational method for requirements development.

• The ‘flat’ organizational structure at Orbitz demanded team consensus for the project to move forward

Page 9: CORE: Cognitive Organization for Requirements Elicitation

9

COREWhat to do?

Add structure!

Page 10: CORE: Cognitive Organization for Requirements Elicitation

10

COREStep 1: The Unstructured Situation

Also known as the “MessTM” in soft systems

In an unstructured situation, “…human perceptions, behavior or actions seemed to be the dominating factors…goals, objectives and even interpretation of events are all problematic.” (Naughton, 2005)

Page 11: CORE: Cognitive Organization for Requirements Elicitation

11

CORESome attributes of a requirements “mess”

• Undefined or implicit features• Featuritis• Speed to market is the driver• “We don’t need no requirements!”• “Requirements” are:

– Voluminous (i.e. have Featuritis)– Solutions-focused– Vague– Disorganized– Missing– Conflicting– Interdependent– Not prioritized (or all=HIGH)

• Too little, incomplete, or missing:– User research– Functional requirements– Use cases

• Magically coordinate with other projects / dependencies

Page 12: CORE: Cognitive Organization for Requirements Elicitation

12

CORESome attributes of requirements with “quality”

• Correct• Unambiguous• Complete• Consistent• Prioritized for importance

and stability

Reference: Leffingwell, D. and Widrig D. (2000). Managing Software Requirements - a Unified Approach

• Verifiable• Modifiable• Traceable• Understandable

Page 13: CORE: Cognitive Organization for Requirements Elicitation

13

CORETo structure an “unstructured situation” . . .

1. Identify key roles– investigator– subject matter expert – client– problem-owner – problem-solver (one person may wear many hats)

2. Form your team

3. Do the research– What is this thing? – What’s happening?– What to do?– Where is it?– Where can I find out more? (more question probes, next slide)

Page 14: CORE: Cognitive Organization for Requirements Elicitation

14

COREQuestion probes for primary research

Questions from: Gordon et al., & San Diego State University http://coe.sdsu.edu/EDTEC544/Images/probes.gif

What is this

thing?

What’s

happening?

What to do?

Where is it?

Where can I find out more?

Where can I find out more?

Information

What to do?

Goal / Action

What to do?

Goal

What to do?

Style

Where is it?

Location

What’s happening?

State

What’s happening?

Event

What is this thing?

Concept

What to do?

What does a person do after _____?

What to do?

What states of events cause or enable a person to _____?

What to do?

How does a person _____?

What to do?

What does a person do before _____?

What to do?

What prevents you from being able to _____?

What to do?

What are the consequences of _____?

What to do?

Why does a person _____?

What to do?

What happens if you do not _____?

What to do?

How _____?

What to do?

What causes or enables _____?

What to do?

What are the consequences of _____?

What to do?

What happens if not _____?

Where is it?

Where is _____?

Where is it?

What is above _____?

Where is it?

What is below _____?

Where is it?

What is to the left of _____?

Where is it?

What is to the right of _____?

Where is it?

What contains _____?

Where can I find out more?

Is there anyone else who I should talk to about _____?

Where can I find out more?

Where can I find out more about _____?

Where can I find out more?

Can you recommend any books?

Where can I find out more?

Can you recommend any web sites?

Where can I find out more?

Are there any journals dealing with _____?

Where can I find out more?

Is there a manual dealing with _____?

What is this thing?

What is _____?

What is this thing?

What are the parts of _____?

What is this thing?

What are the types of _____?

What is this thing?

What are the properties of _____ that distinguish it from _____?

What is this thing?

What are specific instances or examples of _____?

What’s happening?

What causes of enables _____?

What’s happening?

Why does _____ occur?

What’s happening?

What happens before _____?

What’s happening?

What happens after _____?

What’s happening?

What are the consequences of _____ occurring?

What’s happening?

Why does _____ occur?

What’s happening?

What happens before _____?

What’s happening?

What happens after _____?

What’s happening?

What are the consequences of _____ occurring?

What to do?

What happens before having the goal of _____?

What to do?

What happens after having the goal of _____?

What to do?

How is the goal of _____ attained?

What to do?

What state or event initiates the goal of _____?

What to do?

What is the outcome of _____?

What to do?

What is the goal of _____?

Page 15: CORE: Cognitive Organization for Requirements Elicitation

15

COREStep 2: Create a “Rich Picture”

Rich Picture v 0.03 Event travel project

A system to enable Travelport for Business to act as the travel booking engine for events managed through a third party online system. New features include: * Single-sign-on for registered and non-registered users * Communication of travel information to third party system for reporting and tracking. * Travelport travel policy to be associated with event travel * Customer Service Agent enablement * Split form of payment * Fees for high-touch and general event services

PRIMARY TASKS

§ Develop long-term vision for user interface integration§ Develop laundry list of features/functions§ Pick “low-hanging fruit” for Phases 0 and 1§ Measure resource impact § Pinpoint all the issues and assign responsibility for resolution§ Develop Project Plan

Travelport for Business

Third party event site(with our brand for our customers)

LEGENDKey actors

Users

User interactions

HARD INFO: Individual event participants login

to event site, register for event and then are passed (with event

ID, participant type, user info, hotel, car, arrival info etc.) to our

booking path which is prepopulated with their info

SME

Consultancy

SME

PROJECT TEAM

Event Manager User Interface§ Manage event travel bookings§ Confirm traveler itinerary§ Single sign-on

Users coming in from event site

HARD INFO: Policy for each event ID is associated with participants in this order:- Trip purpose- User group- default

USER HARD INFO:

§ Users are categorized by participant types and user groups

§ Some are registered Travelport users, some are not; event site can’t distinguish between our registered and unregistered users

Booking path for events

Travelport

Registration

Event Site

LOGIN ISSUES:§ Will there be an on-the-fly registration process for unregistered users?

§ What data travels with them from the event site?

§ What data do we store on their activity?

§ What data can user or administrator see, edit, delete?

§ What happens if a user tries to log in but no policy has been set up for their event?

§ Will registered users be constrained to book event travel only by logging in through event site?

§ If registered user finishes booking, how will the system “know” they are finished? If they want to book non-event travel, do they have to log out first?

PARTICIPANT TYPE ISSUES:· Where to set up participant types?

· How to make sure they match on both sites?

· Can address book be developed?

EVENT TRAVEL POLICY SETUP ISSUES:§ When setting up policy (name, ID, description, dates, location, status, flag, and existing air,

car and/or hotel policy rules), can event iD be passed from event site and associated with event name? If not, how to handle errors?

§ Resource cost of building templates and address books of participant types, event types, etc.

Event travel summary

Travelport

THIRD PARTY EVENT SITE HARD INFO:

§ Event registration and approvals workflow process§ Create participant types, manage participant lists etc§ Global view of all event activity, costs, benefits§ Preparing, updating and analyzing event costs§ Email invites and notifications§ Hotel and car default reservations

EVENT MANAGER HARD INFO:

§ Turn Event Manager on/off by company§ Air reservations for event travel§ Hotel and car res (if not in event site)§ Advanced policy for Car, Hotel (if not in event

site) and Air

POLICY ISSUES:§ Who sets policy for this travel? Implementation managers? Travelport administrators? Special

event planner role?

§ Can policy be set up in such a way that the person doing it can edit specific event policy across sessions, save it in an inactive state, save it in an active state, activate it, delete it, review past policy, resuse past policy?

§ What are implications of changing who does this from phase to phase of the project?

§ What is best solution if during search, date range is picked that is out of range? Halt message?

Corporate Travel Administrator

Customer Service Agent

ROLES:

Email confirmation

Our serversEvent site servers

Client: Product ManagerInvestigators: IAs

Problem owner: Corporate Travel exec

ROLES

Other Travelport users

Travel administrator

ROLES

Travel manager (with or without admin)

Registered Travelport user

Unregistered user

Features/functions

Functional requirementsData requirements

Content requirementsCreative requirements

Process flows

Data safety requirements

Localization requirementsTechnical requirements

Resource requirementsManagerial requirements

Performance requirementsTesting requirements

UI requirements

SOFT INFO:

· Stakeholders value project differently· Contract pending· Shifting cast of stakeholders· Distributed leadership of project· Release schedule issues

Page 16: CORE: Cognitive Organization for Requirements Elicitation

16

CORECase study example: Rich Picture

Drawing the picture is a way to methodically walk through some or all of key aspects of the project.

A Rich Picture is Checkland’s term for a visual capture of: • Structure• Function• Process • Environment.

The IA worked from her raw interview notes, whiteboard sketches and assumptions, to create the Rich Picture, using Visio.

Page 17: CORE: Cognitive Organization for Requirements Elicitation

17

Travelport for Business

PRIMARY TASKS

§ Develop long-term vision for user interface integration§ Develop laundry list of features/functions§ Pick “low-hanging fruit” for Phases 0 and 1§ Measure resource impact § Pinpoint all the issues and assign responsibility for resolution§ Develop Project Plan

Third party event site(with our brand for our customers)

HARD INFO: Individual event participants login

to event site, register for event and then are passed (with event

ID, participant type, user info, hotel, car, arrival info etc.) to our

booking path which is prepopulated with their info

SME

Consultancy

SME

PROJECT TEAM

Event Manager User Interface§ Manage event travel bookings§ Confirm traveler itinerary§ Single sign-on

Users coming in from event site

HARD INFO: Policy for each event ID is associated with participants in this order:- Trip purpose- User group- default

USER HARD INFO:

§ Users are categorized by participant types and user groups

§ Some are registered Travelport users, some are not; event site can’t distinguish between our registered and unregistered users

Booking path for events

Travelport

Registration

Event Site

LOGIN ISSUES:§ Will there be an on-the-fly registration process for unregistered users?

§ What data travels with them from the event site?

§ What data do we store on their activity?

§ What data can user or administrator see, edit, delete?

§ What happens if a user tries to log in but no policy has been set up for their event?

§ Will registered users be constrained to book event travel only by logging in through event site?

§ If registered user finishes booking, how will the system “know” they are finished? If they want to book non-event travel, do they have to log out first?

PARTICIPANT TYPE ISSUES:· Where to set up participant types?

· How to make sure they match on both sites?

· Can address book be developed?

EVENT TRAVEL POLICY SETUP ISSUES:§ When setting up policy (name, ID, description, dates, location, status, flag, and

existing air, car and/or hotel policy rules), can event iD be passed from event site and associated with event name? If not, how to handle errors?

§ Resource cost of building templates and address books of participant types, event types, etc.

Event travel summary

Travelport

THIRD PARTY EVENT SITE HARD INFO:

§ Event registration and approvals workflow process§ Create participant types, manage participant lists etc§ Global view of all event activity, costs, benefits§ Preparing, updating and analyzing event costs§ Email invites and notifications§ Hotel and car default reservations

EVENT MANAGER HARD INFO:

§ Turn Event Manager on/off by company§ Air reservations for event travel§ Hotel and car res (if not in event site)§ Advanced policy for Car, Hotel (if not in event

site) and Air

POLICY ISSUES:§ Who sets policy for this travel? Implementation managers? Travelport administrators?

Special event planner role?

§ Can policy be set up in such a way that the person doing it can edit specific event policy across sessions, save it in an inactive state, save it in an active state, activate it, delete it, review past policy, resuse past policy?

§ What are implications of changing who does this from phase to phase of the project?

§ What is best solution if during search, date range is picked that is out of range? Halt message?

Corporate Travel Administrator

Customer Service Agent

ROLES:

Email confirmation

Our serversEvent site servers

Client: Product ManagerInvestigators: IAs

Problem owner: Corporate Travel exec

ROLES

Other Travelport users

Travel administrator

ROLES

Travel manager (with or without admin)

Registered Travelport user

Unregistered user

Features/functions

Functional requirementsData requirements

Content requirementsCreative requirements

Process flows

Data safety requirements

Localization requirementsTechnical requirements

Resource requirementsManagerial requirements

Performance requirementsTesting requirements

UI requirements SOFT INFO:

· Stakeholders value project differently· Contract pending· Shifting cast of stakeholders· Distributed leadership of project· Release schedule issues

Page 18: CORE: Cognitive Organization for Requirements Elicitation

18

CORERich Picture elements

1. Key actors 2. Structure of actor interactions 3. New Features

– Integration with existing ones

4. Process flow5. Environmental factors

6. “Hard” or “soft” information– Hard information: verifiable data and knowledge– Soft information: feelings, perceptions, opinions, values—often key to project success or failure

7. Types of requirements: – functional, data, content, creative, data safety, testing performance, user interface, localization,

technical, financial, temporal, managerial

8. Tasks involved in understanding each requirement type

Rich Picture v 0.03 Event travel project

A system to enable Travelport for Business to act as the travel booking engine for events managed through a third party online system. New features include: * Single-sign-on for registered and non-registered users * Communication of travel information to third party system for reporting and tracking . * Travelport travel policy to be associated with event travel * Customer Service Agent enablement * Split form of payment * Fees for high-touch and general event services

PRIMARY TASKS

§ Develop long-term vision for user interface integration§ Develop laundry list of features/functions§ Pick “low-hanging fruit” for Phases 0 and 1§ Measure resource impact § Pinpoint all the issues and assign responsibility for resolution§ Develop Project Plan

Travelport for Business

Third party event site(with our brand for our customers)

LEGENDKey actors

Users

User interactions

HARD INFO: Individual event participants login

to event site, register for event and then are passed (with event

ID, participant type, user info, hotel, car, arrival info etc.) to our

booking path which is prepopulated with their info

SME

Consultancy

SME

PROJECT TEAM

Event Manager User Interface§ Manage event travel bookings§ Confirm traveler itinerary§ Single sign-on

Users coming in from event site

HARD INFO: Policy for each event ID is associated with participants in this order:- Trip purpose- User group- default

USER HARD INFO:

§ Users are categorized by participant types and user groups

§ Some are registered Travelport users, some are not; event site can’t distinguish between our registered and unregistered users

Booking path for events

Travelport

Registration

Event Site

LOGIN ISSUES:§ Will there be an on-the-fly registration process for unregistered users?

§ What data travels with them from the event site?

§ What data do we store on their activity?

§ What data can user or administrator see, edit, delete?

§ What happens if a user tries to log in but no policy has been set up for their event?

§ Will registered users be constrained to book event travel only by logging in through event site?

§ If registered user finishes booking, how will the system “know” they are finished? If they want to book non-event travel, do they have to log out first?

PARTICIPANT TYPE ISSUES:· Where to set up participant types?

· How to make sure they match on both sites?

· Can address book be developed?

EVENT TRAVEL POLICY SETUP ISSUES:§ When setting up policy (name, ID, description, dates, location, status, flag, and existing air,

car and/or hotel policy rules), can event iD be passed from event site and associated with event name? If not, how to handle errors?

§ Resource cost of building templates and address books of participant types , event types, etc.

Event travel summary

Travelport

THIRD PARTY EVENT SITE HARD INFO:

§ Event registration and approvals workflow process§ Create participant types, manage participant lists etc§ Global view of all event activity, costs, benefits§ Preparing, updating and analyzing event costs§ Email invites and notifications§ Hotel and car default reservations

EVENT MANAGER HARD INFO:

§ Turn Event Manager on/off by company§ Air reservations for event travel§ Hotel and car res (if not in event site)§ Advanced policy for Car, Hotel (if not in event

site) and Air

POLICY ISSUES:§ Who sets policy for this travel? Implementation managers? Travelport administrators? Special

event planner role?

§ Can policy be set up in such a way that the person doing it can edit specific event policy across sessions, save it in an inactive state, save it in an active state, activate it, delete it, review past policy, resuse past policy?

§ What are implications of changing who does this from phase to phase of the project ?

§ What is best solution if during search, date range is picked that is out of range? Halt message?

Corporate Travel Administrator

Customer Service Agent

ROLES:

Email confirmation

Our serversEvent site servers

Client: Product ManagerInvestigators: IAs

Problem owner: Corporate Travel exec

ROLES

Other Travelport users

Travel administrator

ROLES

Travel manager (with or without admin)

Registered Travelport user

Unregistered user

Features/functions

Functional requirementsData requirements

Content requirementsCreative requirements

Process flows

Data safety requirements

Localization requirementsTechnical requirements

Resource requirementsManagerial requirements

Performance requirementsTesting requirements

UI requirements

SOFT INFO:

· Stakeholders value project differently· Contract pending· Shifting cast of stakeholders· Distributed leadership of project· Release schedule issues

1

2

4

66

3

87

5

Page 19: CORE: Cognitive Organization for Requirements Elicitation

19

CORE

1

Key Actors

Page 20: CORE: Cognitive Organization for Requirements Elicitation

20

CORE

Rich Picture v 0.03 Event travel project

A system to enable Travelport for Business to act as the travel booking engine for events managed through a third party online system. New features include: * Single-sign-on for registered and non-registered users * Communication of travel information to third party system for reporting and tracking. * Travelport travel policy to be associated with event travel * Customer Service Agent enablement * Split form of payment * Fees for high-touch and general event services

PRIMARY TASKS

§ Develop long-term vision for user interface integration§ Develop laundry list of features/functions§ Pick “low-hanging fruit” for Phases 0 and 1§ Measure resource impact § Pinpoint all the issues and assign responsibility for resolution§ Develop Project Plan

Travelport for Business

Third party event site(with our brand for our customers)

LEGENDKey actors

Users

User interactions

HARD INFO: Individual event participants login

to event site, register for event and then are passed (with event

ID, participant type, user info, hotel, car, arrival info etc.) to our

booking path which is prepopulated with their info

SME

Consultancy

SME

PROJECT TEAM

Event Manager User Interface§ Manage event travel bookings§ Confirm traveler itinerary§ Single sign-on

Users coming in from event site

HARD INFO: Policy for each event ID is associated with participants in this order:- Trip purpose- User group- default

USER HARD INFO:

§ Users are categorized by participant types and user groups

§ Some are registered Travelport users, some are not; event site can’t distinguish between our registered and unregistered users

Booking path for events

Travelport

Registration

Event Site

LOGIN ISSUES:§ Will there be an on-the-fly registration process for unregistered users?

§ What data travels with them from the event site?

§ What data do we store on their activity?

§ What data can user or administrator see, edit, delete?

§ What happens if a user tries to log in but no policy has been set up for their event?

§ Will registered users be constrained to book event travel only by logging in through event site?

§ If registered user finishes booking, how will the system “know” they are finished? If they want to book non-event travel, do they have to log out first?

PARTICIPANT TYPE ISSUES:· Where to set up participant types?

· How to make sure they match on both sites?

· Can address book be developed?

EVENT TRAVEL POLICY SETUP ISSUES:§ When setting up policy (name, ID, description, dates, location, status, flag, and existing air,

car and/or hotel policy rules), can event iD be passed from event site and associated with event name? If not, how to handle errors?

§ Resource cost of building templates and address books of participant types, event types, etc.

Event travel summary

Travelport

EVENT MANAGER HARD INFO:

§ Turn Event Manager on/off by company§ Air reservations for event travel§ Hotel and car res (if not in event site)§ Advanced policy for Car, Hotel (if not in event

site) and Air

POLICY ISSUES:§ Who sets policy for this travel? Implementation managers? Travelport administrators? Special

event planner role?

§ Can policy be set up in such a way that the person doing it can edit specific event policy across sessions, save it in an inactive state, save it in an active state, activate it, delete it, review past policy, resuse past policy?

§ What are implications of changing who does this from phase to phase of the project?

§ What is best solution if during search, date range is picked that is out of range? Halt message?

Corporate Travel Administrator

Customer Service Agent

ROLES:

Email confirmation

Our serversEvent site servers

Client: Product ManagerInvestigators: IAs

Problem owner: Corporate Travel exec

ROLES

Other Travelport users

Travel administrator

ROLES

Travel manager (with or without admin)

Registered Travelport user

Unregistered user

Features/functions

Functional requirementsData requirements

Content requirementsCreative requirements

Process flows

Data safety requirements

Localization requirementsTechnical requirements

Resource requirementsManagerial requirements

Performance requirementsTesting requirements

UI requirements

SOFT INFO:

· Stakeholders value project differently· Contract pending· Shifting cast of stakeholders· Distributed leadership of project· Release schedule issues

2

Structure of actor interactions

Page 21: CORE: Cognitive Organization for Requirements Elicitation

21

CORE

3

New Features

Page 22: CORE: Cognitive Organization for Requirements Elicitation

22

CORE

4

Process flow

Page 23: CORE: Cognitive Organization for Requirements Elicitation

23

CORE

5

Environmental factors

Page 24: CORE: Cognitive Organization for Requirements Elicitation

24

CORE

6

“Hard” or “soft” information

6

Page 25: CORE: Cognitive Organization for Requirements Elicitation

25

CORE

7

Types of requirements

Page 26: CORE: Cognitive Organization for Requirements Elicitation

26

CORETasks to understand the requirements

8

Page 27: CORE: Cognitive Organization for Requirements Elicitation

27

COREStep 3: Write root definitions of relevant systems

How X does Y to accomplish Z.

The definition for each relevant system describes the Rich Picture elements of structure, function, process and environment.

Page 28: CORE: Cognitive Organization for Requirements Elicitation

28

CORECase study example: Relevant Systems

System A (Customer perspective): A system to enable customers to book and manage travel online at the same time that they register for meetings without having to log into another application

System B (Business perspective):A system to provide incremental transactional revenue and revenue share offerings for Orbitz and third parties

System C (Development perspective)A system to add features to the online travel booking web application.

Page 29: CORE: Cognitive Organization for Requirements Elicitation

29

COREStep 4: Create conceptual graphs

CGS method is broadly applicable to human endeavors

The grammar is based on the cognitive psychology and story comprehension research by Arthur Graesser.

Goal: Manage event travel

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Means

Goal - Action: Create participant

types

Goal - Action: Create policy

Before

After

Event: Make policy reservations

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Has consequence

Implies

Page 30: CORE: Cognitive Organization for Requirements Elicitation

30

COREConceptual graphing phase

1. Primary and secondary goals and goal-actions are broken out from the root definition of each relevant system. 2. Relevant system(s) are then graphed.

Goal: Manage event travel

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Means

Concept: Third party event site

Has co nse que nce

Event: User data enters system

Goal - Action: Create participant

types

Goal - Action: Create policy

BeforeAfter

Event: Make policy reservations

Goal - Action: Enter Meeting ID

After

Taxonomy Goal hierarchyCausal network

Has property

Concept: Email address

Refers-to

Concept: Third party database

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: data validated

Has

consequence

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Goal - Action: Single sign on

Concept: RolesHas part

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Style: behind the scenes

Manner

Event: user passed to

system Initiates

Refers-to

Has consequence

Has consequence

Implies

Page 31: CORE: Cognitive Organization for Requirements Elicitation

31

COREConceptual Graph Structures (CGS)

Key elements define the grammar

• Six types of nodes graphically represent one piece of knowledge.• Eighteen arc types connect the nodes, indicating the relationship

between the nodes.

• Templates for CGS structure contain “legal” arc-node combinations.

• There are four types of knowledge substructures for a conceptual graph:– Goal hierarchy– Taxonomy– Causal network– Spatial relationship

Page 32: CORE: Cognitive Organization for Requirements Elicitation

32

COREProcess flows vs. conceptual graph with a grammar

• Unlike process flows, conceptual graphs can be non-linear yet show procedures at the same time. – You can see concepts, goals, and procedures. Spatial relations are possible for actual interface layout or physical products.

• Could be called “Concept Goal Procedure” networks since those sub-structures are depicted.

Goal: Manage event travel

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Mea ns

Concept: Third party event site

Has con sequ enc e

Event: User data enters system

Goal - Action: Create participant

types

Goal - Action: Create policy

Before

After

Goal - Action: Enter meeting name

Event: Make policy reservations

Goal - Action: Enter Meeting ID

After

After

Taxonomy Goal hierarchyCausal network

Has property

Concept: Email address

Refers-to

Concept: Third party database

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: data validated

Has

consequence

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Goal - Action: Single sign on

Concept: RolesHas part

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Style: behind the scenes

Manner

Event: user passed to

system Initiates

Refers-to

Has consequence

Has consequence

Implies

Page 33: CORE: Cognitive Organization for Requirements Elicitation

33

COREExamples of concept mapping found online…

1 2

3

theyrule.net Network Diagrams of Conspiracy Mark Lombardi

Internet SearchDubberly Design Office

4

The Budget Graph Jesse Bachman

…enable discovery but don’t necessarily show user goals or use formal grammar

Page 34: CORE: Cognitive Organization for Requirements Elicitation

34

COREFour types of CGS substructures

Substructures are created from templates – The template provides basic form of substructure– Cohesive and predictable unit with prototypical node-arc-node

triplets

Types of CGS templates:1. Goal hierarchies2. Taxonomic substructures3. Causal network substructures4. Spatial relations

Page 35: CORE: Cognitive Organization for Requirements Elicitation

35

COREGoal hierarchy example

Goal: Manage event travel

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Means

Goal - Action: Create participant

types

Goal - Action: Create policy

Before

After

Goal - Action: Enter meeting name

Event: Make policy reservations

Goal - Action: Enter Meeting ID

After

After

Goal hierarchy

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Concept: Prepopulated fields

Concept: Policy restrictions

Concept: Other UI restrictions

Concept: Product restrictions

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Has consequence

Implies

Refers-to

Refers -to

Refe

rs-to

Refers-to

Page 36: CORE: Cognitive Organization for Requirements Elicitation

36

CORESubstructure 1. Goal hierarchy example

Goal: Manage event travel

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Means

Goal - Action: Create participant

types

Goal - Action: Create policy

Before

After

Goal - Action: Enter meeting name

Event: Make policy reservations

Goal - Action: Enter Meeting ID

After

After

Goal hierarchy

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Concept: Prepopulated fields

Concept: Policy restrictions

Concept: Other UI restrictions

Concept: Product restrictions

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Has consequence

Implies

Refers-to

Refers -to

Refe

rs-to

Refers-to

Goal Hierarchies

are our ‘bread and butter’ for

system design.

Page 37: CORE: Cognitive Organization for Requirements Elicitation

37

COREProcedure for creating a graph

1. Identify the document to be graphed

2. Read for content and context

3. Note types of knowledge (taxonomic, goal, spatial, causal)

4. Finish reading. Go back and start the studying and creation.

5. Study each sentence and break into phrases

• Identify nodes and links

6. Create nodes and links using judgment to cover these cases:

• Easy: Both nodes and arc are in the phrase or sentence

• Linkage may be clear in your mind, but more nodes/arcs required on the graph to represent it than in the doc

• Hard: Ambiguous situation

6. As each sentence is read, associate a substructure to it that will contain node-arc-node triplets

• By using the template you will see gaps in the structure to be filled.

Each entry in the graph is attached to something else. Islands show what is unanswered, unrelated or out of scope.

Page 38: CORE: Cognitive Organization for Requirements Elicitation

38

CORECGS Construction Kit with Visio stencils

• CGS creation is supported by the custom Visio stencil – A notable feature is that when a ‘Smartarc’ is attached to two nodes, the legal arc types are suggested from a

contextual menu on the arc (right click).• Question probes for conducting your own SME interviews

Download visio tools at

onemind.wetpaint.com

Page 39: CORE: Cognitive Organization for Requirements Elicitation

39

COREKey question probes for primary research

Start with goals, add in supporting concepts. For innovation, focus on manual and machine-aided tasks that are difficult, time intensive, repetitive, and pet peeves.

Page 40: CORE: Cognitive Organization for Requirements Elicitation

40

CORE

Step 5 Iterate graphs/develop preliminary requirements

The process of analysis that is encouraged to find and develop new solutions serves as a scaffolding for the “a-ha” moment.

Page 41: CORE: Cognitive Organization for Requirements Elicitation

41

CORECase study example: Preliminary requirements

CGS process led to cognitive breakthroughs, discoveries and innovations to meet user goals.• The CGSs were iterated between team meetings• CGSs capture, clarify, and relate concepts as well as goals

Concept: registered user role

Concept: unregistered user

role

State: temp profile created for

unregistered role

Has co

nseq

uenc

e

Goal: Manage event travel

Concept: customer service agent role

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Mean s

Concept: Third party event site

Concept: Travel Arranger role

Has cons eque nce

Event: User data enters system

State: registered role profile

prepopulated

Has consequence

Goal - Action: Create participant

types

Goal - Action: Create policy

Before

After

Goal - Action: Enter meeting name

Event: Make policy reservations

Goal - Action: Enter Meeting ID

AfterAfter

Taxonomy Goal hierarchyCausal network

Has

con seq ue nceEvent: Unreg profile

displaysConcept: My Stuff

profile

Spatial relations

Concept: Payment module

Concept: Service fees

Has part

Has property

Has part

Has part

Has

part

Has pa rt

Concept: Split fee payment

Has

part

Before

Concept: Email address

Refers-to

Concept: Third party database

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: data validated

Has

consequence

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Concept: Reservation page

Has pa rt

Goal - Action: Single sign on

Concept: RolesHas part

Concept: Prepopulated fields

Concept: Policy restrictions

Concept: Other UI restrictions

Concept: Product restrictions

Refe r s -to

Refers-to

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Above

Style: behind the scenes

Manner

Event: user passed to

system Initiates

Refers-to

Has consequence

Has consequence

Implies

Refers-to

Refers -to

Refe

rs-to

Refers-to

Page 42: CORE: Cognitive Organization for Requirements Elicitation

42

CORECase study example: Preliminary requirements

CGS process led to cognitive breakthroughs, discoveries and innovations to meet user goals.• The CGSs were iterated between team meetings• CGSs capture, clarify, and relate concepts as well as goals

Concept: registered

user role

Concept: unregistered user

role

State: temp profile created for

unregistered role

Has co

nseq

uenc

e

Goal: Manage event travel

Concept: customer service agent role

Goal: Confirm traveler itinerary

Goal - Action: Apply travel policy

Means

Mean s

Concept: Third party event site

Concept: Travel Arranger role

Has cons eque nce

Event: User data enters system

State: registered role profile

prepopulated

Has consequence

Goal - Action: Create participant

types

Goal - Action: Create policy

Before

After

Goal - Action: Enter meeting name

Event: Make policy reservations

Goal - Action: Enter Meeting ID

AfterAfter

Taxonomy Goal hierarchyCausal network

Has

con seq ue nceEvent: Unreg profile

displaysConcept: My Stuff

profile

Spatial relations

Concept: Payment module

Concept: Service fees

Has part

Has property

Has part

Has pa

rt

Has

part

Has part

Concept: Split fee payment

Has

part

Before

Concept: Email address

Refers-to

Concept: Third party database

Goal: Display traveler itinerary

Before

Means

Means

Means

Goal: Change/cancel traveler

itinerary

Before

Means

State: data validated

Has

consequence

State: Restricted path for meeting

travel

Has part

Concept: Archived policy

Concept: Reservation page

Has pa rt

Goal - Action: Single sign on

Concept: RolesHas part

Concept: Prepopulated fields

Concept: Policy restrictions

Concept: Other UI restrictions

Concept: Product restrictions

Refer s -to

Refers-to

Goal - Action: Read operational e-mails

Goal - Action: Use purchase confirmtn

Above

Style: behind the scenes

Manner

Event: user passed to

system Initiates

Refers-to

Has consequence

Has consequence

Implies

Refers-to

Refers -to

Refe

rs-to

Refers-to

Page 43: CORE: Cognitive Organization for Requirements Elicitation

43

CORERequirements drafted

• Analysis and synthesis from concept graphing– Served dual purposes for analysis of both macro and micro

perspectives from the CGS itself. – Highlighted inconsistencies and/or problems with the existing

situations/systems. • Issues were managed in an Issues Log.• New requirement issues logged; brought back to team for clarification.

– Implicit relationships were revealed 1.Visualize what was known and2.Missing items in the CGS via the templates

• (e.g. goals, taxonomies, and causal networks.)

• Preliminary requirements drafted and walked through with individual team members

After iteration cycles, the IA was able to make a list of preliminary requirements.

Page 44: CORE: Cognitive Organization for Requirements Elicitation

44

CORECase study example: Preliminary requirements

Thirty-five pages of a “requirements doc” were transformed into succinct, prioritized requirements

Page 45: CORE: Cognitive Organization for Requirements Elicitation

45

COREStep 6 Reach team agreement on requirements

By Step 6 in the CORE methodology, a project team usually can efficiently reach requirements consensus.The requirements now have

– Total team buy-in– Documented – Stored with version control– Shared

Requirements are developed iteratively, published and are accessible to all project participants.

– Online wiki (open source) – MS Word documents

At this point stakeholders are invested in the process and it will not be too difficult to reach agreement on the final requirements.

Page 46: CORE: Cognitive Organization for Requirements Elicitation

46

COREStep 7 Translate to Information Architecture

Page 47: CORE: Cognitive Organization for Requirements Elicitation

47

COREImplementing IA changes software and environment

Whether it is a new or enhanced system, the changes are seen in:– Software

• Structure• Function• Process

– Environment• Business intelligence• Third-party agreements• Partnerships• Contracts• Work processes• Attitude and policy change consequences

The result is a set of changes of the original situation as collaboratively defined

Page 48: CORE: Cognitive Organization for Requirements Elicitation

48

COREConclusion

CORE has broad utility for all types of design contexts: • physical products• services• training program design• software development

CORE method helps designers define:– what information and inputs are needed,– at what time they are needed,– in order for users to make decisions.

Page 49: CORE: Cognitive Organization for Requirements Elicitation

49

CORELather, rinse, repeat

And now you have a new “mess” …

To do a new project, this current situation is to be cognitively structured anew, these cognitive structures have to be agreed on, and crystallized

into the form of new requirements

Page 50: CORE: Cognitive Organization for Requirements Elicitation

50

COREReferences

Atlantic Systems Guild Limited (2006). Volere Method Requirements Specification Template, Edition 11. Available at http://www.systemsguild.com and http://www.volere.co.uk.

Beyer, H. & Holtzblatt, K. (1998). Contextual Design: A Customer-Centered Approach to Systems Designs. Morgan Kaufmann.

Carroll J.M., Rosson M.B., Chin G., Koenemann J. (1997).

Requirements Development: Stages of opportunity for collaboration needs discovery. Proceedings of the conference on Designing interactive systems: processes, practices, methods, and techniques. ACM Press. New York, NY, USA.

--> 5 stages of Requirements Development instead of gathering (Genesis & Types) on p.63

Checkland, P B (1972). Towards a Systems-based methodology for real-world problem-solving. Journal of Systems Engineering, vol. 3, no. 2.

Checkland, P.B. (1981). Systems Thinking, Systems Practice. John Wiley & Sons.

Constantine, L. & Lockwood, L. (2000). Usage-Centered Design: Practical Abstract Modeling with Use Cases. ACM CHI 2000 Tutorial.

DuFour, R., & Eaker, R. (1998). Professional Learning Communities at Work: Best Practices for Enhancing Student Achievement. National Educational Service.

Gordon, S. E. & Gill, R. T. (1997). Cognitive Task Analysis. In C. Zsambok & G. Klein, (Eds.), Naturalistic Decision Making (pp. 131-140). Hillsdale, NJ: Lawrence Erlbaum.

Gordon, S.E., Schmierer, K.A., & Gill, R. T. (1993). Conceptual graph analysis: Knowledge acquisition for instructional system design. Human Factors, 35, 459-481.

Graesser, A.C., Golding, J.M., & Long, D.L. (1991). Narrative representation and comprehension. In R. Barr, M.L. Kamil, P. Mosenthal, and P.D. Pearson (Eds.), Handbook of Reading Research (pp.191-205). White Plains, NY: Longman.

Hackos, J. and Redish, J. (1998). User and Task Analysis for Interface Design. John Wiley and Sons. Bloomington, IN: National Educational Service.

Holtzblatt, K. & Beyer, H. (1995). Requirements gathering: the human factor. Communications of the ACM. Volume 38, Issue 5. Available at http://doi.acm.org/10.1145/203356.203361.

Hutchings, F. & Knox, S. (1995). Creating Products Customers Demand. Communications of the ACM. Volume 38 , Issue 5, Pages: 72 - 80.

Leffingwell, D. & Widrig D. (2000). Managing Software Requirements - a Unified Approach. Object Technology Series (Series editors Booch, Jacobson, & Rumbaugh). Addison-Wesley.

Lengler R., Eppler M. (2007). Towards A Periodic Table of Visualization Methods for Management. IASTED Proceedings of the Conference on Graphics and Visualization in Engineering (GVE 2007), Clearwater, Florida, USA. Available at http://www.visual-iteracy.org/periodic_table/periodic_table.pdf.

Naughton, J. (2005). Soft systems analysis: An introductory guide. Milton Keynes: The Open University.

Robertson S. & Robertson J. (2006). Mastering the Requirements Process—Second Edition. Addison-Wesley. Available at http://systemsguild.com/GuildSite/Robs/RMPBookPage.html.

Senge, P. M. (1990) The Fifth Discipline. The art and practice of the learning organization. London: Random House.

Page 51: CORE: Cognitive Organization for Requirements Elicitation

51

COREAcknowledgements

Authors acknowledge the following contributors:• Albert “big Al” Ellenich – Proposal design and concepting • Andrew Day – Design • Natasha Fountain-Fernandez – Design • Andrew Rice – Visio Magic

With behind-the-scenes support from:• Matt Hanson – Information Architecture• Mark Hines – Information Architecture• Brian Hoyt – Public Relations• Melissa Moore – Design

Creative Commons license. Wiebe & Confer, 2007.

Text and illustrations, unless otherwise noted, © 2007 Joanna Wiebe, Scott ConferSee also http://onemind.wetpaint.com for stencils, job aids and updates.