SlideShare a Scribd company logo
1 of 62
The Art & Science of Requirements Gathering
Vanessa Turke
UX Professional, Information Architect & Project Manager
presentation agenda:
1. The requirement gathering challenge
2. Requirements, scope, and specifications, oh my!
3. Eight steps to making this process better
4. Requirements gathering in practice: an allegory...
5. Summary and questions
what are the challenges we face?
“Requirements are initiated by senior managers and
company executives as policies, aims, objectives and
other high-level statements of intent. This necessitates
considerable scoping activity as requirements start with
vaguely expressed intentions and users’ wish lists...”

~ Usability in Government Systems: User Experience Design for Citizens and Public
Servants (Google eBook) by Elizabeth Buie & Dianne Murray
http://www.projectcartoon.com
why we need to get better
as this
as of January 2013...
1. 634 million websites
2. 51 million websites added during the past year
3. 87.8 million Tumblr blogs
4. 17.8 billion page views for Tumblr
5. 59.4 million WordPress sites around the world
6. 3.5 billion webpages run by WordPress viewed each month
7. 37 billion pageviews for Reddit.com in 2012
8. 191 million visitors to Google Sites

http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/
with more and more
competition,
organizations will be determined
to ‘stand out’
and many will not be able to
express
why and how they want to do
this
features can be difficult to
prioritize, and sometimes the
focus ends up on the wrong
content
when stakeholders come from
a variety of backgrounds,
submitted requirements
documentation can be varied
and inconsistent
documentation arrives in many different
forms
when stakeholders come from
a variety of backgrounds,
submitted requirements
documentation can be varied
and inconsistent
from super high level, to incredibly granular
what are we receiving as “specifications”
1. Request for proposal
2. Wireframes
3. Data base schema
4. Project charter
5. Text requirements list
6. Entity relationships
7. Photoshop files
8. Publication workflows
9. Powerpoint presentations
10. Spreadsheets
11.User stories
12. Branding guidelines
have a goal to achieve consistency in
documentation, define a common
language, and strive to fill in gaps,
constraints and assumptions
something here
what are traditional requirements?
1. Criteria to which the system or business must adhere.
2. Usually created before the coding begins
3. Nearly always written as text
4. Often defined as constraints, conditions, or capabilities to
which the system must conform
5. Focus on system operation
6. Contain explicit tests or acceptance criteria
7. Often written atomically; meaning that thousands of
independent shall statements can comprise a software
requirements specification.
http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
in what form do we receive them?
1. Short sentence stating high level functional requirement
2. A full description of the requirement
3. Description of how it is essential to the overall system
4. Description of any technical issues of the requirement
5. Description of user interface requirements
6. Description of business requirement
7. Description of technical requirement
8. Description of cost and schedule
http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
specification as defined by IEEE standards
A document that specifies, in a complete, precise, verifiable
manner, the requirements, design, behaviour, or other
characteristics of a system, component, product, result, or
service and the procedures for determining whether these
provisions have been satisfied
Examples are:
★ requirement specification
★ design specification
★ product specification
★ test specification
requirements expressed as use cases
A series of interactions by the user (Actor) with the system and
the response of the system
Focus on interactions:
Written in such a way as to succinctly define the user/system
activities and data that define the interaction.
Use cases can be written atomically as well, but the use case
diagram is meant to tie together the use cases.
Use cases are intended to be drilled down in successive levels
of detail, reducing the need for nailing down the details before
coding.
http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
two main components of use cases
Diagrams which graphically describe actors, use
cases, system boundaries, and the relationship
between all of these (focused on the user).
Text written in a call-and-response format that shows
an action by the user, followed by the system’s
response.
requirements expressed as user stories
Narrative texts that describe an interaction of the user and the
system, focusing on the value a user gains from the system.
A good user story uses the “INVEST” model:
★ Independent. Reduced dependencies = easier to plan
★ Negotiable. Details added via collaboration
★ Valuable. Provides value to the customer
★ Estimable. Too big or too vague = not estimable
★ Small. Can be done in less than a week by the team
★ Testable. Good acceptance criteria
typical user story template

As a [type of site visitor]
I need a way to [do something]
so that I can [benefit somehow].
gherkin syntax
Scenario: Some determinable business situation
Given some precondition
And some other precondition
When some action by the actor
And some other action
And yet another action
Then some testable outcome is achieved
And something else we can check happens too
http://docs.behat.org/guides/1.gherkin.html
comparing approaches to writing
requirements
Traditional requirements: focus on system operations and what
the system should do
Use cases: focus on users and their interaction with the system
in mind, the capabilities of the user and how these capabilities
are met via a system response.
Work flows or business flows: show system and user
interaction in a call-and-response format.
User stories: focus on customer value, a metaphor for the work
being done, not a full description of the work. The actual work
being done is fleshed out via collaboration revolving around the
user story as system development progresses.
http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
all rightie then...
Requirements: a wish list of capabilities, as described in detailed
specifications
Scope: basket of items selected from the requirements that we set
out to deliver which makes up the product, service or result being
delivered to the customer
Project Scope - the work to be performed to deliver the product,
service or result
Product Scope - the features and functions of the product, service
or result
http://en.wikipedia.org/wiki/Scope_(project_management)
wikipedia on scope creep
...the incremental expansion of the scope of a project,
which may include and introduce more requirements that
may not have been a part of the initial planning of the
project, while failing to adjust schedule and budget.
process to manage the
knowledge gap
product & process experts

target knowledge
simplifying

training

current knowledge

new clients
Jared Spool: http://chicago2011.drupal.org/keynotes
requirements engineering activities and
process
1. Submission or Request
2. Scoping
3. Fact gathering and research
4. Analysis
5. Modelling
6. Validation
7. Trade-off Analysis
8. Negotiation
scoping

Defining the boundaries...
Scoping is best achieved by discussion with all the
stakeholders and tends to focus users’ attention on where
the boundaries of the system investigation should lie, and
helps to identify at least an initial scope for the system.
scoping a project
1. SCOPING involves carving out a list of features and
defining the product that the project will deliver.
2. PROJECT SCOPE is the work that needs to be
accomplished to deliver a product, service, or result
with the specified features and functions.
3.PRODUCT SCOPE is the features and functions that
characterize a product.
http://en.wikipedia.org/wiki/Scope_(project_management)
fact gathering and research
Background research: interviews, observation,
questionnaires, text and document analysis
three classes of research
1. Preferences: opinions and desires
2. Ability: what is understood or accomplished with a tool
3. Conceptual: how to get things done

http://www.usabilityfirst.com/usability-methods/
preferences: opinions and desires
Techniques:
★ Surveys
★ Focus Groups
★ Preference Interviews
★ Card Sorting
Uses:
★ Visual Interpretation
★ Branding
★ Target Market
ability: what is understood or accomplished with
a tool
Techniques:
★ Prototypes
★ Usability Testing
★ Preference Interviews
★ Log Analysis
★ Customer Feedback
★ Card Sorting
Uses:
★ Interaction Design
★ Interaction Flow
★ Page Layout
★ Nomenclature
conceptual: how to get things done
Techniques:
★ Task Interviews
★ Contextual Inquiry
★ Preference Interviews
★ Surveys
Uses:
★ Software Structure
★ Information Architecture
★ Content Location
★ Contextual Information
★ Contextual Marketing
★ Gap Analysis
analysis
★ Filling in the details
★ What is the system purpose (goals)?
★ What objects are involved?
★ Where is the system located?
★ When should things happen?
★ Why is the system necessary (goals or problems it
intends to solve)?
modelling

★ Data flow diagrams
★ Entity relationship diagrams
validation
Getting users to understand the implications of a
requirements specification and then agree, i.e. validate, that
it accurately reflects their wishes.
A walkthrough of any of:
★ Data flow diagrams
★ Prototype demo
★ Scenario-based representations
★ Animated simulations
decoding the
subjective
nice pants
users

<3
technology

business
trade-off analysis
Requirements are often held by different stakeholders who
may have conflicting views, hence trade-off analysis is an
essential activity for comparing, prioritizing and deciding
between different requirements or design options.
Ranked lists or matrix-based techniques using decision tables
are helpful for this analysis.
The modelling techniques proposed by Chung (1993) and Yu (1993) for mapping
relationships and dependencies between goals, tasks, actors and soft goals (alias nonfunctional requirements), contains some guidance for trade-off analysis.
http://www.interaction-design.org/encyclopedia/requirements_engineering.html
trade-off analysis
exercise
negotiation

A discussion, explanation and negotiation of conflicting
requirements
putting it into practice
putting it into practice
1.
2.
3.
4.
5.
6.
7.
8.

Submission or request
Scoping
Fact gathering and research
Analysis
Modelling
Validation
Trade-off analysis
Negotiation
1. request : prepare an informal 2 course
dinner for 4

Must have:
★ Protein
★ Carbohydrates
★ Vegetables
★ Something sweet
2. scoping
Boundaries:
★ Dinner means after 5pm
★ Guests are available most of July
★ 2 courses are main and dessert
★ Vegetables should be organic
★ Protein cannot be red meat
★ Must take place outside
★ Drinks not included
3. fact gathering and research
Guest interviews:

★ Shellfish allergy
★ Enjoy spicy, ethic food
★ Favourite vegetables are peppers
★ 3 guests like chocolate desserts best
★ 1 guests likes vanilla desserts best
★ 2 of the guests love Cuban food
★ 1 of the guests loves asian food
★ All four love ‘comfort food’
★ Guests are from the same family
4. analysis

★ Purpose of the dinner is to celebrate a birthday
★ The host is one of the four The location will be on the
host’s patio Host will provide furniture
★ Host will provide beverages Dishes, cutlery, napkins
and stemware will be needed No server or bartender
will be required A good date for the event is July 5, 6,
12, or 13 Guests can arrive at 5:30 The dinner is
expected to last 2-3 hours
★ Host will cleanup
5. recipe for moros y cristianos - (data modelling)
1 Small Spanish Onion – (diced small)
1 Small Cubanelle Pepper (diced small)
2 Garlic Fingers (minced)
2 tbsp FRESH Chopped Cilanto
2 tbsp FRESH Culantro leaves – Find this at local Latin or Asian
markets
2 tbsp + 1/4 cup Extra Virgin Olive Oil
1 tbsp Sea Salt
1/2 tsp Fresh Ground Black Pepper
2 tsp Dried Thyme
Pinch of Saffron
2 tbsp Sofrito
1/4 cup FRESH Sazón
1/4 cup Red Cooking Wine
1/3 cup PITTED Alcaparrados
8oz can Spanish Tomato Sauce
2 Bay Leaves
4 Cups Long Grain Rice – I use organic brown rice
1 Quart (4 cups) organic vegetable stock
_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/
_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/
6. validation - walkthrough

Platillo Moros y Cristianos is a famous Cuban dish
6. validation - walkthrough
Creme Caramel is a dessert served in Cuba
7. trade-off analysis
★ Chocolate vs. vanilla?
★ Add a birthday cake or include candles?
★ Organic vs. conventional produce?
★ Have the dinner indoors if raining?
8. negotiation
★ Documentation: menu and ingredients
★ List of assumptions and constraints
★ Finalized budget, schedule and scope
an emerging field
Requirements Engineering is"designing the right thing" as
opposed to software engineering’s "designing the thing
right" ~ Barry Boehm, 1981

"Software systems requirements engineering (RE) is the
process of discovering that purpose, by identifying
stakeholders and their needs, and documenting these in a
form that is amenable to analysis, communication, and
subsequent implementation".
~ Nuseibeh and Easterbrook, 2000
Thanks | Questions?

More Related Content

What's hot

Best Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data ArchitectBest Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data ArchitectVladimir Bacvanski, PhD
 
Benefits of Extending PowerCenter with Informatica Cloud
Benefits of Extending PowerCenter with Informatica CloudBenefits of Extending PowerCenter with Informatica Cloud
Benefits of Extending PowerCenter with Informatica CloudAshwin V.
 
Sample - Data Warehouse Requirements
Sample -  Data Warehouse RequirementsSample -  Data Warehouse Requirements
Sample - Data Warehouse RequirementsDavid Walker
 
Adopting a Canonical Data Model - how to apply to an existing environment wit...
Adopting a Canonical Data Model - how to apply to an existing environment wit...Adopting a Canonical Data Model - how to apply to an existing environment wit...
Adopting a Canonical Data Model - how to apply to an existing environment wit...Phil Wilkins
 
A PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATEA PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATETushar Choudhary
 
Best Practices in Metadata Management
Best Practices in Metadata ManagementBest Practices in Metadata Management
Best Practices in Metadata ManagementDATAVERSITY
 
Master Data Management - Aligning Data, Process, and Governance
Master Data Management - Aligning Data, Process, and GovernanceMaster Data Management - Aligning Data, Process, and Governance
Master Data Management - Aligning Data, Process, and GovernanceDATAVERSITY
 
Digital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by DanairatDigital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by DanairatDanairat Thanabodithammachari
 
Data Profiling, Data Catalogs and Metadata Harmonisation
Data Profiling, Data Catalogs and Metadata HarmonisationData Profiling, Data Catalogs and Metadata Harmonisation
Data Profiling, Data Catalogs and Metadata HarmonisationAlan McSweeney
 
An Introduction To Oracle Database
An Introduction To Oracle DatabaseAn Introduction To Oracle Database
An Introduction To Oracle DatabaseMeysam Javadi
 
Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schemaSayed Ahmed
 
Enterprise architecture framework business case
Enterprise architecture framework business caseEnterprise architecture framework business case
Enterprise architecture framework business caseAlex Antonatos
 
The Business Analyst And The Sdlc
The Business Analyst And The SdlcThe Business Analyst And The Sdlc
The Business Analyst And The SdlcCraig Brown
 
Lecture10 use case model operation contracts
Lecture10 use case model operation contractsLecture10 use case model operation contracts
Lecture10 use case model operation contractsShahid Riaz
 
Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022Neo4j
 
Ooad (object oriented analysis design)
Ooad (object oriented analysis design)Ooad (object oriented analysis design)
Ooad (object oriented analysis design)Gagandeep Nanda
 
White Paper - Data Warehouse Documentation Roadmap
White Paper -  Data Warehouse Documentation RoadmapWhite Paper -  Data Warehouse Documentation Roadmap
White Paper - Data Warehouse Documentation RoadmapDavid Walker
 
Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Ahmed Farag
 
Beyond Java: Go for Java developers
Beyond Java: Go for Java developersBeyond Java: Go for Java developers
Beyond Java: Go for Java developersNetcetera
 
Introduction to Custom Journey Builder Activities, Orkhan Alakbarli
Introduction to Custom Journey Builder Activities, Orkhan AlakbarliIntroduction to Custom Journey Builder Activities, Orkhan Alakbarli
Introduction to Custom Journey Builder Activities, Orkhan AlakbarliCzechDreamin
 

What's hot (20)

Best Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data ArchitectBest Practices of Data Modeling with InfoSphere Data Architect
Best Practices of Data Modeling with InfoSphere Data Architect
 
Benefits of Extending PowerCenter with Informatica Cloud
Benefits of Extending PowerCenter with Informatica CloudBenefits of Extending PowerCenter with Informatica Cloud
Benefits of Extending PowerCenter with Informatica Cloud
 
Sample - Data Warehouse Requirements
Sample -  Data Warehouse RequirementsSample -  Data Warehouse Requirements
Sample - Data Warehouse Requirements
 
Adopting a Canonical Data Model - how to apply to an existing environment wit...
Adopting a Canonical Data Model - how to apply to an existing environment wit...Adopting a Canonical Data Model - how to apply to an existing environment wit...
Adopting a Canonical Data Model - how to apply to an existing environment wit...
 
A PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATEA PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATE
 
Best Practices in Metadata Management
Best Practices in Metadata ManagementBest Practices in Metadata Management
Best Practices in Metadata Management
 
Master Data Management - Aligning Data, Process, and Governance
Master Data Management - Aligning Data, Process, and GovernanceMaster Data Management - Aligning Data, Process, and Governance
Master Data Management - Aligning Data, Process, and Governance
 
Digital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by DanairatDigital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by Danairat
 
Data Profiling, Data Catalogs and Metadata Harmonisation
Data Profiling, Data Catalogs and Metadata HarmonisationData Profiling, Data Catalogs and Metadata Harmonisation
Data Profiling, Data Catalogs and Metadata Harmonisation
 
An Introduction To Oracle Database
An Introduction To Oracle DatabaseAn Introduction To Oracle Database
An Introduction To Oracle Database
 
Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schema
 
Enterprise architecture framework business case
Enterprise architecture framework business caseEnterprise architecture framework business case
Enterprise architecture framework business case
 
The Business Analyst And The Sdlc
The Business Analyst And The SdlcThe Business Analyst And The Sdlc
The Business Analyst And The Sdlc
 
Lecture10 use case model operation contracts
Lecture10 use case model operation contractsLecture10 use case model operation contracts
Lecture10 use case model operation contracts
 
Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022Training Week: Introduction to Neo4j Bloom 2022
Training Week: Introduction to Neo4j Bloom 2022
 
Ooad (object oriented analysis design)
Ooad (object oriented analysis design)Ooad (object oriented analysis design)
Ooad (object oriented analysis design)
 
White Paper - Data Warehouse Documentation Roadmap
White Paper -  Data Warehouse Documentation RoadmapWhite Paper -  Data Warehouse Documentation Roadmap
White Paper - Data Warehouse Documentation Roadmap
 
Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)
 
Beyond Java: Go for Java developers
Beyond Java: Go for Java developersBeyond Java: Go for Java developers
Beyond Java: Go for Java developers
 
Introduction to Custom Journey Builder Activities, Orkhan Alakbarli
Introduction to Custom Journey Builder Activities, Orkhan AlakbarliIntroduction to Custom Journey Builder Activities, Orkhan Alakbarli
Introduction to Custom Journey Builder Activities, Orkhan Alakbarli
 

Similar to The Art and Science of Requirements Gathering

Open / Drupal Camp Presentation: Brent Bice
Open / Drupal Camp Presentation: Brent BiceOpen / Drupal Camp Presentation: Brent Bice
Open / Drupal Camp Presentation: Brent BiceLevelTen Interactive
 
Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)
Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)
Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)raj.kamal13
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements Rohela Raouf
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
A project guide to ux design vm
A project guide to ux design vmA project guide to ux design vm
A project guide to ux design vmValentina Marzola
 
User Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional RequirementsUser Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional RequirementsMark Opanasiuk
 
documen.site_chapters-17-formulation-and-planning-for-web-engineering.pdf
documen.site_chapters-17-formulation-and-planning-for-web-engineering.pdfdocumen.site_chapters-17-formulation-and-planning-for-web-engineering.pdf
documen.site_chapters-17-formulation-and-planning-for-web-engineering.pdfMisfahulAnfiyaTN
 
From Use to User Interface
From Use     to User InterfaceFrom Use     to User Interface
From Use to User Interfaceabcd82
 
Use Cases and Use in Agile world
Use Cases and Use in Agile worldUse Cases and Use in Agile world
Use Cases and Use in Agile worldRavikanth-BA
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxarmitageclaire49
 
project (Salon Management).pptx
project (Salon Management).pptxproject (Salon Management).pptx
project (Salon Management).pptxssuserefca8b
 
Aula 2 - Planning for Web Engineering by Roger Pressman
Aula 2 -  Planning for Web Engineering by Roger PressmanAula 2 -  Planning for Web Engineering by Roger Pressman
Aula 2 - Planning for Web Engineering by Roger PressmanRogerio P C do Nascimento
 
Project-fit Blueprint.docx
Project-fit Blueprint.docxProject-fit Blueprint.docx
Project-fit Blueprint.docxMoorthy Esakky
 

Similar to The Art and Science of Requirements Gathering (20)

Open / Drupal Camp Presentation: Brent Bice
Open / Drupal Camp Presentation: Brent BiceOpen / Drupal Camp Presentation: Brent Bice
Open / Drupal Camp Presentation: Brent Bice
 
Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)
Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)
Rational Requisite Pro - Advanced (http://www.geektester.blogspot.com)
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
A project guide to ux design vm
A project guide to ux design vmA project guide to ux design vm
A project guide to ux design vm
 
Slides chapter 17
Slides chapter 17Slides chapter 17
Slides chapter 17
 
User Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional RequirementsUser Requirements, Functional and Non-Functional Requirements
User Requirements, Functional and Non-Functional Requirements
 
SE-Lecture-4.pptx
SE-Lecture-4.pptxSE-Lecture-4.pptx
SE-Lecture-4.pptx
 
documen.site_chapters-17-formulation-and-planning-for-web-engineering.pdf
documen.site_chapters-17-formulation-and-planning-for-web-engineering.pdfdocumen.site_chapters-17-formulation-and-planning-for-web-engineering.pdf
documen.site_chapters-17-formulation-and-planning-for-web-engineering.pdf
 
UCD overview
UCD overviewUCD overview
UCD overview
 
Ashok cv_1
Ashok  cv_1Ashok  cv_1
Ashok cv_1
 
From Use to User Interface
From Use     to User InterfaceFrom Use     to User Interface
From Use to User Interface
 
Use Cases and Use in Agile world
Use Cases and Use in Agile worldUse Cases and Use in Agile world
Use Cases and Use in Agile world
 
Designing the User Experience
Designing the User ExperienceDesigning the User Experience
Designing the User Experience
 
Appendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docxAppendix AProof of effectiveness of some of the agile methods us.docx
Appendix AProof of effectiveness of some of the agile methods us.docx
 
software engineering
software engineering software engineering
software engineering
 
project (Salon Management).pptx
project (Salon Management).pptxproject (Salon Management).pptx
project (Salon Management).pptx
 
Aula 2 - Planning for Web Engineering by Roger Pressman
Aula 2 -  Planning for Web Engineering by Roger PressmanAula 2 -  Planning for Web Engineering by Roger Pressman
Aula 2 - Planning for Web Engineering by Roger Pressman
 
UXD's process
UXD's processUXD's process
UXD's process
 
Project-fit Blueprint.docx
Project-fit Blueprint.docxProject-fit Blueprint.docx
Project-fit Blueprint.docx
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

The Art and Science of Requirements Gathering

  • 1. The Art & Science of Requirements Gathering Vanessa Turke UX Professional, Information Architect & Project Manager
  • 2. presentation agenda: 1. The requirement gathering challenge 2. Requirements, scope, and specifications, oh my! 3. Eight steps to making this process better 4. Requirements gathering in practice: an allegory... 5. Summary and questions
  • 3. what are the challenges we face? “Requirements are initiated by senior managers and company executives as policies, aims, objectives and other high-level statements of intent. This necessitates considerable scoping activity as requirements start with vaguely expressed intentions and users’ wish lists...” ~ Usability in Government Systems: User Experience Design for Citizens and Public Servants (Google eBook) by Elizabeth Buie & Dianne Murray
  • 5. why we need to get better as this
  • 6. as of January 2013... 1. 634 million websites 2. 51 million websites added during the past year 3. 87.8 million Tumblr blogs 4. 17.8 billion page views for Tumblr 5. 59.4 million WordPress sites around the world 6. 3.5 billion webpages run by WordPress viewed each month 7. 37 billion pageviews for Reddit.com in 2012 8. 191 million visitors to Google Sites http://royal.pingdom.com/2013/01/16/internet-2012-in-numbers/
  • 7. with more and more competition, organizations will be determined to ‘stand out’ and many will not be able to express why and how they want to do this
  • 8. features can be difficult to prioritize, and sometimes the focus ends up on the wrong content
  • 9.
  • 10. when stakeholders come from a variety of backgrounds, submitted requirements documentation can be varied and inconsistent
  • 11. documentation arrives in many different forms
  • 12. when stakeholders come from a variety of backgrounds, submitted requirements documentation can be varied and inconsistent
  • 13. from super high level, to incredibly granular
  • 14. what are we receiving as “specifications” 1. Request for proposal 2. Wireframes 3. Data base schema 4. Project charter 5. Text requirements list 6. Entity relationships 7. Photoshop files 8. Publication workflows 9. Powerpoint presentations 10. Spreadsheets 11.User stories 12. Branding guidelines
  • 15. have a goal to achieve consistency in documentation, define a common language, and strive to fill in gaps, constraints and assumptions
  • 17. what are traditional requirements? 1. Criteria to which the system or business must adhere. 2. Usually created before the coding begins 3. Nearly always written as text 4. Often defined as constraints, conditions, or capabilities to which the system must conform 5. Focus on system operation 6. Contain explicit tests or acceptance criteria 7. Often written atomically; meaning that thousands of independent shall statements can comprise a software requirements specification. http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
  • 18. in what form do we receive them? 1. Short sentence stating high level functional requirement 2. A full description of the requirement 3. Description of how it is essential to the overall system 4. Description of any technical issues of the requirement 5. Description of user interface requirements 6. Description of business requirement 7. Description of technical requirement 8. Description of cost and schedule http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
  • 19. specification as defined by IEEE standards A document that specifies, in a complete, precise, verifiable manner, the requirements, design, behaviour, or other characteristics of a system, component, product, result, or service and the procedures for determining whether these provisions have been satisfied Examples are: ★ requirement specification ★ design specification ★ product specification ★ test specification
  • 20. requirements expressed as use cases A series of interactions by the user (Actor) with the system and the response of the system Focus on interactions: Written in such a way as to succinctly define the user/system activities and data that define the interaction. Use cases can be written atomically as well, but the use case diagram is meant to tie together the use cases. Use cases are intended to be drilled down in successive levels of detail, reducing the need for nailing down the details before coding. http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
  • 21. two main components of use cases Diagrams which graphically describe actors, use cases, system boundaries, and the relationship between all of these (focused on the user). Text written in a call-and-response format that shows an action by the user, followed by the system’s response.
  • 22. requirements expressed as user stories Narrative texts that describe an interaction of the user and the system, focusing on the value a user gains from the system. A good user story uses the “INVEST” model: ★ Independent. Reduced dependencies = easier to plan ★ Negotiable. Details added via collaboration ★ Valuable. Provides value to the customer ★ Estimable. Too big or too vague = not estimable ★ Small. Can be done in less than a week by the team ★ Testable. Good acceptance criteria
  • 23. typical user story template As a [type of site visitor] I need a way to [do something] so that I can [benefit somehow].
  • 24. gherkin syntax Scenario: Some determinable business situation Given some precondition And some other precondition When some action by the actor And some other action And yet another action Then some testable outcome is achieved And something else we can check happens too http://docs.behat.org/guides/1.gherkin.html
  • 25. comparing approaches to writing requirements Traditional requirements: focus on system operations and what the system should do Use cases: focus on users and their interaction with the system in mind, the capabilities of the user and how these capabilities are met via a system response. Work flows or business flows: show system and user interaction in a call-and-response format. User stories: focus on customer value, a metaphor for the work being done, not a full description of the work. The actual work being done is fleshed out via collaboration revolving around the user story as system development progresses. http://www.scrumalliance.org/community/articles/2010/april/new-to-user-stories
  • 26. all rightie then... Requirements: a wish list of capabilities, as described in detailed specifications Scope: basket of items selected from the requirements that we set out to deliver which makes up the product, service or result being delivered to the customer Project Scope - the work to be performed to deliver the product, service or result Product Scope - the features and functions of the product, service or result http://en.wikipedia.org/wiki/Scope_(project_management)
  • 27. wikipedia on scope creep ...the incremental expansion of the scope of a project, which may include and introduce more requirements that may not have been a part of the initial planning of the project, while failing to adjust schedule and budget.
  • 28. process to manage the knowledge gap product & process experts target knowledge simplifying training current knowledge new clients Jared Spool: http://chicago2011.drupal.org/keynotes
  • 29. requirements engineering activities and process 1. Submission or Request 2. Scoping 3. Fact gathering and research 4. Analysis 5. Modelling 6. Validation 7. Trade-off Analysis 8. Negotiation
  • 30. scoping Defining the boundaries... Scoping is best achieved by discussion with all the stakeholders and tends to focus users’ attention on where the boundaries of the system investigation should lie, and helps to identify at least an initial scope for the system.
  • 31. scoping a project 1. SCOPING involves carving out a list of features and defining the product that the project will deliver. 2. PROJECT SCOPE is the work that needs to be accomplished to deliver a product, service, or result with the specified features and functions. 3.PRODUCT SCOPE is the features and functions that characterize a product. http://en.wikipedia.org/wiki/Scope_(project_management)
  • 32. fact gathering and research Background research: interviews, observation, questionnaires, text and document analysis
  • 33. three classes of research 1. Preferences: opinions and desires 2. Ability: what is understood or accomplished with a tool 3. Conceptual: how to get things done http://www.usabilityfirst.com/usability-methods/
  • 34. preferences: opinions and desires Techniques: ★ Surveys ★ Focus Groups ★ Preference Interviews ★ Card Sorting Uses: ★ Visual Interpretation ★ Branding ★ Target Market
  • 35. ability: what is understood or accomplished with a tool Techniques: ★ Prototypes ★ Usability Testing ★ Preference Interviews ★ Log Analysis ★ Customer Feedback ★ Card Sorting Uses: ★ Interaction Design ★ Interaction Flow ★ Page Layout ★ Nomenclature
  • 36. conceptual: how to get things done Techniques: ★ Task Interviews ★ Contextual Inquiry ★ Preference Interviews ★ Surveys Uses: ★ Software Structure ★ Information Architecture ★ Content Location ★ Contextual Information ★ Contextual Marketing ★ Gap Analysis
  • 37. analysis ★ Filling in the details ★ What is the system purpose (goals)? ★ What objects are involved? ★ Where is the system located? ★ When should things happen? ★ Why is the system necessary (goals or problems it intends to solve)?
  • 38. modelling ★ Data flow diagrams ★ Entity relationship diagrams
  • 39. validation Getting users to understand the implications of a requirements specification and then agree, i.e. validate, that it accurately reflects their wishes. A walkthrough of any of: ★ Data flow diagrams ★ Prototype demo ★ Scenario-based representations ★ Animated simulations
  • 40.
  • 44. trade-off analysis Requirements are often held by different stakeholders who may have conflicting views, hence trade-off analysis is an essential activity for comparing, prioritizing and deciding between different requirements or design options. Ranked lists or matrix-based techniques using decision tables are helpful for this analysis. The modelling techniques proposed by Chung (1993) and Yu (1993) for mapping relationships and dependencies between goals, tasks, actors and soft goals (alias nonfunctional requirements), contains some guidance for trade-off analysis. http://www.interaction-design.org/encyclopedia/requirements_engineering.html
  • 46. negotiation A discussion, explanation and negotiation of conflicting requirements
  • 47. putting it into practice
  • 48. putting it into practice 1. 2. 3. 4. 5. 6. 7. 8. Submission or request Scoping Fact gathering and research Analysis Modelling Validation Trade-off analysis Negotiation
  • 49. 1. request : prepare an informal 2 course dinner for 4 Must have: ★ Protein ★ Carbohydrates ★ Vegetables ★ Something sweet
  • 50. 2. scoping Boundaries: ★ Dinner means after 5pm ★ Guests are available most of July ★ 2 courses are main and dessert ★ Vegetables should be organic ★ Protein cannot be red meat ★ Must take place outside ★ Drinks not included
  • 51. 3. fact gathering and research Guest interviews: ★ Shellfish allergy ★ Enjoy spicy, ethic food ★ Favourite vegetables are peppers ★ 3 guests like chocolate desserts best ★ 1 guests likes vanilla desserts best ★ 2 of the guests love Cuban food ★ 1 of the guests loves asian food ★ All four love ‘comfort food’ ★ Guests are from the same family
  • 52.
  • 53.
  • 54. 4. analysis ★ Purpose of the dinner is to celebrate a birthday ★ The host is one of the four The location will be on the host’s patio Host will provide furniture ★ Host will provide beverages Dishes, cutlery, napkins and stemware will be needed No server or bartender will be required A good date for the event is July 5, 6, 12, or 13 Guests can arrive at 5:30 The dinner is expected to last 2-3 hours ★ Host will cleanup
  • 55. 5. recipe for moros y cristianos - (data modelling) 1 Small Spanish Onion – (diced small) 1 Small Cubanelle Pepper (diced small) 2 Garlic Fingers (minced) 2 tbsp FRESH Chopped Cilanto 2 tbsp FRESH Culantro leaves – Find this at local Latin or Asian markets 2 tbsp + 1/4 cup Extra Virgin Olive Oil 1 tbsp Sea Salt 1/2 tsp Fresh Ground Black Pepper 2 tsp Dried Thyme Pinch of Saffron 2 tbsp Sofrito 1/4 cup FRESH Sazón 1/4 cup Red Cooking Wine 1/3 cup PITTED Alcaparrados 8oz can Spanish Tomato Sauce 2 Bay Leaves 4 Cups Long Grain Rice – I use organic brown rice 1 Quart (4 cups) organic vegetable stock _http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/
  • 57. 6. validation - walkthrough Platillo Moros y Cristianos is a famous Cuban dish
  • 58. 6. validation - walkthrough Creme Caramel is a dessert served in Cuba
  • 59. 7. trade-off analysis ★ Chocolate vs. vanilla? ★ Add a birthday cake or include candles? ★ Organic vs. conventional produce? ★ Have the dinner indoors if raining?
  • 60. 8. negotiation ★ Documentation: menu and ingredients ★ List of assumptions and constraints ★ Finalized budget, schedule and scope
  • 61. an emerging field Requirements Engineering is"designing the right thing" as opposed to software engineering’s "designing the thing right" ~ Barry Boehm, 1981 "Software systems requirements engineering (RE) is the process of discovering that purpose, by identifying stakeholders and their needs, and documenting these in a form that is amenable to analysis, communication, and subsequent implementation". ~ Nuseibeh and Easterbrook, 2000

Editor's Notes

  1. {}