From Fieldwork to Framework: Bridging the Gap Between Ethnography and Software Engineering
Social analysis in the requirements engineering process: from ethnography to method
This paper introduces Coherence, an ethnographically-informed method for Social Analysis within the Requirements Engineering (RE) process. It bridges the gap between sociologists and software engineers by integrating ethnographic insights into a structured, viewpoint-oriented framework using UML notation.
TL;DR
Social analysis is often the "missing link" in Requirements Engineering (RE). While ethnography offers deep insights into how work is actually done, its lack of structure and long timescales make it a hard sell for software developers. Coherence is a breakthrough method that tames the "chaos" of ethnographic field notes into a structured, viewpoint-oriented framework using UML, making social analysis a first-class citizen in the design process.
The Problem: The "Culture Gap" between Sociology and Code
Why do technically perfect systems often fail in the real world? Usually, it's because they ignore the Social Nature of Work.
Standard RE techniques often miss subtle but vital features:
- Implicit Knowledge: Workers do things they don't even realize they do (e.g., "at-a-glance" monitoring).
- Informal Adaptation: Real work rarely follows the "Official Manual."
- Communication Breakdown: Sociologists talk in narratives; software engineers talk in logic and diagrams.
The authors spent years evolving their approach at Lancaster University, moving from having "ethnographers in the room" to "ethnography in the method."
Evolution of the Approach
The paper tracks three major stages in integrating social analysis:
- Concurrent Ethnography: Ethnographers and engineers work in parallel, with debriefing meetings.
- Modified Ethnography: Using "Quick and Dirty" studies and presentation viewpoints to structure data.
- The Coherence Method: A systematic RE method that allows engineers to perform social analysis themselves using structured guidance.

Methodology: The Coherence Framework
Coherence doesn't just ask "what should the system do?" but "how does it serve the social organization?" It focuses on three Dimensions of Work:
- Distributed Coordination: How tasks are split between different roles.
- Plans and Procedures: How actual practice differs from the rulebook.
- Awareness of Work: How people make their work visible to others (e.g., using "gaze awareness" in Air Traffic Control).
The method uses the PREview framework to turn these dimensions into "Social Concerns." For example, if "Organizational Memory" is a concern, it leads to specific external requirements (ERs) that must be met by any design.

Bridging the Gap with UML
The true "killer feature" of Coherence is its use of the Unified Modelling Language (UML). By mapping social observations to Use Case Models and Sequence Diagrams, the social context becomes readable to developers.
For instance, a transcript of an Air Traffic Controller talking to a pilot is no longer just a paragraph of text; it becomes a Sequence Diagram representing a specific scenario in a Use Case.

Critical Insights & Conclusion
Coherence represents a transition from ethnography being "in the head of the expert" to being "embodied in the method."
Key Takeaway: By standardizing social analysis, we reduce the dependency on individual skill and make the "human factor" measurable.
Limitations:
- Documentation Burden: While it bridges the communication gap, the burden of understanding social intricacies is shifted onto the method's documentation.
- Tooling: As of the publication, fully integrated tool support was still in development.
Future Impact: As systems become increasingly collaborative (human-AI teams), frameworks like Coherence provide the blueprint for ensuring that technology complements human social dynamics rather than disrupting them.
