Requirements as User Stories and UI Design

47

Transcript of Requirements as User Stories and UI Design

Page 1: Requirements as User Stories and UI Design

Requirements as User Stories and UI Design

CS 370 SE Practicum, Cengiz Günay

(Some slides courtesy of Eugene Agichtein and the Internets)

Did your spring break?

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 1 / 17

Page 2: Requirements as User Stories and UI Design

Agenda

Due after Spring Break:

Project interface mock-up and object-data model designs(see class #8 notes from 2/18)Details in Project tab on class websiteDeadline moved to Thursday, 3/20 :)

Today:

User stories, use cases, state diagrams, scenario-based designBefore that: WebIdol winner!

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 2 / 17

Page 3: Requirements as User Stories and UI Design

Agenda

Due after Spring Break:

Project interface mock-up and object-data model designs(see class #8 notes from 2/18)Details in Project tab on class websiteDeadline moved to Thursday, 3/20 :)

Today:

User stories, use cases, state diagrams, scenario-based designBefore that: WebIdol winner!

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 2 / 17

Page 4: Requirements as User Stories and UI Design

Dim the lights, here we go!

Page 5: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 2

Requirements Analysis   Requirements analysis

  specifies softwareʼs operational characteristics   indicates software's interface with other system elements   establishes constraints that software must meet

  Requirements analysis allows the software engineer (called an analyst or modeler in this role) to:   elaborate on basic requirements established during earlier

requirement engineering tasks   build models that depict user scenarios, functional

activities, problem classes and their relationships, system and class behavior, and the flow of data as it is transformed.

Page 6: Requirements as User Stories and UI Design

Know Your Domain

(c) earthonlinemedia.com

Günay (Emory) Requirements Modeling Fall 2013 4 / 9

Page 7: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 6

Domain Analysis   Define the domain to be investigated.   Collect a representative sample of applications

in the domain.   Analyze each application in the sample.   Develop an analysis model for the objects.

Page 8: Requirements as User Stories and UI Design

(c) dreamstime.com

Page 9: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 11

Use-Cases   a scenario that describes a “thread of usage” for

a system   actors represent roles people or devices play as

the system functions   users can play a number of different roles for a

given scenario

Page 10: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e

(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 13

Use-Case

Diagram

homeowner

Access camera

surveillance via the

Internet

Conf igure SafeHome

system parameters

Set alarm

cameras

SafeHome

Page 11: Requirements as User Stories and UI Design

From a �use case� to �user stories�

Use case diagram shows all things an actor can do

Can be broken down to individual user stories

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 4 / 17

Page 12: Requirements as User Stories and UI Design

User Stories

Templates & Examples

Page 13: Requirements as User Stories and UI Design

Estimation & Planning

User Stories are the central focus for developersEach User Story should imply an acceptance testComplexity is estimated in Story Points

Arbitrary measure of relative complexity We use modified Fibonacci Sequence (0, 1, 2, 3, 5, 8, 13, 21) Estimates are collaborative to uncover assumptions Based on Staffing we estimate how many Story Points we can

accomplish in a 2 week Iteration (Velocity)

Page 14: Requirements as User Stories and UI Design

User Story Template

Page 15: Requirements as User Stories and UI Design

Example from Template

Page 16: Requirements as User Stories and UI Design

Other Example User Stories*

These were excerpted from http://www.westborosystems.com/2010/02/user-story-examples/ Also see http://agile.csc.ncsu.edu/SEMaterials/tutorials/coffee_maker/ for a great set of examples and

tutorials

Page 17: Requirements as User Stories and UI Design

Key Points

Cards: physical (or virtual) medium where the story is recordedConversation:Discussion and clarification, modification of the story via communication with the userConfirmation:Tests to verify the user story

Page 18: Requirements as User Stories and UI Design

I.N.V.E.S.T.

I = independent. Not requiring other features.N = negotiable. Can be excluded, revised, etc.V = valuable. Clearly contributing to product usefulnessE = estimable. Reasonable development estimates can be made from the story.S = small. Stories that are too big tend to be vague and to miss the other points, too.T = testable. Stories need to have a means of verifying functionality.

Page 19: Requirements as User Stories and UI Design

So how to maintain user stories?

Use online tool: Pivotal TrackerI To create, assign, and maintain user stories for your project

Mandatory: We will track your progress through it.I your points for �rst iteration (due 3/20) depend on it!

I own an academic account, we will send invites to teams.

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 5 / 17

Page 20: Requirements as User Stories and UI Design

So how to maintain user stories?

Use online tool: Pivotal TrackerI To create, assign, and maintain user stories for your project

Mandatory: We will track your progress through it.I your points for �rst iteration (due 3/20) depend on it!

I own an academic account, we will send invites to teams.

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 5 / 17

Page 21: Requirements as User Stories and UI Design

User Interface Design

Page 22: Requirements as User Stories and UI Design

(c) thedailywtf.com

Page 23: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 2!

Interface Design!

Page 25: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 3!

Interface Design!

Page 26: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 4!

Golden Rules!

!  Place the user in control!!  Reduce the userʼs memory load!!  Make the interface consistent!

Page 28: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 5!

Place the User in Control!

Page 30: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 6!

Reduce the Userʼs Memory Load!

Page 32: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 7!

Make the Interface Consistent!

Page 34: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e

(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 15

Interface Design Steps

Using information developed during interface analysis, define interface objects and actions (operations).

Define events (user actions) that will cause the state of the user interface to change. Model this behavior.

Depict each interface state as it will actually look to the end-user.

Indicate how the user interprets the state of the system from information provided through the interface.

Page 35: Requirements as User Stories and UI Design

These slides are designed to accompany Software

Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill,

2009). Slides copyright 2009 by Roger Pressman.

14

Activity Diagram enter password

and user ID

select major funct ion

valid passwor ds/ ID

prompt for reent ry

invalid passwor ds/ ID

input t r ies r em ain

no input

t r ies r em ain

select surveillance

ot her f unct ions

m ay also be

select ed

t hum bnail views select a specif ic cam er a

select camera icon

prompt for

another v iew

select specif ic

camera - thumbnails

exit t his f unct ionsee anot her cam er a

view camera output

in labelled window

Supplements the use

case by providing a

graphical representation

of the flow of interaction

within a specific scenario

Page 36: Requirements as User Stories and UI Design

These slides are designed to accompany Software

Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill,

2009). Slides copyright 2009 by Roger Pressman.

15

Swimlane

Diagrams

Allows the modeler to represent the flow of activities described by the use-case and at the same time indicate which actor (if there are multiple actors involved in a specific use-case) or analysis class has responsibility for the action described by an activity rectangle:

•Actors

•Timing

•Flow

enter password

and user ID

select m ajor funct ion

valid p asswo r d s/ ID

prom pt for reent ry

in valid

p asswo r d s/ ID

in p u t t r ies

r em ain

n o in p u t

t r ies r em ain

select surveillance

o t h er f u n ct io n s

m ay also b e

select ed

t h u m b n ail views select a sp ecif ic cam er a

select cam era icon

generate video

output

select specif ic

cam era - thum bnails

exit t h is

f u n ct io n

see

an o t h er

cam er a

h o m e o w n e r c a m e ra i n t e rf a c e

prom pt for

another v iew

view cam era output

in labelled window

Page 37: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 16!

Design Issues!!  Response time!!  Help facilities!!  Error handling!!  Menu and command

labeling!!  Application accessibility!!  Internationalization!

Page 38: Requirements as User Stories and UI Design

Usability Testing

De�ne tasks

I user storiesI use cases

De�ne users

I TestersI Regular users

Test and collect measurements

I Time to complete taskI Common errorsI ComplaintsI Bugs

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 13 / 17

Page 40: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 17!

WebApp Interface Design!!  Where am I? The interface should !

!  provide an indication of the WebApp that has been accessed !!  inform the user of her location in the content hierarchy.!

!  What can I do now? The interface should always help the user understand his current options!!  what functions are available?!!  what links are live?!!  what content is relevant?!

!  Where have I been, where am I going? The interface must facilitate navigation. !!  Provide a “map” (implemented in a way that is easy to understand)

of where the user has been and what paths may be taken to move elsewhere within the WebApp.!

Page 41: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 18!

Effective WebApp Interfaces!!  Bruce Tognozzi [TOG01] suggests…!

!  Effective interfaces are visually apparent and forgiving, instilling in their users a sense of control. Users quickly see the breadth of their options, grasp how to achieve their goals, and do their work.!

!  Effective interfaces do not concern the user with the inner workings of the system. Work is carefully and continuously saved, with full option for the user to undo any activity at any time.!

!  Effective applications and services perform a maximum of work, while requiring a minimum of information from users.!

Page 42: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 23!

Mapping User Objectives!

objective #1objective #2objective #3objective #4objective #5

objective #n

List of user objectives

Home page text copy

graphic

graphic, logo, and company name

Navigationmenu

Menu barmajor functions

Page 43: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 25!

Aesthetic Design!!  Donʼt be afraid of white space.!!  Emphasize content.!!  Organize layout elements from top-left to

bottom right. !!  Group navigation, content, and function

geographically within the page.!!  Donʼt extend your real estate with the scrolling

bar.!!  Consider resolution and browser window size

when designing layout.!

Page 44: Requirements as User Stories and UI Design

These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.! 26!

Design Evaluation Cycle!

Page 45: Requirements as User Stories and UI Design

12 Techniques for UI Design

From: �12 Useful Techniques For Good User Interface Design�by Dmitry Fadeyev

1 Highlight important changes2 Enable keyboard shortcuts in your Web application3 Upgrade options from the account page4 Advertise features of the application5 Use color-coded lists6 O�er personalization options7 Display help messages that attract the eye8 Design feedback messages carefully9 Use tabbed navigation10 Darken background under modal windows11 Lightboxes and Slideshows12 Short sign-up forms

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 15 / 17

Page 46: Requirements as User Stories and UI Design

Joel Spolsky on Software Requirements

Highly recommended reading from Joel Spolsky's blog:

Painless Functional Speci�cations

Part 1: Why Bother?

Part 2: What's a Spec?

* �Functional speci�cations� in Joel's words is equivalent to our �functionalrequirements.�

CS 370, Günay (Emory) User Stories and UI Design Spring 2014 16 / 17

Page 47: Requirements as User Stories and UI Design

Happy Spring Break!