Copyright status: Unknown (pending investigation). See section "Exceptions" in the
Testing is an important part of any system development. It's generally accepted that the sooner problems are found, the less it costs to fix them. So it's important to test and iterate a design early, before anyone gets invested in the design and before spending time writing code. And the simpler a testing process is, the more time is available for multiple iterations to work out the detailed design with users.
Once the structure and interaction design are largely stable, the team can develop and test interaction and visual design options with users.
Copyright status: Unknown (pending investigation). See section "Exceptions" in the copyright terms
Figure 8.16: Portion of a Paper Prototype. Paper prototyping develops rough mockups of the system using notes and hand drawn paper to represent windows, dialog boxes, buttons, menus, and the other user interface elements the customer will use.
8.2.9 8.2.9 Driving Product Development
Companies implement a variety of hardware and software development methodologies within which their front-end design process, whether user-centered or not, must fit. Most methodologies define a series of stages, each with deliverables and milestones. Few define specific ways of gathering requirements, instead leaving the specific method open to definition by the product team. Contextual Design is usually included in the requirements gathering step or very early pre-commitment stage gates of these methodologies.
The translation from any kind of research on user needs to design requirements often lacks process and rigor. The structure that Contextual Design offers design teams helps bring some amount of control to this activity. The User Environment Design captures the required function and behavior of the new system, at least for the core work cases. The paper prototypes capture the proposed user interface, though usually only at a rough, wireframe level. These can be harvested to provide the Product Requirements Document and User Interface Specification.
8.2.10 8.2.10 Contextual Design and Agile Development
Currently, many organizations are moving to Agile development. In contrast to traditional approaches that emphasize requirements analysis, design, and implementation as distinct phases, Agile methods seek to minimize up-front planning in favor of producing working base levels quickly and often. Feedback from these base levels is used to ensure that the resulting product is useful. Scrum (Schwaber and Beedle 2001) and XP (Beck 2004) (Extreme Programming) are two popular Agile approaches.
Agile development dovetails very nicely with user-centered design (Beyer 2010). But, Agile teams often struggle to include a reliable customer voice, something Agile methods assume they can do. Attempts to substitute stakeholders or internal product owners for the real end-user have only shown how critical that user voice is. Contextual Design provides proven techniques for collecting and using user knowledge which can be adopted by Agile teams.
Before Agile development begins, the initial stages of Contextual Design provide the team with the knowledge they need to write viable user stories. Contextual Inquiry interviews, the affinity diagram, and work models provide the deep understanding of the user needed by the team. Visioning sets the project direction and defines what kind of solution to provide. And storyboards, the User Environment Design, and paper prototypes develop and validate the right function to be included in user stories for Agile release planning. This is critical - paper prototype iterations ensure the team is developing the right design, that it is solving real user problems. It's cheaper and faster to refine the design at this point than in the middle of development iterations.
The key difference between supporting an Agile team and traditional waterfall development is that for an Agile project, the above steps are all that need be done. No writing functional specifications, user interface specifications, or architectures. The User Environment Design is kept at the level required for the team to keep its own thinking clear - it is not intended as a communication mechanism to the development team.
Instead, the User Environment Design and paper prototypes are used as the source for writing user stories in the release planning session. They provide enough detail to make it easy to write and estimate stories. Iterations can be planned so each iteration collects stories that, taken together, deliver coherent user value - as defined by the User Environment Design.
During Agile development proper, the techniques of Contextual Design continue to provide critical support to the team. Knowledge gained from field research gives the team confidence in their prioritization of user stories. The detailed user interface can be defined during iterations, usually one iteration ahead of development work. Contextual Inquiry field visits allow detailed user interface designs to be iterated with users. Completed base levels can also be tested using Contextual Inquiry techniques, and the results used to refine the direction of the project.
8.3 8.3 Background and History of Contextual Design
Karen Holtzblatt and Hugh Beyer first developed the key parts of the Contextual Design process while working at Digital Equipment Corporation (DEC) in the early 1980s. Karen, a psychologist by training, and Hugh, a developer, recognized the need for a coherent and structured design process that could integrate useful practices from their respective fields, and make it all accessible and actionable to design teams in commercial settings.
Holtzblatt's initial work was a response to the limitations of usability testing and human factors work as it existed in the early 1980's. Whiteside, Bennett, and Holtzblatt (Whiteside et al 1988) introduced and discussed the theoretical foundation for using ethnographic and hermeneutic techniques to understand user practice for the purpose of systems design. At the time, usability methods were focused on lab-based quantitative measures, but these techniques are always limited in the amount of impact they can have and do not lead to wholly new insights and design directions.
Holtzblatt brought techniques from psychology and sociology to the field, showing how the kind of verbal protocol analysis used by Ericsson (Ericsson and Simon 1984) and Piaget (Piaget 1960) could be applied to data collected from users in the field. This data forms the bases for a grounded theory, as defined by Glaser and Strauss (Glaser and Strauss 1967), and as such motivates design action. Contextual inquiry was defined as a structured method for gathering and using field data using this theoretical foundation.
The resulting techniques are similar in nature to an ethnographic study. However, contextual inquiry is constrained by the limitations of an engineering project. So field interviews are restricted to a few hours, not days or weeks, and the interaction between interviewer and user is defined as a focused conversation. The purpose of the conversation is to reveal and articulate the nature of the user's work practice, and this purpose is understood and shared by both participants.
At the same time, Holtzblatt was adapting physical mockup techniques developed by Kyng, Ehn and others (Kyng 1988; Ehn 1988) to software. In Denmark, Scandinavian countries mandated that labor representatives be included in any redesign of the workplace by creating mockups of rooms and workstations using large cardboard boxes and other simple, physical representations. Sessions were conducted with the workers in which they ran through typical tasks in his simulated environment, redesigning it to work better as they discovered problems.
Holtzblatt scaled down this method for software, using hand-drawn user interfaces on sticky notes to represent a proposed design and working through the user's own tasks, in their own workplaces, to explore the usefulness of the design. Together, designer and user would modify the prototype in the moment to eliminate problems and add needed function.
Work models were developed by Holtzblatt as a way to capture the discussion in design teams about user work practice - as a way to make elements of work practice explicit to all members of the team. The User Environment Design, similarly, was developed to capture the system structure and function without sidetracking the discussion with user interface details prematurely.
The resulting Contextual Design process was first used at DEC and later gained acceptance in the rapidly growing Human Computer Interaction (HCI) community throughout the 1980's, following the same heretic-to-accepted-practice trajectory that the HCI field itself was undergoing (Caroll 2009). Following a series of articles on various aspects of Contextual Design in the HCI literature (e.g. (Beyer and Holtzblatt 1993), (Holtzblatt and Jones 1993)), the entire process was described in the 1997 text Contextual Design (Beyer and Holtzblatt 1997). In 2005, the follow-up handbook Rapid Contextual Design (Holtzblatt et al 2005) expanded upon the method and provided more practical guidance. It also addressed an oft-heard criticism that the Contextual Design method could be too labor-intensive or lengthy for some projects.
8.4 8.4 Future Directions
The core elements of Contextual Design have been stable for over a decade and are unlikely to change fundamentally in the future. However, the context in which Contextual Design is used does change and that is likely to drive changes in how the process is used. Here are some possible directions to keep an eye on.
Agile development. As Agile processes become more widespread and more accepted, the relationship between Agile development and user-centered processes can be expected to evolve. Agile development itself is strengthened by robust user-centered techniques, but the integration of a coherent design focus with Agile development is still not well-accepted. And the introduction of new Agile methods such as Kanban will continue to provide challenges to good User Experience design.
Quantitative techniques. Ideally, the qualitative data provided by contextual inquiry would be augmented with quantitative data provided through research methods such as surveys. When making a business case, it is important to know not just what users want, but how many potential customers there are and what they are willing to pay for a solution to their problem. Contextual Design can and should be integrated into a whole product concepting and initiation process.
Enterprise-scale projects. For large-scale projects, enterprises have to coordinate multiple work streams and hundreds of people over years to accomplish the business goal. Contextual Design can play a key role in identifying the most important problems to solve, prioritizing the rollout of the solution, maintaining coherence of the system vision, and ensuring that as parts are rolled out iteratively the inevitable engineering tradeoffs do not degrade the usability of the system.
8.5 8.5 Where to Learn More
The definitive sources on Contextual Design are:
Holtzblatt, Karen and Beyer, Hugh. Contextual Design: Defining Customer-Centered Systems. San Francisco : Morgan Kaufman Publishers, 1997.
Holtzblatt, Karen, Wendell, Jessamyn and Wood, Shelley. Rapid Contextual Design: A How-to Guide to Key Technologies for User-Centered Design. San Francisco : Morgan Kaufman Publishers, 2005.
Beyer, Hugh. Contextual Design for Agile Teams. Morgan Claypool. San Rafael, CA. 2010.
Papers and case studies describing uses of Contextual Design abound in the literature. Some have been referenced below, others can be found on the InContext website at: http://www.incontextdesign.com.
Proceedings of the 33rd SIGCSE technical symposium on Computer science education 2002.
JCDL05 Proceedings of the 5th ACM/IEEE-CS Joint Conference on Digital Libraries 2005.
Armstrong, Anne-Marie (2004): Instructional Design in the Real World: A View from the Trenches. Idea Group Publishers
Beck, Kent (2004): Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional
Beck, Kent (1999): Extreme Programming Explained: Embrace Change. Reading, MA, Addison-Wesley Publishing
Beyer, Hugh R. (2010a): Contextual Design for Agile Teams. Morgan Claypool
Beyer, Hugh R. (2010b): User-Centered Agile Methods. Morgan and Claypool Publishers
Beyer, Hugh and Holtzblatt, Karen (1998): Contextual design: defining customer-centered systems. San Francisco, Elsevier
Beyer, Hugh R. and Holtzblatt, Karen (1997): Contextual Design: Defining Customer-Centered Systems (Interactive Technologies). Morgan Kaufmann
Beyer, Hugh R. and Holtzblatt, Karen (1993): Contextual Design: Toward a Customer-Centered Development Process. In: Software Development 93 Spring Proceedings February, 1993, Santa Clara, CA, USA.
Beyer, Hugh R. and Holtzblatt, Karen (1995): Apprenticing with the Customer. In Communications of the ACM, 38 (5) pp. 45-52
Carroll, John M. (2013). Human Computer Interaction - brief intro. Retrieved 4 November 2013 from [URL to be defined - in press]
Cooper, Alan (1998): The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity. Sams Publishing
Cooper, Alan (1999): The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity. Sams
Curtis, Paula, Heiserman, Tammy, Jobusch, David, Notess, Mark and Webb, Jayson (1999): Customer-Focused Design Data in a Large, Multi-Site Organization. In: Altom, Mark W. and Williams, Marian G. (eds.) Proceedings of the ACM CHI 99 Human Factors in Computing Systems Conference May 15-20, 1999, Pittsburgh, Pennsylvania. pp. 608-615
Ehn, Pelle (1988): Work-Oriented Design of Computer Artifacts. Stockholm, Arbetslivscentrum
Ericsson, K. A. and Simon, Herbert A. (1984): Protocol Analysis: Verbal Reports as Data. Cambridge, MA, MIT Press
Garfinkel, Harold (1967): Studies in Ethnomethodology. London, United Kingdom, Polity Press
Glaser, Barney and Strauss, Anselm (1967): The Discovery of Grounded Theory: Strategies for Qualitative Research.Aldine Transaction
Holtzblatt, Karen and Beyer, Hugh R. (1993): Making Customer-Centered Design Work for Teams. InCommunications of the ACM, 36 (10) pp. 92-103
Holtzblatt, Karen and Jones, Sandra (1993): Contextual Inquiry: A Participatory Technique for System Design. In:Namioka, Aki and Schuler, Doug (eds.). "Participatory Design: Principles and Practice". Hillsdale, NJ, USA: Lawrence Earlbaumpp. 177-210
Holtzblatt, Karen, Wendell, Jessamyn Burns and Wood, Shelley (2004): Rapid Contextual Design: A How-to Guide to Key Techniques for User-Centered Design (Interactive Technologies). Morgan Kaufmann
Kyng, Morten (1988): Designing for a Dollar a Day. In: Greif, Irene (ed.) Proceedings of the 1988 ACM conference on Computer-supported cooperative work September 26 - 28, 1988, Portland, Oregon, United States. pp. 178-188
Lárusdóttir, M. K. "Using Rapid Contextual Design at Reykjavik University", accepted paper for the workshop named "HCIEd.2006-1 inventivity: Teaching theory, design and innovation in HCI" held by British Computer Society HCI Group (BHCIG), the International Federation of Information Processing (IFIP) WG13.1 Education, and the Irish Computer Society" in Limrick in Ireland, 23rd – 24th March, 2006
Manning, Harley (2003). The Power Of Design Personas. Retrieved [Date unavailable] from Forrester Research: http://www.forrester.com/ER/Research/Report/Summar...
Mcdonald, Sharon, Monahan, Kelly and Cockton, Gilbert (2006): Modified contextual design as a field evaluation method. In: Proceedings of the Fourth Nordic Conference on Human-Computer Interaction 2006. pp. 437-440
Notess, Mark (2005): Using Contextual Design for Digital Library Field Studies. In: JCDL05 Proceedings of the 5th ACM/IEEE-CS Joint Conference on Digital Libraries 2005.
Notess, Mark (2004): Applying Contextual Design to Educational Software Development. In: Armstrong, Anne-Marie (ed.). "Instructional Design in the Real World: A View from the Trenches (Advanced Topics in Information Resources Management)". Idea Group Publishers
Piaget, Jean (1960): The Child's Conception of the World. Rowman and Littlefield Publishers, Inc
Polanyi, Michael (1958): Personal Knowledge: towards a post-critical philosophy. London, Routledge
Rockwell, Chris (1999): Customer connection creates a winning product: building success with contextual techniques. In Interactions, 6 (1) pp. 50-57
Schuler, Douglas and Namioka, Aki (eds.) (1993): Participatory Design: Principles and Practices. Hillsdale, NJ, USA, Lawrence Erlbaum Associates
Schwaber, Ken and Beedle, Mike (2001): Agile Software Development with Scrum. Prentice Hall
Snyder, Carolyn (2003): Paper Prototyping: The Fast and Easy Way to Design and Refine User Interfaces. Morgan Kaufmann
Weinberg, Jerry B. and Stephen, Mary L. (2002): Participatory design in a human-computer interaction course: teaching ethnography methods to computer scientists. In: Proceedings of the 33rd SIGCSE technical symposium on Computer science education 2002. pp. 237-241
Whiteside, John, Bennett, John and Holtzblatt, Karen (1988): Usability Engineering: Our Experience and Evolution. In: Helander, Martin and Landauer, Thomas K. (eds.). "Handbook of Human Computer Interaction". North Holland