21
Agile Usability Jason Chong Lee Dept. of Computer Science Center for HCI Virginia Tech CS 3724: Introduction to HCI, November16, 2006

Agile Usability Jason Chong Lee Dept. of Computer Science Center for HCI Virginia Tech CS 3724: Introduction to HCI, November16, 2006

Embed Size (px)

Citation preview

Agile Usability

Jason Chong Lee

Dept. of Computer ScienceCenter for HCIVirginia Tech

CS 3724: Introduction to HCI, November16, 2006

Introduction

Software Engineering Disasters Agile Software Methods Extreme Programming What about Usability? Making Usability Agile/Making Agile

Usable Extreme Scenario-Based Design

BackgroundOverview Approach SBD+XP Wrap-up

Software Engineering Disasters Windows Vista

Too many features Haphazard development Development “reset” in 2004-2005

FAA Advanced Automation System Cost overruns, delays and failures (1982-

1994) $3-6 billion before project scrapped

Duke Nukem Forever Development begins in 1997 Two project resets, staff overturns

Software Engineering Disasters

Increasing complexity Project mismanagement Staff overturn Changing and Ill-defined

requirements Miscommunication …

Agile Software Development

We are uncovering better ways of developing software by doing it and helping others to do it. Individuals and interactions over processes and tools. Working software over comprehensive

documentation. Customer collaboration over contract

negotiation. Responding to change over following a plan.

Extreme Programming

Widely adopted agile development method Communication Simplicity Feedback Courage

One way of tackling problems of Software Engineering

XP Bottom Line…

versus

What about Usability?

Concerned with: efficiency, effectiveness, learnability, ease of use, satisfaction

How are these addressed in agile methods? Customer = End User?

How can agile methods and usability play together?

Conflicts

Usability Engineering Agile Software Development

Broad understanding of system Incremental software delivery

Needs of end user Needs of clients

Interface design and development

System design and development

Agile Usability

The integration of usability and agile development processes will lead to: Emergent development of interaction

architecture Rapid and repeatable usability testing

within constraints of agile development

“depth-first” approach to interface design congruent with agile development

Key Issues to Address

Maintaining interface architecture through incremental development

Disseminating design goals & rationale between stakeholders

Usability evaluations in an agile framework

Accommodating ill-defined and changing requirements

Extreme Scenario-Based Design

Combine best practices of SBD and XP SE and UE concurrency Central Design Record

to support communication

Targeted usability evaluations within agile framework

EndUsers

Clients

Agile Software

Developers

UsabilityEngineers

CentralCentralDesignDesignRecordRecord

21

3

UE and SE Concurrency

Root Concept

Scenarios,Claims

User Stories

Release Planning

Iteration

Small releases

Acceptance Tests

Usability Tests

Central Design Record

Common design representation shared by developers Derived from SBD and XP design

artifacts Support communication among

stakeholders Maintain interaction architecture

coherency

Usability Testing

Light-weight analytic evaluations to test usability between iterations

Comprehensive empirical evaluations planned at each release cycle

Evaluations target only select areas of interface

SBD+XP Process

BackgroundOverview Approach SBD+XP Wrap-up

User StoriesAcceptance

Tests

Feature Development

Test Driven Development

Project Scoping

Release

Iteration

Acceptance& Usability Testing

Summative Evaluation &Acceptance

Central Design Record

Root ConceptDesign Goals

Claims & ScenariosUsability

Tests

Contributions

Incremental approach to scenario-based design usable in agile development projects

More usable systems developed by agile development teams

Improved dissemination of design rationale between agile and usability professionals

Questions & Comments

References (1) Auer, K., and Miller, R. Extreme Programming Applied: Playing to Win.

Addison Wesley, Boston, MA, 2001. Constantine, L. L., Process Agility and Software Usability: Toward

Lightweight Usage-Centered Design. Information Age, 8 (2) 2002. Bass, L., and John, B.E. Linking usability to software architecture

patterns through general scenarios. Journal of Systems and Software 66(3), 2003.

Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., Kern, J., Marick, B., Martin, R.C., Mellor, S., Schwaber, K., Sutherland, J., and Thomas, D. The Agile Manifesto. 2001. Available at http://agilemanifesto.org

Beck, K. Embracing change with extreme programming. Computer. Oct. ’99. 32 (10), 70-77, 1999.

Lee, J. C., Chewar, C. M., and McCrickard, D. S. Image is Everything: Advancing HCI Knowledge and Interface Design Using the System Image. Proc. ACMSE 2005, Vol. 2, 376-381, 2005.

Lee, J. C., Wahid, S., Chewar, C. M., Congleton, B., and McCrickard, D. S.. Spiraling Toward Usability: An Integrated Design Environment and Management System. Technical Report TR-05-15, Computer Science, Virginia Tech, 2005.

Miller, L. Case Study of Customer Input for a Successful Product. In Proc. Agile 2005 Conference, 2005.

References (2)

Nelson, E. Extreme Programming vs. Interaction Design. Fawcette Technical Publications, 2002. http://www.fawcette.com/interviews/beck_cooper/.

Nielsen, J. Usability Engineering. Morgan Kaufman, San Diego, CA, 1993.

Patton, J. Improving on Agility: Adding Usage-Centered Design to a Typical Agile Software Development. In Proc. Second International Conference on Usage-Centered Design (forUSE 2003), 2003.

Payne, C., Allgood, C. F., Chewar, C. M., Holbrook, C., and McCrickard, D. S. Generalizing Interface Design Knowledge: Lessons Learned from Developing a Claims Library. Proc. IRI 2003, 362-369, 2003.

Preece, J., Rogers, Y., Sharp, H., Benyon D., Holland, S., Carey, T. Human-Computer Interaction. Addison-Wesley, Wokingham, England, 1994.

Rosson, M. B. and Carroll, J. M. Usability Engineering: Scenario-Based Development of Human-Computer Interaction. Morgan Kaufman, New York, NY, 2002.

Shneiderman, B., and Plaisant, C. Designing the User Interface. Addison Wesley, Boston, MA, 2005.

Wahid, S., Allgood, C. F., Chewar, C. M., and McCrickard, D. S. Entering the Heart of Design: Relationships for Tracing Claim Evolution. In Proc. SEKE 2004, 167-172, 2004.