Article Preview
Top1. Introduction
Ambiguity, in the requirements modelling process, can be used to withhold design commitment for as long as possible in the software development of socio-technological systems. Recognizing and drawing attention to the existence of ambiguity allows interaction designers and software engineers to engage in rich conversations about the social needs of users throughout the process, before committing to a functional prototype. To mediate personal relationships through technologies becomes particularly relevant when digital technologies are designed to support activities outside of work (Gaver et al., 2003).
In this paper we illustrate the role that ambiguity can play throughout the process of using concepts from Agent-Oriented Software Engineering (AOSE) to produce a software design based on results from interaction design research into mediating intimacy between couples. An important part of our process is in discovering what discriminates social requirements from other types of requirements.
We focus on the identification of user goals, and in particular those non-work-related, non-goal-oriented interpersonal interactions that happen between individuals, for example, flirting or joking, where social activity is not easily categorized in terms of tasks and goals. Goal-oriented communication constitutes much of what occurs in couples, families, friendship networks and social groups assembled for leisure. Currently, software engineering is not convincingly addressing requirements elicitation in this area. Software engineering has a good grasp on modelling individual purposeful needs. It has a long tradition of identifying those constraints on software behaviour that represent the functional services as functional goals that the software is expected to deliver (Jureta et al., 2006). Some work has been done on modelling social needs, for example i* (Yu, 1995), TROPOS (Castro, 2001) and the Softgoal Concept (Jureta et al., 2006) but that work largely focuses on coordination and collaboration (i.e., social tasks with deliberative purposes).
We use the construct of quality goals attached to functional goals to represent quality attributes of social interaction as abstract, ambiguous and unresolved concepts in the models. These attributes constrain how the functional goal should be fulfilled.
Quality goals are essentially non-functional and can encapsulate social aspects of the context into the software requirements model, thus providing a mechanism to carry subtle nuances of those social aspects through to the implementation phase. These quality goals remain interpretably flexible, opening up a variety of possible interpretations both in the design and use of the system. We maintain that there is benefit in articulating quality goals without the need to resolve them into functional goals. This adds a level of ambiguity to the elicitation of social requirements that can be carried through to the design phase in an undischarged form.
To illustrate the benefit of maintaining ambiguity in the requirements elicitation phase through quality goals when modelling social contexts, we present research on the design of a socio-technical system to facilitate intimacy between remotely located couples: the Secret Touch. The design of this multi-agent software system was based on a scenario derived from data collected in a cultural probes study exploring social interactions between couples in the ‘Mediating Intimacy: Strong-Tie Relationships’ project (Kjeldskov et al., 2005; Vetere et al., 2005). The Secret Touch system is intended to run on a small pocket device, which communicates with a partner’s similar device. Couples in an intimate relationship can interact discretely and remotely through physically moving the device in their pocket, causing their partner’s device to move in an identical fashion.