By Gareth Digby, Vitech Principal Systems Engineer
Eliciting the requirements for a system is an important first step in the system’s creation. Use cases provide an effective means of capturing the stakeholder’s understanding of the system’s needs. This post demonstrates how Chapanis & Fitts’ “Human-Machine-Environment” Matrix can provide a means of starting requirements gathering with the stakeholders without overwhelming them with the use case syntax.
Chapanis & Fitt created the “Human-Machine-Environment” Matrix (alternatively referred to as the 9-Box Matrix) to provide a simple guide for the investigation of aircraft accidents.
9-Box Matrix Diagram
The 9-Box Matrix ensures the environment and the people as well as the system (machine) are considered when conducting an investigation. In addition the matrix introduces the temporal dimension to ensure what happened before and after an incident as well as what happened during an incident is identified.
Understanding The System Requirements With Use Cases
When creating a system we need to consider the interaction of the environment and people with that system over time. Use cases are a powerful means of documenting the expectations of a system that we want to develop. A typical template for a use case is:
1 Use Case Title
1.2 Structural Entity
1.3.3 Objective in use of the system
1.5 Scenario Sequence
1.8 Post conditions
Outline Of A Use Case Template
To create use cases we elicit information from the stakeholders. Typically this information is gathered in a formal setting over a period of time. (For example, one program the author worked on involved spending a week off-site with stakeholders. This resulted in the collection of information for the creation of 40 use cases.) To make best use of this valuable time with stakeholders it is best to get them to prepare.
But how do you get the stakeholders to prepare their input? Asking them to complete a textual use case template is likely to overwhelm the non-technical stakeholders. Simply getting them to “draw” a use case diagram fails to capture the many important aspects documented in a use case.
Supporting Use Case Elicitation with The 9-Box Matrix
9-Box Matrix Diagram For Use Cases
Asking the stakeholders to use the 9-Box Matrix to think about the system and its interaction with the environment and people over time provides a simple but powerful approach to elicit their input. Obviously we do not want to refer in an “incident” so change the wording to reflect something appropriate for the system being created. In this instance I have used the phrase “Service Delivery.”
The stakeholders can use whatever means they like to record their input for the various boxes within the matrix. The 9-Box Matrix does not impose any constraints in this respect. Once the input is gathered, the systems engineer / architect can transpose the information into the use case format.
Thinking about the “human” aspects should help the stakeholders identify the Actors in the use cases. The subsequent discussion with the stakeholders can draw out the details for the Actors’ description, role, and objective in use of the system.
As the stakeholders identify what happens before, during, and after service delivery they are providing details for the use case interactions, scenario sequence, preconditions, and post conditions.
Getting the stakeholders to think about the system in relation to the humans and the environment should help with the definition of the use case’s structural entity – the system and its boundaries. The input from stakeholders about the environment should also help start the discussions on the use case constraints and exceptions.
The 9-Box Matrix can be used as a simple tool to help the non-specialist gather the information for their input into the use cases describing a system.
Utilizing The Human, Machine and Environment Matrix In Investigations, D. Curry, et al, Journal Hazard Material, 2006 Mar 17; 130(1–2):122–7. Epub 2005 Nov 28.
Available for download at: [http://www.itcexperts.com/wp-content/uploads/Utilizing-the-Human-Machine-and-Environment-Matrix.pdf]