Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Elicitation of Unstated Requirements at Scale

The Problem

Traditionally, requirements are communicated through specifications. Yet stakeholders often have requirements that they aren't aware of, so they do not specify them. Uncovering these unstated requirements can be challenging, and existing requirements methodologies do not address unstated needs except through approaches such as human interface prototyping or simulation.

Our Approach

The Elicitation of Unstated Requirements at Scale (EURS) project has been developing a method for determining the unstated needs of the varied stakeholders typical of today's large, diverse programs. This method will

  • be scalable to address the needs of multiple categories of stakeholders
  • be usable by a diverse, non-collocated team of requirements analysts
  • result in a more complete set of requirements as the basis for subsequent system design, implementation, and sustainment

We base the method on enhancements to the KJ method, an ethnographic research method developed by and named after Japanese anthropologist Jiro Kawakita, who developed a systematic way to identify and analyze themes within complex experiential data. Our method, called KJ+, uses probing interviews to collect contextual information associated with extreme experiences (KJ interviews), an analysis of the information collected in the interviews to identify themes of experience (KJ workshop), and a Kano analysis to classify stakeholders' preferences into must be's, satisfiers, and delighters. A variety of techniques can be applied to then determine priorities and quality and performance measures for the requirements uncovered by the KJ+ method.

Steps of the KJ Workshop

This brochure summarizes the KJ+ method and its benefits for an organization. It also describes some job aids that the SEI has developed for implementing KJ+ that an organization can use to customize KJ+ for its own environment. 

Future Challenges

Many of today's larger software systems engage thousands of stakeholders. These systems and the stakeholders who rely on them are sometimes better described as sociotechnical ecosystems (STEs), in which a platform addressing cross-cutting stakeholder concerns is deployed and organizations cooperate and compete on the provision of features and services made available over that platform. How do development teams responsible for the platform gather and analyze requirements in such a situation? How can an STE integrate the efforts of thousands of people sometimes trying to solve the same problem in a way that leverages their diverse knowledge and experiences?

Future research leverages natural language processing tools to make it easier to engage stakeholders in diverse organizations in ongoing conversations about new features or problems. One such tool is an innovative prototype developed at Carnegie Mellon University called DesignWeb. DesignWeb uses probabilistic topic modeling and social network analysis to help organize and summarize large quantities of end-user experiences.

The EURS project is seeking collaborators to help pilot the KJ+ method. The project is particularly interested in piloting the method for targeted quality attributes (such as safety and security) or in large distributed environments, such as STEs. Contact the SEI if your organization would like to use the KJ+ method to investigate unstated requirements in your domain.

Learn More 

The tutorial presents the traditional KJ method for eliciting unstated user needs and extensions made to allow KJ to be used in a virtual environment.

  • Mead, Nancy; Konrad, Michael; & Stoddard, Robert. “Eliciting Unstated Requirements.” Tutorial presented at the 22nd IEEE International Requirements Engineering Conference. Karlskrona, Sweden, Aug. 26, 2014.

EURS is especially beneficial for eliciting deep unstated needs associated with quality attributes, such as safety and security, particularly as part of a full-lifecycle requirements engineering approach targeting particular quality attributes. For example, EURS can be combined with the SQUARE requirements engineering methodology to address security.

Help Pilot the KJ Method

The EURS project seeks collaborators to help pilot the KJ+ method. Contact the SEI if your organization would like to use the KJ+ method to investigate unstated requirements in your domain.