This article describes the successful application of contextual techniques in a real-world software development organization. The success of the resulting product success was clearly linked to the use of these techniques and has contributed to cultural and organizational changes in development practices.
A key to the successful use of contextual techniques was to overcome developers' resistance to adopting new methods. Selective application of contextual methods and integration of the techniques with current lab practices helped overcome this development "inertia." Experience has shown that requiring developers to completely change the way they work to using contextual methods often results in a return to old development practices rather than fuller adoption of the techniques. Other success factors are also identified.
As contextual techniques gain more widespread recognition and application in industry , it has become clear that adoption of these techniques in development environments requires organizational and cultural change. Experience has shown that acceptance of contextual development methods can be better achieved by first using the techniques on smaller projects in combination with existing human factors and software development work practices. Success with the techniques at the project level can promote adoption of the techniques at the lab and division level. Although management approval is critical for success, cultural change is difficult to affect from the management level to the development teams. Einstein said, "Love is a better teacher than duty." Likewise for developers' adoption of new techniques.
In Hewlett Packard's (HP) Enterprise Systems Group (ESG), contextual techniques have been used by developers to understand product requirements for 5 years at the product and lab levels. In ESG's Unix Development Lab (UDL), HP has trained more than 50 engineers in contextual inquiry and data modeling and more than 20 engineers and managers have completed InContext's full Contextual Design Series .
This article describes the experience of HP's Ignition team and its successful delivery of a new product, Ignite-UX, using a combination of contextual, usability, and standard software development methods. The customer acclaim and success of the Ignite-UX product have contributed to ESG's decision to apply even more contextual design methods in a recent division-wide initiative .
In 1996, the Ignition team faced the challenge of developing the next generation of tools for installation and deployment of the HP-UX operating system. This product would help System Administrators quickly and easily install and update HP workstation and server systems with custom configurations. With this effort, the team was to replace two existing, similar products with a single new product to reduce development and resource costs. These existing products served different customers with slightly different work goals and environments. The team's desire to focus on the customer led them to consider using contextual methods for their investigation to gain a detailed understanding of their customer's work practice.
The team was first trained in contextual inquiry methods to develop common skills and language to discover and represent customer data. Working with the marketing department, the team identified four distinct types of customers for contextual inquiry visits. Phone conferences were set up to contact and screen potential visit candidates through HP's Field Sales organization.
Contextual inquiries employ an on-site, "in the cube," visit technique unfamiliar to many customers. It was important to set expectations with both HP Field Sales and the customer in order to maximize the effectiveness of the data collection efforts. Unlike many visits from systems vendors to which customers may have been accustomed, on these visits the team was there to learn the work-domain expertise from the customer.
Typically, on-site visits lasted one day with the team performing two or three contextual inquiries. Generally, two to four team members went on each visit and performed one-on-one or two-on-one contextual inquiries with system administrators who were installing or updating systems. Each inquiry lasted about 2 hours. In all, 12 formal customer visits were conducted during the project. Several of these customers agreed to partner with the team throughout the design, validation, and Beta testing phases of the project.
After each visit, three to five team members analyzed the data. The team focused on capturing work insights and physical, work flow, and sequence models showing work structure . Artifacts gathered at the customer site such as custom scripts, process documentation, and computer screen shots were especially valuable to the team. These artifacts showed how the customer was currently solving his or her installation and deployment problems.
These data were later consolidated across customers into a single set of models representing key aspects of the customer's work. The key contextual models for this project were the sequence, work flow, and physical models  (Figure 1).
With an understanding of the customer represented by the consolidated models, the team identified customer segments based on distinctions found in the work. The team created value proposition statements for each segment describing what value Ignite-UX would provide to that customer. Each value proposition detailed the work that the product would support, the cost to the customer, and, after design visioning, the conceptual features that would deliver that value  (Figure 2).
The value propositions succinctly summarized the team's design objectives that would provide value in the customer's work. The propositions were also a means to communicate to upper management and other stakeholders how the Ignite-UX product would fulfill a clear customer need.
In many ways the customer work was found to be more similar than different across customer segments. Although distinct segments could be identified in the customer data, it was clear from these data-based value propositions that variations on one core product could address the principal needs of the customer.
For example, almost every customer visited had a goal of maintaining consistency in configuration across networked systems. Customers created tools to install and maintain these "golden configurations." The golden configurations almost always included the operating system level, patch updates, software applications, disk configuration, and access to shared company resources. The preinstalled hardware and software configurations provided by HP were not tailored enough to the customer's environment to be used "out of the box." As systems arrived from HP, they were powered and quickly checked for the correct, ordered configuration and then reinstalled completely with one of the company's own standard configurations. The ability to easily create and install these configurations became the center design concept of the Ignite-UX product.
Using a structured brainstorming technique [1,3] grounded in the contextual data, the team began envisioning ways that customers would perform their work with a new product. A manageable subset of this vision was then chosen to fit the delivery schedule. The team began developing low-fidelity, rapid, software prototypes of alternative interface designs to demonstrate key system concepts (Figure 3).
To reduce development cost and cycle times, early prototypes were validated with customers remotely using network and telephone technologies rather than on-site visits. HP's SharedX software allowed the team to share prototype screens with customers in remote locations and give them control to explore and experiment with the tool. Users were able to stay in their own surroundings while reviewing the product and could share information from their own systems. These remote validation techniques allowed the team to maintain aspects of the customer's work context while having them review and work with the new prototypes. In this way, the team was able to validate some high-level system design concepts and rework others quickly and inexpensively.
The team was surprised at how well both customers and management received the initial prototype concepts. The prototypes communicated the overall structure and capabilities of the entire product (the big idea), not what the eventual user interface (UI) would look like. Customers could immediately see how the product could help them and began asking when it would be available. Lab management, wanting to quickly see "real" product, used the prototype as a communication tool to gain additional support from upper management for the Ignite-UX effort.
With the core design concepts validated and implementation progressing, the team used modified usability testing techniques to evaluate the integration of system components for usability and work flow. To gain "context" in the usability lab setting, participants were asked to describe and recreate real instances of their work while evaluating the Ignite-UX system. Testing tasks were augmented with these mini-retrospectives of the customers' work, allowing participants to give a more realistic assessment of the product design. Employing real work tasks and using contextual data to build usability testing scenarios increased the validity of the usability test.
The team also conducted standard customer Beta testing before the product's release. Beta site customers were asked to participate in on-site contextual visits as they began to use Ignite-UX, thus allowing the team to see how users would adopt and use Ignite-UX. As a result, technical white papers and online documentation were prepared to support customer adoption and use of Ignite-UX. Further, the Beta site program allowed the team to begin gathering contextual data for the next release.
Most revolutionary system administration tool for HP-UX... ever.
HP Field Technician
The use of contextual techniques in Ignite-UX has resulted in many benefits for the team, the product ,and the lab. The customer response has been overwhelmingly positive.
One of the most pronounced results of the customer-centered design effort using contextual techniques was the team's synergy and clear focus. With a common understanding of the customer work and value propositions, everyone on the team knew exactly what problem he or she was solving with the new product. There was virtually no product rework late in the development cycle as a result of late-breaking or surprise customer requirements.
When a design trade-off needed to be made, it was usually simple. The team would review the specific customer data needed to make the design change or would contact a customer partner to validate the impact of the change. The team was even able to accommodate management when asked to accelerate the schedule. A typical reaction to this request would be to lose customer focus in order to deliver faster, but the Ignite team used the data to refocus the design efforts. In these ways the data helped the team easily accommodate changing development conditions.
The shared understanding of customer work also allowed the team to create a clear rollout strategy. The data allowed them to avoid the "feature creep" common with product development. If a feature did not support the value proposition targeted for the product's first release, it was not added. Additionally, the data gave management the information needed to reject competing requirements coming from other organizations within HP. This allowed the team to stay focused on delivering the principal value to the customer. These are a few examples of the kinds of organizational and cultural change that occurred because of the power of contextual data.
In the end, the focus and synergy provided by a common understanding of customers' work allowed the team to greatly reduce the time required to implement and deliver the first release. Additionally there was time to include some features in the first release that were intended for the second release.
The response from within HP has been very positive. Ignite-UX quickly became the cornerstone of a divisionwide activity designed to help HP customers update their systems to the latest version of the HP-UX operating system to promote new hardware sales.
Success with contextual methods in Ignite-UX also helped sell another divisionwide contextual design effort to investigate and design HP's next-generation server technologies. This effort was met with enthusiasm from upper management and is a success within HP .
Most important, Ignite-UX's success using contextual inquiry and design techniques has helped contribute to changes in the UDL's development culture. New lab efforts are adopting and using even more contextual techniques for product development.
The Ignite-UX team has received an unusual amount of unsolicited, positive feedback from customers. Several customers using Ignite-UX have reported updating 200 to 300 systems to company-standard configurations in just a few days. Customer data collected for the Ignite-UX project suggested that before Ignite-UX, it might have taken a customer weeks or even months to update the same number of systems without custom-built tools.
I was impressed with how clear our vision was early on. We knew what we had to do to be successful and that was very motivating for the team. We had requirements for our second and third releases halfway through the first release. Although the volume of the data was intimidating, it was important to stay with the process and resist going to design too quickly.
Ignite-UX Project Manager
Still other customers have presented their experiences with Ignite-UX to trade shows and special interest groups. One customer presented a testimonial at a HP conference for system administrators on the best uses of Ignite-UX. Several customers have stopped working on an in-house tool for installation and deployment to adopt Ignite-UX.
The most obvious conclusion of the experiences detailed in this article is that contextual techniques work. Taking the time to use these methods early in the development process results in a better targeted product, higher customer satisfaction, reduced development time, and better team synergy and focus for delivery.
From the start the team was set up for success with a clear charter and ownership for the development efforts and a clear focus from the customer data. This overcame previous failures experienced when a team knew what to implement from the customer data but did not have the power to follow through because of lack of ownership for the product area. Such a situation generally resulted in teams' returning to old development practices out of frustration.
To get customers to adopt and use Ignite-UX for system installation and deployment, the new system had to include use-model concepts that were familiar to them; it had to fit the way they work. The product had to support existing work goals and extend the customer work into new and better ways of working. The customer data provided insights into principal work concepts to support in the product. These "killer concepts" became central to the design of Ignite-UX.
The outputs of contextual methods are modular and easy to plug into other human factors, software development, and object-oriented methods such as design validation, usability testing, and Beta testing. In fact, this experience has shown that contextual data are essential to the successful use of these other techniques.
Success with contextual techniques with a small project can spark adoption of the methods at a larger organization level. The Ignite-UX effort involved a small project in which the team owned the whole technology and had few dependencies on other organizations for successful delivery of the product. By using a subset of available contextual methods on this type of project and showing directly how they contributed to the project's success, the team contributed to a grassroots change in the development culture of the lab. New lab efforts are using even more contextual design methods in their development processes .
The Ignite-UX prototypes were a key to showing how customer data directly affected design. This provided management with the needed tangible product to gain additional support for Ignite-UX and also provided the motivation to use the techniques in other areas of development within the lab. Recently an HP development manager was quoted as saying, "This is how we are going to do things from now on."
Just as product users resist complete change in the way they work, developers also have work inertiaa way of working that cannot be changed easily. For contextual techniques to be seen as essential development work rather than additional process burden, they must support and extend existing development work practice.
Often, if people see new processes as heavy-handed or awkward, they tend to return to their old ways of working and developing products. Combining contextual methods with other software development and usability methods can be less disruptive to current practice and can help speed adoption of the techniques.
Additionally, by selectively choosing which contextual methods to apply and "contextualizing" existing development methods, teams will more readily adopt and use these new work techniques. As seen at HP, even broader adoption of the techniques can follow, resulting in even greater organizational change toward a customer-centered design culture supported with methods and tools for development teams.
- The team should have a clear focus and charter for the contextual inquiry and design effort. Since the customer data are so revealing of problems that need to be solved, teams will be frustrated and lose enthusiasm if the project is over-scoped and less likely to be carried out.
- Build a grassroots adoption of contextual techniques by showing success in applying them on a smaller, self-contained effort.
- Be aware of work inertia in developers. To avoid having teams return to old development habits, look for ways to incorporate contextual methods into existing processes. This can minimize the perception of burden and demonstrate new ways of working.
- Create "context" where possible in traditional development activities. Always use real instances of customers' work or scenarios in design and evaluation efforts to increase validity and to ground your work in customer data.
- Gain management buy-in and support to shield developers from internal, competing design requirements. Use prototypes to show proof of concept and design from data.
The author would like to thank Hewlett Packard and the Ignition team for their hard work and dedication to the customer and for letting me share their experience. Special thanks to Bruce Bigler and Mark Notess for their confidence and encouragement; to Karen Holtzblatt and Hugh Beyer for their coaching and excellent contributions to the field; and to Jayson Webb for his contributions to this article.
R&R Research, Inc.
1373 Grandview Ave. Suite 210
Columbus, OH 43212
Ignite-UX and SharedX are trademarks of Hewlett-Packard Company.
- "Needless to say we use Ignite-UX extensively and have had great success with this product. Ignite-UX has saved [us] thousands of dollars in a very short time."
- "[Ignite-UX] decreased overall system installation time from 1 day down to 1 hour" and "increased [our] confidence that the resulting system was installed correctly."
- "[system installation with Ignite-UX] is the simplest part of getting a HP system into production..."
- "Wow...totally impressed...a premier product"
- "[We] are all impressed..."
- "This is a tool I would use..."
- "[HP] understands my problem..."
©1999 ACM 1072-5220/99/0100 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 1999 ACM, Inc.