Agile Methods and User-Centered Design

1 / 29
About This Presentation
Title:

Agile Methods and User-Centered Design

Description:

Some balanced methods are emerging Code Science uses XP + Componentized Architecture Risk based situation audits ... structure of the ... enemy of the good) [Voltaire ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0

less

Transcript and Presenter's Notes

Title: Agile Methods and User-Centered Design


1
Agile Methods and User-Centered Design Recent
Work
2
Overview (In Case I Get Lost)
  • Intro to agile
  • Problems
  • Intro to User Centered Design
  • Where is it?
  • A question of design
  • Can they be combined?
  • Various attempts
  • Summary

3
What is Agile
  • 4 values 12 principles
  • Existing types, and custom builds
  • Incremental development, iterations, flexibility
  • Communication
  • Emerging development (YAGNI), no (BDUF) or
    framework development
  • Emphasis on testing
  • Generalists
  • Project vision???
  • About code and development (inward focus)
  • Tacit knowledge sharing

4
Misconceptions
  • Agility isnt about speed
  • Less of a process and more of a set of heuristics

5
Problems
  • Agile might not scale
  • Inward focused (Code Centric)
  • Separating design from engineering
  • The customer is the expert
  • User stories written by customers, not users

6
Thinking Like an Engineer
  • Draw a table named person. The table should have
    4 columns named
  • NAME
  • AGE
  • HEIGHT
  • WEIGHT

Answer
7
UCD from IBMhttp//www-306.ibm.com/ibm/easy/eou_e
xt.nsf/publish/2
  • Norman and Draper 1986
  • User-Centered Design is a method for designing
    ease of use into the total user experience with
    products. It enables organizations to
    consistently develop engaging products that are
    easy to buy, easy to set up, easy to learn, easy
    to use, and easy to upgrade. It calls for a
    multidisciplinary team to design everything the
    user sees and touches and to gather user input
    and feedback during each stage of the development
    process.

8
IBM Messages for Promoting UCD
  • Is your technology showing?
  • Nobody buys ease of use, but nobody buys products
    without it either
  • Ease of use may be invisible, but its absence
    sure isnt
  • Want to make the most of the e-business
    opportunity?
  • Do you know who your users are?
  • Engineering the killer app isnt exactly childs
    play. But using it better be (difficult to use
    systems fail)

9
Others?
  • GUIDE
  • BRIDGE
  • OVID

10
Where is it ?
11
Design for Developers
  • Consistent interface
  • Clear vision for product
  • Reasonable expectations of technology
  • Others?

12
Design for Users
  • Gulfs of understanding
  • Consistency
  • Simplicity
  • Memory issues
  • Status indicators
  • HCI and design

13
You dont need to understand how this works to
tell the time.
lt-Back
14
http//pages.cpsc.ucalgary.ca/tamj/481/
15
Can we Combine Them?
  • User input early in the process (human-centric)
  • Prototyping
  • Evolutionary design
  • Iterations
  • Light documentation
  • Rates of change

16
Can we Combine Them?Boem and Turner
  • 6 Observations
  • Neither agile nor plan-driven methods provide a
    silver bullet
  • Agile and plan driven have a home ground
  • Future trends are toward hybrids
  • Balanced methods emerging
  • Better to build up than to tailor down.
  • Methods are important, but silver bullets are
    more likely to be found dealing with people,
    values, communications and expectations
    management

17
User Centered Design (Light)?
  • Usage Centered Design http//www.foruse.com/
    Constantine and Lockwood
  • Discount Usability Engineering, Jakob Nielson,
    www.useit.com
  • Alan Coopers Interaction Design ???
  • Rapid Contextual Design http//www.incent.com/cd/c
    dhow.html
  • Code Science http//www.stsc.hill.af.mil/crosstalk
    /2002/10/manzo.html
  • Jeff Patton incorporating Usage Centered Design
    into an agile software development environment.

18
Usage Centered Design
  • Model driven approach
  • Role model
  • Task model
  • Content model
  • Essential model

19
UCD Model Driven Approach
20
Use Case VS Task Case
21
Key Differences Between UCD and UCD
22
Discount Usability Engineering
  • Method for evaluation interfaces
  • Scenarios
  • Simplified thinking aloud
  • Heuristic evaluation
  • Validating discount usability engineering

23
Scenarios
  • Horizontal prototype
  • Vertical prototype
  • Paper mockups

lt-Back
24
Simplified Thinking Aloud
lt-Back
25
Heuristic Evaluationhttp//www.useit.com/papers/h
euristic/heuristic_list.html
  • Visibility of system status
  • The system should always keep users informed
    about what is going on, through appropriate
    feedback within reasonable time.
  • Match between system and the real world
  • The system should speak the users' language, with
    words, phrases and concepts familiar to the user,
    rather than system-oriented terms. Follow
    real-world conventions, making information appear
    in a natural and logical order.
  • User control and freedom
  • Users often choose system functions by mistake
    and will need a clearly marked "emergency exit"
    to leave the unwanted state without having to go
    through an extended dialogue. Support undo and
    redo.
  • Consistency and standards
  • Users should not have to wonder whether different
    words, situations, or actions mean the same
    thing. Follow platform conventions.
  • Error prevention
  • Even better than good error messages is a careful
    design which prevents a problem from occurring in
    the first place.
  • Recognition rather than recall
  • Make objects, actions, and options visible. The
    user should not have to remember information from
    one part of the dialogue to another. Instructions
    for use of the system should be visible or easily
    retrievable whenever appropriate.
  • Flexibility and efficiency of use
  • Accelerators -- unseen by the novice user -- may
    often speed up the interaction for the expert
    user such that the system can cater to both
    inexperienced and experienced users. Allow users
    to tailor frequent actions.
  • Aesthetic and minimalist design
  • Dialogues should not contain information which is
    irrelevant or rarely needed. Every extra unit of
    information in a dialogue competes with the
    relevant units of information and diminishes
    their relative visibility.
  • Help users recognize, diagnose, and recover from
    errors
  • Error messages should be expressed in plain
    language (no codes), precisely indicate the
    problem, and constructively suggest a solution.
  • Help and documentation

lt-Back
26
Contextual Design
27
Rapid Contextual Design (Defining the New
Process)
  1. Set focus
  2. Do contextual inquiries
  3. Build an affinity
  4. Introduce the larger team to customer roles and
    data
  5. The full team
  6. Build user stories
  7. Run a release planning process
  8. Prioritize and eliminate
  9. Design detailed user interfaces
  10. Test UIs
  11. Provide the user stories to development
  12. During iteration 1, UI team works on iteration 2
  13. Iterate as with agile methods, keeping the UI
    team 1 iteration ahead of development.

Beyer, Holtzblatt (8)
28
Code Science
  • Based on XP
  • Business process analysis
  • Componentized architecture
  • Automated contract and regression testing
  • Story actors
  • Wall Gantts
  • Automatic document generation
  • - 40 hour work week
  • - Metaphor
  • Code Science is registered in the U.S. Patent and
    Trademark Office.

29
Adding UCD to Agile (Patton)
30
UCD Techniques Are Threaded Into An Agile
Development Cycle
Role-centric acceptance testing
Feature List
Role and Task information determine bug
criticality
Role Information Informs Priority
Role and Task information indicate scope cutting
opportunities
Reconcile Roles Goals With Tasks Features
Feature List
Context Modeling
Feature List
  • Collaborative Requirements Worksession
  • Role modeling, task modeling, context modeling,
    span planning

31
Customer Centered Response
  • UCD big design up front
  • Agile Let the design grow organically over
    the course of the project
  • Can they co-exist?
  • Living artifacts?
  • Compromise between the two methods
  • Picture of the overlap between the two circles

32
Summary
  • Integrating User-Centered Design into agile
    methods attempts to solve the perceived problem
    that current agile methodologies are not
    adequately addressing user interface design
    issues.

33
References
  • Agile Alliance, (2001) The Agile Manifesto,
    http//www.agilemanifesto.org/
  • Cooper, Alan. The inmates are running the Asylum,
    SAMS, 1999
  • Garrett, Jesse James. The elements of User
    Experience, New York New Riders, 2003.
  • Constantine, Larry. Process Agility and Software
    Usability Toward Lightweight Usage-Centered
    Design 110 2002 http//www.foruse.com/articles/a
    giledesign.htm
  • Constantine, Larry. Usage-Centered Engineering
    for Web Applications 117 2002
    http//www.foruse.com/articles/webapplications.htm
  • Boehm, Barry and Turner, Richard. Observations on
    Balancing Discipline and Agility
    http//www.agiledevelopmentconference.com/2003/fil
    es/P4Paper.pdf.
  • Brooks, Frederick. The Mythical Man-Month
    Addison Wesley Longman Inc. 1995.
  • Patton, Jeff. Improving on Agility Adding
    Usage-Centered Design to a Typical Agile Software
    Development Environment http//www.abstractics.co
    m/papers/AddingU-CDToAgileDevelopment.pdf

34
References Continued
  • Cockburn, Alistair. Crystal Clear,
    Addison-Wesley, 2004.
  • Norman, Donald. The Design of Everyday Things,
    Doubleday/Currency, 1988.
  • Manzo, John, AgileTek L.L.C. Odyssey and Other
    Code Science Success Stories, http//www.stsc.hill
    .af.mil/crosstalk/2002/10/manzo.html
  • Holtzblatt, Karen / Beyer, Hugh / Baker, Lisa. An
    Agile User-Centered Method Rapid Contextual
    Design, http//www.incent.com/
  • Nielsen, Jakob. Guerrilla HCI Using Discount
    Usability Engineering to Penetrate the
    Intimidation Barrier. 1994. http//www.useit.com/p
    apers/guerrilla_hci.html
  • Patton, Jeff. Improving on Agility Adding
    Usage-Centered Design to a Typical Agile Software
    Development Environment. 2003. http//www.abstract
    ics.com/papers/AddingU-CDToAgileDevelopment.pdf

35
New Concepts I learned
  • User Experience Architecture
  • User Interaction
  • Affinity Clusters tasks that are likely to be
    performed by the same role.
  • This is not yet finished, nor is it really part
    of the presentation.

36
My PERSON Table
lt-Back
Write a Comment
User Comments (0)