Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
WritingValuableRequirements:FromPersonastoUseCasesandUserStoriesMattiasArvolaSICSEastSwedishICTDepartmentofComputerandInformationScience
ValueinUse
3
• The value of a product, system or service does not exist until it is being used
• Values that stakeholders have that guide prioritisation and selection
• Value in use is the outcomes achieved by stakeholders in collaboration in a process
• Value in use are the qualities and experiences of stakeholders in the usage process
ValuePropositions
4
• Value is defined by the stakeholder (e.g. users) • Value is co-created by the stakeholders
• It is only the customer (or user in design-speak) who can say if what was done for her provided the desired outcome(s)
• You can only offer value propositions = the value we believe we can provide for the customer
ValueinUseforYourProject
5
• Who are the most central people in co-creating the intended value?
• How can you get to understand the value-in-use for them?
• What is the role of your software? • What could be a relevant value proposition for the
user? • Beyond software, what would need to be in place for
the value-in-use to be achieved?
Maria, Tom and Owen start the Minnesmark app to go on a computer augmented treasure hunt.
Maria chooses which treasure hunt and they are off. They take part of stories at places along the way.
Marker-based augmented reality is used to animate the story so that virtual objects are embedded with the camera view in the background.
There are, at some places, panoramas that show the place as it once was. Tom navigate a panorama by holding his iPad infront of him while turning around.
They find treasures in the form of various media along the way, and the treasures are sent to Owen's email address at the end of the treasure hunt. It's great that Owen's teacher could use the Minnesmark Editor to set up this trail for them.
Minnesmark
RequirementsIsAboutCommunication
7
Requirements(dataneeds,functionalneeds,qualities,constraints,experienceattributes)
Customerpersonas
Goals
Brain-storming
Ideas
Stakeholders
BrandBusinessobjectives
Constraints
Externalinfluences(competitors,
media,regulatoryagencies)
DifferentiationFeatureparityRegulations
Personagoals
ScenariosMentalmodelsGoalsEnvironmentsSkills
Userpersonas
DifferentKindsofRequirements 9
• Data • Objects (nouns) +
attributes from a persona’s mental model
• Things that someone search for, manipulate, read…
• Functions • The verbs that
describe what users should be able to do
with the product (or the data)
• Product Qualities • Performance, response
time, security • Constraints • External factors, i.e.
deadline, cost, law… • UX goals/attributes • What users should
experience (adjectives/adverbs)
10
SOURCE DATA FUNCTION QUALITY CONSTRAINT
PERSONA
Scenario Numberofphotosleft
Beabletoremovephotos
Mentalmodel Understandtheeffectofsettings
Goals Professionallook&feel
Context Visiblescreeninsunlight
Skills Handlesharpcontrastautomatically
Fitthehandofaveragefemale
STAKEHOLDER Price4–5000kr
COMPETITION >6megapixel
11
Brainstorming Createcontextscenarios
Generatepotentialrequirementsfrom
othersourcesFilterandprioritize
ContextScenarios
12
• How the product can serve a persona’s needs • Future oriented (not current problem scenarios) • From a persona’s perspective • A story with a beginning, a body, and an end • Focuses on positive qualities • Litmus test for cool ideas
13
Personas Scenarios
Systemadministrator InstallthesystemAddanaccountChangesettingsRemoveanaccountUpgradethesystem
Enduser FirstuseofthedayUsageduringthedayUsagefromhome
Mobileuser MobileuseUsefromabroad
Developingascenario
14
• Who • What • Where • When • Why • How
15
FromScenariostoRequirementsContextScenario(snippet)
FunctionalNeeds(beableto…verbs)
DataNeeds(objects…nouns)
LauratakesacallfromMr.Cowell,whoneedstomakeanappointmentforhiscattohaveatumorremoved.Lauralookshimupandseesthathehastwocats.
Lookupcallersamongexistingclients
- Call- Client- Appointment
Seeoverviewinformationabouteachclientandpet
- Diagnosis- Procedure- Pet
https://www.lucidchart.com/pages/use-case-scenario-example-and-template-UML
UserStorieshttps://www.mountaingoatsoftware.com/agile/user-stories
17
• As a <type of user>, I want <some goal> so that <some reason>.
• As a power user, I can specify files or folders to backup based on file size, date created and date modified.
• As a user, I can indicate folders not to backup so that my backup drive isn't filled up with things I don't need saved.
WorkingTowardsDesign
18
DefiningtheDataModel 19
Object Definition Relations States Actions Attributes
Client Apersonororganisationwhom’spethasbeen(orwillcometo)veterinaryortechnician
- Containsoneorseveralpets
- Containsoneorseveralinvoices
- Incomplete(startedbutlacksinfo)
- Active(currentcustomer)
- Archived
- Create- Edit- Read- Archive- Find
- Name- Address- Phonenumber- Email- Accountbalance- Invoicehistory
Pet Ananimalthathasbeento(orhasanappointmentwith)aveterinaryortechnician
- Ispartofacustomerfile
- Cancontainoneorseveralappointments
- Incomplete(startedbutlacksinfo)
- Active(currentcustomer)
- Needsfollow-up- Archived- Deceased
- Create- Edit- Read- Find
- Name- Kindofanimal- Age- Sex- Colour- Temper- Healthhistory- Medications- Allergies
Appointments Aneventwherethepetisexamined
- Ispartofacustomerfile
- Usuallyrelatedtoaninvoice
- Incomplete(startedbutlacksinfo)
- Complete
- Create- Edit- Read
- Notes- Orderedtests- Diagnoses- Prescriptions- Amountinvoiced- Follow-uprequired
FunctionalElements–OfficePhone
20
Functionalneed Functionalelement
Callknowncontactsorcolleagues Contactlistonscreen
Callnumberthatisn’tinthecontactlist
Keypad(physicalorvirtual)
Gothroughmessages Messagedisplayonscreen,soundmenuforvoicecontrol
Managecalls(hold,move) Holdbutton,movebutton(physicalorvirtual)
DefiningtheInteractionFramework
21
• Create Key Path Scenarios • Group functional elements • Sketch storyboards • Add and change sketches based on more scenarios • Adjust according to validation scenarios
KeyPathScenarios
22
• Describes the user’s interactions with a product. • Focus on the most significant user interactions. • How the persona uses the product to achieve goals. • Take the context scenario and add functional
elements
ABookingsystem
23
• Persona: Laura, receptionist at the veterinary clinic
• Goals: • Keep calm in chaos • Prevent staff and clients
from getting upset • Keep track of all details
• Activities: • Go through todays
appointments • Create a file for a new client • Check someone in
• Discharge someone • Send invoices • Follow up invoice question • Follow up unpaid invoices • Make appointment • Change appointment
FunctionalElementsintheContextScenario
24
ContextScenario(snippet)
FunctionalNeeds FunctionalElements
LauratakesacallfromMr.Cowell,whoneedstomakeanappointmentforhiscattohaveatumorremoved.Lauralookshimupandseesthathehastwocats.
Lookupcallersamongexistingclients
- Areafortheclientlist
Seeoverviewinformationabouteachclientandpet
- Overviewforclient- Overviewforseveralpets
AddtheFunctionalElementstotheContextScenario
25
Laura takes a call from Mr. Cowell, who needs to make an appointment for his cat to have a tumor removed. Laura finds him in the client list and opens his record to see detail in the client overview display area, which shows that Mr. Cowell has two cats, one of whom is flagged for follow up. She looks at the pet overview display area, sees that Xena needs surgery, and confirms with Mr. Cowell that the procedure is for Xena. She clicks to create a new appointment and chooses the procedure type in the appointment parameters area.
26
Displayareaforalternative
appointmentsDisplayareaforbest
appointment
Displayareaforpetoverview
Displayareaforcustomeroverview
Calendar
Displayareaforappointmentparameters
Clientlist
Clientlistpossiblestartpointforanorganizer/workspacepattern?
27
Laura takes a call from Mr. Cowell, who needs to make an appointment for his cat to have a tumor removed. Laura finds him in the client list and opens his record to see detail in the client overview display area, which shows that Mr. Cowell has two cats, one of whom is flagged for follow up.
28
She looks at the pet overview display area, sees that Xena needs surgery, and confirms with Mr. Cowell that the procedure is for Xena. She clicks to create a new appointment and chooses the procedure type in the appointment parameters area.
And so on and on…
Validation
29
• Validation Scenarios: ”What would happen if?” • Validation with Stakeholders: The result of the
framework design is checked with stakeholders to decide how to proceed
Exceptional
Trustworthy
Approachable
ProfessionalReliable
Powerful
CompetentSolid
Efficient
Advanced
UniquePrestigious
Elite
Inspired
Sleek
Elegant
InvitingHelpful
Polished
www.liu.se
@mattiasarvola