Contextual Design: Defining Customer-Centered Systems (Interactive Technologies)
There's certainly no shortage of software design methods: most demand total allegiance, and many claim to be the only true way to delivering useful and maintainable software systems in a timely manner.Contextual Designdescribes another worthwhile software engineering method, one that places the user (or customer) at the forefront of the software design process from beginning to end. This method seems to be a particularly worthwhile addition to the literature.Contextual Design begins withcontextual inquiry, where software developers interview users and attempt to understand the way they work. Such "customer empathy" is central to the Contextual Design process and a total understanding of "work" within organizations is the mantra here. The book describes how, later in the process, software developers step back from the user data and do an "affinity," which is an overall analysis of hundreds (or even thousands) of individual facts.Contextual Designthen explains the additional steps required to build systems using this method, including building models for flow, sequence, and artifacts, and establishing the cultural and the physical environments for a system. After getting an overview, developers consolidate these initial models, get more user input, and then design user interfaces.This book, written in a clear, informal style without excessive jargon, reads very much like a book on business motivation. Various practitioners of Contextual Design offer short testimonials on the software design method.