presentation agenda:
1.Introductions2.The requirement gathering challenge3.Requirements: Conscious, Unconscious, Undreamt 4.Techniques & Approaches 5.Requirements gathering in practice: an allegory6.Summary and questions
why are you interested in this topic?
1.To be more successful in our professional careers2.To contribute to the success of a project3.To help our clients succeed4.To make money5.To look good6.To avoid pain7.To be cool…
common scenarios
1. Redesign: Design refresh and technology upgrade, with feature enhancements
2. Brand New: Green field build, 'new concept' 3. Rescue Project: Legacy system, half-built
site, things learned since initial documentation
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
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
when stakeholders come from a variety of backgrounds, submitted requirements documentation can
be varied and inconsistent
documentation arrives in many different forms
documentation…1. Request for proposal2. Wireframes3. Data base schema4. Project charter5. Text requirements list6. Entity relationships7. Photoshop files8. Publication workflows9. Powerpoint presentations10. Spreadsheets11.User stories12. Branding guidelines
what are traditional requirements?1. Criteria to which the system or business must adhere.2. Usually created before the coding begins3. Nearly always written as text4. Often defined as constraints, conditions, or capabilities to which the system must conform
5. Focus on system operation6. Contain explicit tests or acceptance criteria7. 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
from super high level, to incredibly granular
getting the right balance of information is hard
Prioritization is hard… it’s easy to put emphasis on the wrong things.
For emaxlpe, it deson’t mttaer in waht oredr the ltteers in a wrod
aepapr, you can sitll raed it.
S1M1L4RLY, Y0UR M1ND 15 R34D1NG 7H15 4U70M471C4LLY
W17H0U7 3V3N 7H1NK1NG
we can be precise without being accurate
have a goal to achieve consistency in documentation, define a common language, and strive to fill in gaps,
constraints and assumptions
In order to be precise and accurate…
“But they will just go to someone who will agree to build what they
ask”
Objection! Oh, do you really want to build what was asked for, but not what was needed?
"Instead of buying a product, the customer buys the satisfaction of
a need”~Peter Drucker
Want to win an argument and loose the war? Betcha they’ll be back as a rescue project…
a technique way to uncover requirements
1. Conscious Requirements - Problems that the new system must
solve
2. Unconscious Requirements - Issues already adequately
addressed by the current system, and important not to overlook
3. Undreamed of Requirements - Items that would be considered
important if it was known they were possible or if they were better
understood
undreamt requirements analysis acknowledges that users:
1. Cannot always articulate what they truly want or need
2. Do not have the necessary background to ask the right
questions
3. Cannot be expected to provide reasonable answers
4. Only know what they have experienced
5. Do not have the incentive to think hard about the problems
“Undreamt requirements are essentially where [we] can provide
[the] greatest value-add by introducing innovations,
disruptions, and a new set of possibilities.”
http://estudijas.lu.lv/pluginfile.php/234737/mod_resource/content/0/An%20Early%20Start%20to%20Testing%20How%20to%20Test%20Requirements.htm
process to manage the knowledge gap
product & process experts
Jared Spool: http://chicago2011.drupal.org/keynotes
target knowledge
current knowledgetraining
simplifying
new clients
requirements engineering activities and process1. Request
2. Information Gathering ( and Research)
3. Analysis
4. Modelling
5. Validation
6. Trade-off Analysis
7. Scoping
8. Negotiationhttps://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed/requirements-engineering
Abstracts give patterns(follow the 80/20 rule for budget control!)
Specifics give outliers(that may mean customization!)
Too high level may miss driving values…
Too granular could miss overarching goals
Strive for balance
conscious, high level requirements: an invitation to conversation
1. Loaded word features: “online community” or “membership portal”
2. Request for distant future features (‘content personalization in 2018’)
3. Automagical thinking without the IA to support 4. Requests without a good understanding of what kind of technical planning needs to go into it (event registrations, recurring subscriptions, tiered content, user generated content, powerful search
granular conscious requirements
1. Layout specifications without having done information architecture
2. Specifications for content creation workflow and forms for a Drupal site from people who do not work in Drupal
3. Requests for specific contrib modules4. Content editing screens described down to the button label
unpacking requirements
1.Business Insight2.Content Strategy3.Information Architecture4.User Behaviour Data
big picture - what does this site do?
1. Branding - drive awareness, engagement and loyalty2. Online info/support - Help customers find answers3. Content publishing - Ads shown to visitors4. Lead generation - Contact info from sales prospects5. Ecommerce - Sell products6. E-Learning - Facilitate online courses7. Social Network - Online community8. Specialized Application - Task based tool9. Other (please specify)
digital analytics - base web metrics by site type
1. Lead Generation Metrics2. Support Metrics3. Commerce Metrics4. Content Metrics (Ad or Subscription)
unconscious (often assumptions)
1. Legacy phrases: ’widget’, ‘plug-in’ ‘feed’ 2. Responsive and mobile priority3. Transactional email triggers and rules4. Layout variations and control5. Where a CMS begins and ends6. Third-party integrations
“Tell me what the Drupal can do, and I’ll tell you which part I need”
Dont fall for this trap…
“Tell me what your current system does and we’ll tell you how to build it in Drupal”
Resist the temptation…
“the legacy system”
Don’t try to describe whathappens in the hat…
Focus on desired outcome.
In other words, focus on the unstated problem not on the stated solution - be it
implicitly or explicitly stated.
azquotes.com
Spend time defining the ‘what’ before you go onto the ‘how’
undreamt requirements
1. Are things no one knows how to ask about 2. May blow your mind3. May not blow your mind4. Often mirror real-world activities5. Can be Drupal tools we already know about
“But there is not time/money/support for this
process”
A common objection… but if you don’t spend time now, you will spend it later…
Be gentle when uncovering the ‘why’, there’s no need to point out mistakes or tell people how to run their business…
techniques
1. Abstraction2. Apprenticing / Interviewing3. Business Events4. Brainstorming5. Mind Mapping6. Simulation Models
abstraction
Diagrams or models that focus on the "essence" of the thing
apprenticing / interviewing
The ‘apprentice’ observes what the master does, asks questions and rephrases.
business events
Investigating and managing business event responses.
brainstorming
Rapidly generating as many ideas a possible without stopping to evaluate or clarify.
mind mapping
Using words, pictures, symbols and colour to capture subject matter in a non-linear way.
simulation models (scenarios, prototypes)
To make something appear to be real for the purpose of stimulating requirements or ideas that might otherwise be forgotten or overlooked, designed according to the characteristics and knowledge of the intended audience.
what are we looking for? (hint: balance)
1.The Big Picture2.Relationships3.Context4.Priorities5.Reasons6.Assumptions7.Constraints8.Boundaries
validation
Getting users to understand the implications of a requirements specification and then agree, i.e. validate, that it accurately reflects their wishes.
negotiation
A discussion, explanation and negotiation of conflicting requirements
catering a meal metaphor
1.Requirements list = recipes2.Features = dishes3.Content = ingredients4.Constraints = allergies5.Users = guests6.User Interface = plates & cutlery7.Team = chefs, servers8.Technology = kitchen & equipment
request : prepare an informal 2 course dinner for 4
Must have:● Protein● Carbohydrates● Vegetables● Something sweet
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
fact gathering and researchGuest 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
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
recipe for moros y cristianos1 Small Spanish Onion – (diced small)1 Small Cubanelle Pepper (diced small)2 Garlic Fingers (minced)2 tbsp FRESH Chopped Cilanto2 tbsp FRESH Culantro leaves – Find this at local Latin or Asian markets2 tbsp + 1/4 cup Extra Virgin Olive Oil1 tbsp Sea Salt1/2 tsp Fresh Ground Black Pepper2 tsp Dried ThymePinch of Saffron2 tbsp Sofrito1/4 cup FRESH Sazón1/4 cup Red Cooking Wine1/3 cup PITTED Alcaparrados8oz can Spanish Tomato Sauce2 Bay Leaves4 Cups Long Grain Rice – I use organic brown rice1 Quart (4 cups) organic vegetable stock
_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/
_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/
validation - walkthrough
Platillo Moros y Cristianos is a famous Cuban dish_http://theposhlatincook.com/tag/dominican-rice-and-beans-recipe/
Validation helps set realistic expectations… was it this they had in mind?
Or was it something more like this…?
trade-off analysis
● Chocolate vs. vanilla?● Add a birthday cake or include candles?● Organic vs. conventional produce?● Have the dinner indoors if raining?
negotiation
● Documentation: menu and ingredients● List of assumptions and constraints● Finalized budget, schedule and scope
Strive for balance! Abstracts give overarching patterns, specifics provide places to find value.
Thanks | Questions?
Thanks | Questions?
resource listSuper awesome UX resource site: https://uxdesign.cc
So many great books: http://rosenfeldmedia.com/books/
A true classic: https://www.amazon.ca/Information-Architecture-World-Wide-Web/dp/0596527349
Many great search UI examples http://searchpatterns.org
Customer Service Guru Naomi Karten’s book: https://www.amazon.ca/Managing-Expectations-Working-People-Better/dp/0932633277
Especially for PMs: http://www.amazon.com/Blind-Men-Elephant-Mastering-Project/dp/1576752534
Game changer: http://leananalyticsbook.com/
Another great resource site: https://www.interaction-design.org/
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 toolTechniques: ● Prototypes● Usability Testing● Preference Interviews● Log Analysis● Customer Feedback● Card Sorting
Uses:● Interaction Design● Interaction Flow● Page Layout● Nomenclature
conceptual: how to get things doneTechniques: ● Task Interviews● Contextual Inquiry● Preference Interviews● Surveys
Uses:● Software Structure● Information Architecture● Content Location● Contextual Information● Contextual Marketing● Gap Analysis