230 likes | 646 Views
Agile Usability. Jason Chong Lee Dept. of Computer Science Center for HCI Virginia Tech CS 3724: Introduction to HCI, November16, 2006. Overview. Approach. SBD+XP. Wrap-up. Background. Introduction. Software Engineering Disasters Agile Software Methods Extreme Programming
E N D
Agile Usability Jason Chong Lee Dept. of Computer Science Center for HCI Virginia Tech CS 3724: Introduction to HCI, November16, 2006
Overview Approach SBD+XP Wrap-up Background Introduction • Software Engineering Disasters • Agile Software Methods • Extreme Programming • What about Usability? • Making Usability Agile/Making Agile Usable • Extreme Scenario-Based Design
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
versus XP Bottom Line…
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?
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
Usability Engineers Agile Software Developers 3 Central Design Record 1 2 End Users Clients 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
UE and SE Concurrency Root Concept Scenarios, Claims User Stories Release Planning Iteration Usability Tests Acceptance Tests Small releases
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
Overview Central Design Record Wrap-up Project Scoping Root Concept Design Goals Release Claims & Scenarios Usability Tests User Stories Acceptance Tests Summative Evaluation & Acceptance Iteration Feature Development Test Driven Development Acceptance & Usability Testing Background Approach SBD+XP SBD+XP Process
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
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.