Agile Methods and User-Centered Design – Recent Work
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
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
Misconceptions
Agility isn’t about speed Less of a process and more of a set
of heuristics
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
Thinking Like an Engineer
Draw a table named person. The table should have 4 columns named:
1. NAME2. AGE3. HEIGHT4. WEIGHT
Answer
UCD from IBMhttp://www-306.ibm.com/ibm/easy/eou_ext.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.
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 isn’t Want to make the most of the e-
business opportunity? Do you know who your users are? Engineering the killer app isn’t exactly
child’s play. But using it better be (difficult to use systems fail)
Others?
GUIDE BRIDGE OVID
Where is it ?
Design for Developers
Consistent interface
Clear vision for product
Reasonable expectations of technology
Others?
Design for Users
Gulfs of understanding
Consistency Simplicity Memory issues Status indicators HCI and design
http://pages.cpsc.ucalgary.ca/~tamj/481/
Can we Combine Them?
User input early in the process (human-centric)
Prototyping Evolutionary
design Iterations Light
documentation Rates of change
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
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/cdhow.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.
Usage Centered Design
Model driven approach Role model Task model Content model
Essential model
UCD Model Driven Approach
Use Case VS Task Case
Key Differences Between UCD and UCD
Discount Usability Engineering
Method for evaluation interfaces Scenarios Simplified thinking aloud Heuristic evaluation Validating discount usability
engineering
Contextual Design
Rapid Contextual Design (Defining the New Process)
1. Set focus2. Do contextual inquiries3. Build an affinity4. Introduce the larger team to customer roles and data5. The full team…6. Build user stories7. Run a release planning process8. Prioritize and eliminate9. Design detailed user interfaces10. Test UIs11. Provide the user stories to development12. During iteration 1, UI team works on iteration 213. Iterate as with agile methods, keeping the UI team 1
iteration ahead of development.
Beyer, Holtzblatt (8)
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.
Adding UCD to Agile (Patton)
Product/Project
IncrementalRelease
Evaluate
Iteration
Feature/Story
Design
Develop
Evaluate
Test
Evaluate
Feature List
Plan
Feature List
Plan
Feature List Plan
UCD Techniques Are Threaded Into An Agile Development Cycle
Product/Project
IncrementalRelease
Evaluate
Iteration
Feature/Story
Design
Develop
Evaluate
Test
Evaluate
Feature List
Plan
Feature List
Plan
Feature List Plan
Collaborative Requirements Worksession:•Role modeling, task modeling, context modeling, span planning
Reconcile Roles & Goals With Tasks & Features
Role Information Informs Priority
Context Modeling
Storyboarding
Wireframe UI
Use Case Writing
Scenario Writing
UI Prototyping
Contextual Observation
Usability Testing
Role-centric acceptance testing
Role and Task information determine bug criticality
Role and Task information indicate scope cutting opportunities
Questionnaires
Contextual AnalysisUser Interviews Role Modeling
Personas
Task Modeling Story Writing
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.
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/agiledesign.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/files/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.com/papers/AddingU-CDToAgileDevelopment.pdf
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/papers/guerrilla_hci.html
Patton, Jeff. Improving on Agility: Adding Usage-Centered Design to a Typical Agile Software Development Environment. 2003. http://www.abstractics.com/papers/AddingU-CDToAgileDevelopment.pdf