Extending the Situated Function-Behaviour-Structure Framework for User-Centered Software Design

advertisement
Extending the Situated Function-Behaviour-Structure
Framework for User-Centered Software Design
Matthias Uflacker and Alexander Zeier
Hasso Plattner Institute for IT Systems Engineering, Germany
We present an ontological extension for the situated function-behaviour-structure
framework to explicitly integrate the notion of user needs into the model and take
it as an able platform for mapping core elements of user-centered software design
to the framework. This allows us to reason about user-centered design as a conceptual and reflective conversation on interrelated design representations in a
social and dynamic context. Our model points out the requirement for computational design support to assist designers in sensing design information in context,
and provides a basis for understanding informational demands of design teams in
user-centered software engineering projects.
Introduction
The growing observance of user-centered design principles in software development allows us to draw on a more complete and satisfying perception
of design in a software engineering context. The notion of ‘software design’, once limited to a narrow set of pure architectural design and code
development activities, is now receiving widespread appreciation as a holistic and conceptual engineering methodology. Software design starts
long before structural decisions are being made and does not end after
code has been generated. It encourages creativity and innovation from day
one, encompassing need finding, user research and evaluation, and even
implies lifecycle aspects of a software product. A design-driven software
development process is capable of guiding a project team towards a usable,
feasible, and viable solution that satisfies the demands on the software.
Several user-centered design processes exist to provide the required
tools and methods for the activities that help in the development of useful
software solutions (e.g. Beyer and Holtzblatt 1998 [2]; Nielsen 1993 [13];
Vredenburg et al. 2001 [18]). Common to all of these approaches is a
strong and explicit focus on end-user needs, the specification of requireJ.S. Gero and A.K. Goel (eds.), Design Computing and Cognition ’08,
© Springer Science + Business Media B.V. 2008
241
242
M. Uflacker, A. Zeier
ments for an identified context of use, iterative prototyping, as well as repeated evaluation of the intermediary design solutions with the end-users.
An abstract view on a user-focused development process for interactive
systems is defined in ISO 13407 [9], which we use here to refer to these
core elements of user-centered design.
During the course of design collaboration, design teams accumulate
documents and generate artifacts that they use internally and externally to
communicate and share knowledge, insights and ideas about the design
state. This typically covers research results, contextual information, requirements, models, code, prototypes, test results, documentation, etc.,
which we collectively combine under the term design information, i.e. the
encoded knowledge and explicit representation of facts, ideas or emotions
that are relevant for the design process. There is the other world of implicit or tacit design knowledge that holds the design agent’s internal
representations of the design state space. This perception is strongly influenced by how the external environment is sensed, as well as by previous
experiences of the designer. From this theoretical point of view, design
becomes a function of the internal and external design representations as
they are interpreted by the designer, and which in return affects both of
these worlds through the actions the designer takes. Thus, the context of
design changes continuously through the recursive activities and interactions performed in a team. This concept of situatedness in design has been
described by Schön (1992) [17] as a reflective conversation with the materials of a design situation, in which he sketches design as the process of
“seeing-moving-seeing”: interpreting and making sense of the world (seeing), performing actions to affect a desired change (moving), and assessing
the effects in the changed environment (seeing), causing further actions or
the completion of the design cycle (cf. Clancey 1997 [3]; Winograd 1996
[20], pp.171–184).
This perspective on design reveals the importance for a design agent to
have a precise picture of the relevant design information in a larger context. This design context is not influenced by an individual alone, but is
constantly manipulated in a social, interacting and collaborative manner.
Having a holistic view on such a fluctuating design situation in a team, i.e.
achieving common ground among the stakeholders of a design process is a
crucial, yet challenging task in engineering design (cf. Bannon and Bødker
1997 [1]; Perry, Fruchter and Rosenberg 1999 [15]). However, this is further complicated by the growing technical complexity of software systems
being developed and the increasing global distribution of participants in a
development process. The collective work of a design team is more and
more related to information and knowledge that is distributed among different team members and geographical locations. This applies even more
Extending the FBS Framework for User-Centered Software Design
243
to a user-centered process, where inter-disciplinary collaboration and
knowledge accumulation is intensified, e.g. through repeated user research
and evaluation. As Layzell, Brereton and French (2000) [12] point out,
software engineering has become a social, team-based process and failure
to address interaction, communication and collaboration with design information appropriately will compromise the quality of a project.
Organizing and sharing this information within a project team is therefore a requirement for design progress. Understanding the nature of design
information and its relations is the goal of ongoing design research and a
prerequisite for building supportive tools. In order to better understand
and address the informational demands of user-centered design teams we
need a model to reason about design information in software engineering.
Therein, design must not be reduced to a discrete and static execution of
design methods on fixed data, but must rather be understood as a social,
conceptual activity that creates changes in the design environment based
on the context in which the design takes place. Identifying needs and
obtaining insights into the problem domain is a central part of design. Mapping the concepts of situatedness to the elements of a user-centered software engineering methodology gives us a valid starting point to improve
our understanding of design information and contextual relations in the
software domain.
For this reason, this work proposes an extension to Gero and Kannengiesser’s (2004) [6] situated function-behaviour-structure (FBS) framework
to explicitly incorporate need finding activities as a central part of a design
process, and continues by mapping elements of user-centered design to it.
In chapter 2, we consider situatedness in a team-based environment and
give a resumé of the situated FBS framework, which provides an ontological model for design activities and representations in dynamic engineering
processes. Chapter 3 builds up on this framework and extends it in order
to be able to capture specific characteristics of user-centered design. We
continue to show that the core activities of a user-centered process according to ISO 13407 are now consistent with the framework. In chapter 4 we
take the adapted model as a basis for discussing design context awareness
and the informational demands of designers in a user-centered process.
A general framework for situated design
Any attempt to model the process of conceptual designing isolated from
the dynamic context in which the design interactions are grounded will
provide very limited insights into the relationships between design agents
M. Uflacker, A. Zeier
244
and design representations. For this reason, we base our work on an approach that is respecting the situatedness of design activities and which
models design interactions in relation to the state of the design environment.
A model for situated design
Gero and Kannengiesser [6] have presented a general model for situatedness in engineering design processes that makes allowance for constant
modifications of the design state, based on present knowledge and expectations of the design agent. The relationships between design representations (X) and the design agent are represented as interactions between
mental and physical environments of the design process. These interactions are modeled as three recursively interacting worlds of intermediary
design representations (figure 1). We adopt a social view on these worlds,
to appropriately reflect the team orientation and inter-disciplinary work
environments of user-centered software design [8].
The external world is the physical world of encoded (tangible or digital)
design representations (Xe) outside the mental boundaries of a social collective. It holds the design information that has been collected and produced by the team, and which serves as input for successive design activities. The external world also provides documentation of the project state
and team communication.
The interpreted world is the world that is constructed inside the individual minds of designers, who collaborate by direct or indirect communicaExternal World
Interpreted World
Expected
World
Xei
Xi
Xe
= action
= interpretation / constructive memory
= focussing
Fig. 1. A model for situated design (after Gero and Kannengiesser [7])
Extending the FBS Framework for User-Centered Software Design
245
tions via their external world. The interpreted world describes the knowledge the team has about the external design environment as well as the
personal experience and memories (Xi). It is hence an individualized and
subjective perception of the design context at hand.
The expected world is embedded in the interpreted world, but comprises
the mental imaginations of a future design object and the predicted state of
the design after the accomplishment of planned or imagined actions (Xei).
These three worlds of design representations stay in close relationship to
each other through three classes of interactions:
1. Interpretation specifies the synthesis of design information in the external world into internal representations and concepts through sensation,
perception and conception [5]. This process of making sense of the external design context directly maps to Schön’s (1992) notion of “seeing”.
2. Focussing describes the collaborative generation of intermediary design solutions in an expected world, which is steered by the collective state
of the interpreted world.
3. Action transforms the envisioned design state from the expected
world into explicit design representations, affecting change in the external
world (which correlates to what Schön describes as “moving”).
A situated view on a design process can now be described as follows: In
a project scenario, encoded design information of the external world (Xe)
is interpreted by a design team, thus forming an internal representation of
the perceived design context (Xi). The model implies here the influence of
constructive memory, i.e. the design team’s knowledge and experience that
has been constructed through former interactions with the external world
(cf. Norman 2002 [14], pp. 54 ff.). This view on interpreting the external
world is connected to Gero and Fujii’s (2000) [5] concept of parallel push
and pull processes: the production of an internal representation is partially
pushed by the sensed data, but is also pulled by the agent’s current expectations. Mental representations of the expected design state (Xei) are ideated by the team members individually or in a collective by focusing on
the interpreted design context. Proper design actions are then carried out
that aim to affect an according change in the external world, thus starting a
new iteration of the situated process.
The situated FBS framework
Following Gero’s (1990) [4] differentiation schema for design knowledge,
design representations can be classified as descriptions of any of the three
aspects function (F), behaviour (B) and structure (S).
The function (F) of a design object describes what the object is for. E.g.
a spreadsheet application has the function “to provide a customizable set of
246
M. Uflacker, A. Zeier
data tuples”, “to allow entering and editing cell values”, and “to run arithmetic calculations on cell values”.
The behaviour (B) of a design object is conditioned to what the object
does. It is defined as the attributes that are derived or expected to be derived from its structure (S). The behaviour of the spreadsheet application
e.g. includes the “ability to handle multiple sheets”, the “time required to
import data”, and the “expressiveness of arithmetic instructions”.
The structure (S) of a design object is defined as “how the object is
built”. It describes the components of the object and their relationships.
The structure of the example spreadsheet application is expressed in software models and code.
Applying the model of situatedness to these three classes of design representations yields Gero and Kannengiesser’s situated framework for engineering design processes, depicted in figure 2. By instantiating the abstract notion of a design object (X), more specific representations for the
aspects of function, behaviour and structure in the external (Fe, Be, Se), interpreted (Fi, Bi, Si), and the expected world (Fei, Bei, Sei) are created. In
addition, representations for external requirements on function (FRe), behaviour (BRe) and structure (SRe) are integrated into the framework to take
the influence of external demands on the design process into account [7].
E.g. a structural requirement for a spreadsheet application could be the
compatibility with a specific hardware or software platform.
The different interactions between function, behaviour and structure in a
situated environment are represented by 20 processes shown in figure 2.
On top of these processes, the situated function-behaviour-structure
framework defines eight fundamental design steps.
1. Formulation consists of interpretations of external requirements
(processes 1–3), their augmentation by representations originating from
previous experiences (constructive memory, processes 4–6), the ideation
of an expected design state space (processes 7–9), and the formulation of
expected behaviour from the set of expected functionality (process 10).
2. Synthesis transforms the expected behaviour into an internal representation of an expected structure (process 11), which is then explicitly formulated by the design agent as an external representation of that structure,
making it available as input for later design activities (process 12).
3. Analysis comprises the interpretation of external representations of
the structure (process 13) and the internal derivation of behaviour (process
14).
4. Evaluation (process 15) describes the comparison of the expected behaviour and the interpreted behaviour derived through analysis.
Extending the FBS Framework for User-Centered Software Design
247
External World
Interpreted World
Expected
World
1
4
Fi
7
Fei
20
FRe
Fe
18
16
10
2
5
Be
Bi
8
i
19
BRe
Be
15
17
14
11
3
6
9
i
Se
Si
13
SRe
Se
12
=
=
=
=
transformation
comparison
interpretation / constructive memory
focussing
Fig. 2. The Situated FBS Framework (after Gero and Kannengiesser 2007a)
5. Documentation is the process of affecting change in the external
world by externalizing representations of the expected design state (processes 12, 17, 18) for the purpose of communication.
6. Reformulation type 1 implies changing the focus on expected structures (process 9) after re-interpreting representations of structure in the external world and constructive memory (processes 3, 6, 13).
7. Reformulation type 2 implies changing the focus on expected behaviour (process 8) after re-interpreting representations of behaviour in the
external world (processes 2, 19), constructive memory (process 5), and
structure (process 14).
8. Reformulation type 3 implies changing the focus on expected functions (process 7) after re-interpreting representations of function in the
external world (processes 1, 20), constructive memory (process 4), and
behaviour (process 16).
248
M. Uflacker, A. Zeier
Setting up the FBS framework for user-centered design
With the situated function-behaviour-structure framework, Gero and Kannengiesser have provided a descriptive perspective on the nature and process of engineering design. It appropriately reflects the dynamics and recursive relationships between the design agent’s internal state, activities
and external information. The framework is general enough to demonstrate flexibility and applicability, meaning that it does not specifically addresses one particular engineering discipline. Casting it to a particular
domain of choice can harmonize and enhance the understanding of more
concrete design processes. Kruchten (2005) [10] has proven that the
framework is applicable to software engineering processes by mapping
elements of the Rational Unified Process (RUP) to a previous, less detailed
version of the framework. Gero and Kannengiesser (2007a) [7] have
shown that the principles of “emergent design”, an evolutionary and agile
software development cycle, are consistent with their situated model of designing. Though dealing with software design, these works do not explicitly consider user-centeredness as a guiding principle for the design iterations. Elementary activities in a user-centered design approach, like user
research, need finding, or definition of a use context have not been discussed in reference to the situated FBS framework so far.
In its latest version, the FBS framework considers external demands by
employing requirements (XRe) as factors for the internal design activities
of a design agent. However, regarding product requirements as given or
explicitly available from external sources neglects the fact that many of
those requirements are unknown at the outset of a design task. Conceptual
design activities start earlier to unveil potential requirements that stem out
of initially hidden insights into end-user needs and the context of use. A
clear distinction between requirements and needs is therefore expedient in
user-centered design. Requirements are formal descriptions of necessary
attributes, capabilities or characteristics that must be provided by a future
software system. They account for business, technical, and user constraints and define the goals for the to-be-designed software product (e.g. a
specialized business application). Needs, on the other hand, describe the
status-quo, or the present condition of the end-user and the environment.
Needs represent user tasks, problems and possibilities in the context of use.
They are more informal in their specification and less binding as requirements, but provide essential input for the definition of requirements (Kujala, Kauppinen and Rekola 2001 [11]).
Both, needs and requirements are relatively unexplored in the beginning
of a design project. Through iterating field research and needs analysis,
Extending the FBS Framework for User-Centered Software Design
249
the picture of the user context becomes steadily more detailed and specified. Capturing insights and knowledge about the use context is important
for communication among the team and for later refinement. As a result,
the external design state is not only influenced through actions that aim to
transform expected function, behaviour or structure of an intermediary design object into reality. The picture of the external world also changes essentially through explicit documentation of insights, facts or decisions as a
result of interpreting external demands. This encoded representation about
the use context is generated, shared and communicated among the team
and later incorporated into further interactions and interpretations.
From this perspective, the FBS framework is missing some important
concepts in order to sufficiently provide a complete view on the activities
of a user-centered design process. The applied model of situatedness only
affects changes in the external world through actions that concern the realization of an expected or envisioned intermediary design state. The influence of the present conditions, constraints, targeted goals in terms of the
recursive interpretation and documentation of needs and requirements is
not reflected in the framework. Therefore, we motivate an extension of the
situated framework to address the abovementioned principles of usercentered design.
An ontological extension for situatedness
We adapt Gero and Kannengiesser’s model for situatedness to incorporate
the notion of user needs by introducing an additional class of external design representations XNe. At the beginning of a user-centered software
project, needs are considered to be mostly unknown and implicit. The design team starts to increase its understanding about the context of use
through incremental exposure, interpretation and documentation of contextual user information. This is supported through various methods for user
research and analysis, e.g. interviews, contextual inquiries or user observations, in which the representations of needs are refined and enriched. This
alternating interpretation and documentation process is considered in our
extension as a direct, symmetric interaction between the interpreted and
the external world. Gero and Fujii’s (2000) [5] concept of a parallel pushpull process is hence transformed to a combination of push, pull and publish, not only causing a state change in the interpreted, but also in the external world, in the representation of needs and requirements. Note that
documentation in this context does not refer to Gero’s notion of a design
step presented above, but describes the explicit publishing of interpretations of the external world. The extended model is shown in figure 3.
M. Uflacker, A. Zeier
250
External World
Interpreted World
Expected
World
2
4
Xei
Xi
6
5
=
=
=
=
3
XRe
Xe
XNe
1
transformation
interpretation / constructive memory
interpretation / constructive memory / documentation
focussing
Fig. 3. An ontological extension for the model of situatedness: external needs
(XNe) and documentation as a reaction of interpretation
The observance of user needs starts with the interpretation of already
explicitly encoded insights XNe or the discovery of user needs through
user research (process 1). The resulting representation of this interpreting
activity is influenced by the constructive memory of the designer (process
2). As an effect of this interpretation, the subjective perspective on enduser needs may be documented as a refined, possibly biased representation
(XNe) for communication with the team and successive design activities.
With the acquired interpretations of external needs, the design team can
continue to define or revise requirements. This is done through the interpretation of external representations of existing requirements (XRe, process
3), which is also a function of the other interpreted representations such as
needs (XNe, process 1), already existing design objects (Xe, process 6) and
constructive memory (process 2). This updated view on the external world
may yield in a reformulation of requirements and modification of their representation through documentation (process 3). The remaining interactions
between the interpreted and the expected world (process 4) and between
the expected and the external world (process 5) are not affected by our
extension.
Mapping the FBS framework to user-centered design
As an abstract representation of a user-centered design process, we take
the ISO 13407 [9] norm as reference for design processes for interactive
systems. The norm defines four basic user-centered design activities that
should take place during the iterative design cycle (figure 4). After having
Extending the FBS Framework for User-Centered Software Design
251
identified the need for a user-centered design approach, the process starts
with understanding and specifying the context of use. Essential knowledge
about the users, their characteristics, tasks and goals in the working environment is collected through contextual user research. Teams continue to
specify the user and organizational requirements in relation to the defined
context of use. This implies prioritizing requirements and usability criteria
and expressing them in measurable goals or terms that can be evaluated.
The next task is to produce design solutions that are concrete and understandable enough to be presentable to the user. Those intermediary design
solutions represent prototypes of the final system that are used for end-user
tests and evaluation. Depending on the state of development, these prototypes range from paper sketches up to high-fidelity and functional software
solutions. The evaluation of designs against requirements finishes a design iteration and marks the end of the process if the system satisfies the
specified requirements.
We will now show how these activities of user-centered software design
match into the FBS framework. With our ontological extension of situatedness, we are able to identify the core elements of a user-centered software design process.
Fig. 4. User-centered design activities defined by ISO 13407 [9]
Consistent to the conceptual differentiation between representations of
function, behaviour and structure, we integrate the interactions with functional needs (FNe), behavioral needs (BNe) and structural needs (SNe) as
M. Uflacker, A. Zeier
252
primary elements of the design process. The final integration into the situated FBS framework is presented in figure 5.
Understand and specify the context of use
Exploration of the use context starts with a deep investigation of user
needs and the interpretation/documentation of achieved findings. User
needs can concern functional, behavioural or structural aspects of the design (processes 21–23). A functional need that might be relevant in the
spreadsheet example could be for example that “users need to create and
run daily reports based on data in an existing enterprise system”. The internal perception of the context of use also depends on the previous experiences and knowledge of the designer (processes 4–6). In this case,
constructive memory can implicate the risk of not diving deep enough into
the world of the user, as the experience of the design agent might induce
early and misleading assumptions about the use context.
External World
Interpreted World
Expected
World
Fe
4
Fi
7
i
20
18
FRe
Fe
FNe
21
2
BRe
Be
BNe
16
10
5
Be
1
Bi
8
i
19
15
22
17
14
11
3
6
9
Sei
Si
13
12
=
=
=
=
=
Se
SRe
SNe
23
transformation
comparison
interpretation / constructive memory
interpretation / constructive memory / documentation
focussing
Fig. 5. Extended situated FBS framework
Extending the FBS Framework for User-Centered Software Design
253
According to ISO 13407, the output of this activity should be an adequately documented “description of the relevant characteristics of the user,
tasks and environment which identifies what aspects have an important
impact on the system design”. It is seen as a working document that is
made available to the design team to support design activities. Consequently, this description maps directly to the union of external need representations FNe, BNe and SNe.
Referring back to the design steps defined in the situated FBS framework, understanding and specifying the context of use marks the beginning
of a formulation process to create the initial design state space (cf. 2.2).
Specify the user and organizational requirements
Continuing the formulation of the design state space, design teams specify
the user and organizational requirements by interpreting requirements that
have already been explicitly defined for function, behaviour and structure
(processes 1–3). Taking into account user needs (processes 21–23) and
constructive memory (processes 4–6), the team starts to generate expectations for the future design and populates the design state space (processes
7–9). As part of the requirements analysis, measurable behaviours to mark
the fulfillment or non-fulfillment of functional expectations are formulated
(process 10). Requirement specifications are defined or re-defined accordingly and published in the external world for documentation purposes (via
the documentation part of processes 1–3).
The ISO norm stipulates an adequate documentation of prioritized,
confirmed and measurable requirements, which are specified here as representations of FRe, BRe and SRe. E.g. the functional need that has been formulated in the previous example might yield the functional requirement that
the system “has to provide the possibility to create and save templates for
reports” and that it “provides an easy interface for importing enterprise
data”. With the definition of requirements, the formulation of the design
state space is completed.
Produce design solutions
Producing design solutions not only involves the actual encoding of a design structure in the external world. It starts with a creativity phase and
ideation in the social, interpreted context of the design team. Based on internal representations of expected behaviour, the team starts to generate an
expected structure for the design object (process 11). This imaginary picture is then transformed to an explicit representation of the design object’s
structure (process 12), making the solution concrete and presentable to the
254
M. Uflacker, A. Zeier
users and team. Optionally, further external representations of intermediary or final design solutions are produced in order to document and communicate the behaviour (process 17) or function (process 18).
Thus, in terms of the design steps defined by the FBS framework, producing design solutions is composed of synthesis and documentation.
In the ISO norm, the production of design solutions is described to involve the use of existing knowledge to develop design proposals and the
explicit concretization of solutions by using simulations, models or mockups, etc. The former demand is fully addressed by the situatedness of the
framework and the internal representations Fi, Bi and Si that are constructed through interpretation and constructive memory, and on which the
generation of design solutions (Sei) is grounded. The concretization of design solutions is in line with the transformation of the expected design into
external representations Se, and optionally Be and Fe.
Evaluate designs against requirements
The evaluation of produced design solutions begins with an interpretation
of the externalized prototype (Se, process 13). This activity is governed by
the feedback that has been provided by end-users or experts during the
conducting of evaluation techniques. After interpretation, behaviour can
be derived from that structure (process 14), which allows to make statements about the design object’s overall performance. A comparison of the
analyzed behaviour (Bi) and the expected behaviour (Bei) shows whether
the design solution conforms to the expectations (process 15). While these
two steps correspond to the analysis and evaluation processes defined in
the FBS framework, one must differentiate here between two distinct denotations of the word ‘evaluation’: first is an external evaluation conducted
by the participants of the test procedures. Its goal is to collect feedback
from the test subjects about the performance of the system in terms of
measurement results, observations, surveys or user statements. After the
design team has analyzed these results, a second process of evaluation applies internally in the team to compare the expected and analyzed behaviour (which corresponds to Gero’s notion of evaluation in process 15).
According to ISO 13407, the aim of repeated acquisition of feedback
from potential users of the software is to assess how well the system meets
its goals and to select a design option that best fits the requirements. The
use of evaluation results in other design activities and the reporting of
feedback to the design should result in demonstrable changes in the system. The analyzed feedback can affect the structure of a design solution
by re-interpreting the external structure (process 13), constructive memory
of structure (process 6), the requirements on structure (process 3), or the
Extending the FBS Framework for User-Centered Software Design
255
structural needs (process 23). Changing the focus now on the expected
structures leads to the aforesaid changed state in the expected world (process 9). This structural consideration of evaluation results marks the reformulation type 1 of the FBS framework. We abstain from a detailed description for reformulation type 2 (behaviour) and reformulation type 3
(function), which are analogous to the one presented for structure.
Information awareness in situated design
Taking our extended model as a formal description for situated design, we
can identify basic informational demands of designers in user-centered
software projects. According to the definition of Gero (1990) [4], the act of
design is a “goal-oriented, constrained, decision-making, exploration, and
learning activity which operates within a context which depends on the designer’s perception of the context”. But how can design context be characterized? Its multilateral notion is often limited to a static design factor resulting from the design problem at hand and the environment of the design
object. For this work, we rather describe design context as the personal
awareness of a constantly changing situation in a design process, the set of
design representations, their relations, and hence the interpreted information and knowledge designers have about the state of a design process. Put
into a social, team-based project scenario, having context awareness allows
individuals to assess the present design information space, which is the result of and input for concerted design decisions and activities. With the
situated FBS framework, we can now extract a more precise picture of
what constitutes awareness in a user-centered design process. This is essential for the development of computational design support tools that aim
to assist collaborating design agents in sharing and enhancing information
awareness.
We describe two complementing properties of design context awareness
that can be sourced from our view on the FBS framework:
1. Awareness is shaped by the interpretation of external design representations and their relationships. From a distant perspective, the goal of
design is to transform a set of expected functionality (Fei) into an external
description of a design structure (Se) such that an artifact conforming to Se
will fulfill the functions in Fei (cf. Kruchten 2005 [10]). This non-linear
process is driven by external needs and requirements (XNe, XRe), producing a growing set of intermediary and interdependent design representations (F e, B e, Se). These interdependencies between representations
generated by the team are first of all tacit or implicitly anchored in the
256
M. Uflacker, A. Zeier
constructive memory of the designers and are rarely made available to
other process participants explicitly. They are shared though through individual or social actions and communication. Having a sense about what
and how representations are related with each other allows designers to get
a bigger picture of the current situation, to understand and assess particular
information in the design process correctly. The ability to perceive relationships between design representations improves the ability to interpret
the current design situation and to evaluate the options for future design
activities and decisions in a team.
2. Awareness is shaped by the relationships between external design
representations and humans. Conceptual designing is a human process.
The specification and externalization of needs (XNe), requirements (XRe)
or representations of a design object (via processes 12, 17, 18) is a subjective act performed by one or more individuals in the design process. Thus,
the information created can often directly be related to people who are involved in the design process (e.g. designers, users, etc.). Relationships
between (intermediate) design representations and individuals in a design
team express actions carried out by designers that led to a particular representation. Possible relations could be e.g. formulated as “contributed by”
or “revised by”. These relations are constructed implicitly during teambased communication and collaboration, and stimulate the perception of
knowledge distribution and team structure. Being informed about the relations between team members and design representations allows designers
to find answers to questions like “Who knows about …” or “Who did …?”
This brief characterization of information awareness indicates that the
potential of individuals to comprehend the design context in a specific design situation is closely connected to the integrity of the constructive
memory that is shared among the team. The constructive memory of a design team evolves through design interactions and collaboration of individuals. This is reflected in Wegner’s (1986) [19] transactive memory theory, which combines constructive memory processes of individual team
members in a collective ‘group mind’. However, a consistent distribution
of constructive memory among all process participants over the course of a
project is idealistic. Distributed teams and information, changes in the
team structure, individuals joining or leaving the design process, are common scenarios especially in larger software design projects, resulting in
knowledge that is disconnected and unshared. This creates the demand for
computational support of transactive memory processes for the provision
of a common, networked design information space in social collaboration
environments (cf. Bannon and Bødker 1997 [1]; Perry, Fruchter and
Spinelli 2001 [16]). Relationships between design representations, information, and people should be made explicit and provided to the design
Extending the FBS Framework for User-Centered Software Design
257
team to increase context awareness. The aforementioned factors influencing the awareness of the design context can serve as a first reference point
in the design of such systems and for addressing the informational demands of designers in a user-centered process.
Conclusion
We have presented an ontological extension for the situated functionbehaviour-structure framework. This was motivated by the fact that the
framework in its current state does not appropriately reflect central design
elements of a user-centered software design process. By introducing the
notion of user needs and documentation as the externalization of an interpreted use context, we have set up the framework to address basic concepts
of user-centeredness. We took ISO 13407 as a reference to identify the
core activities in a user-centered development process for interactive systems and were able to map those to the process entities in the extended
FBS framework. The four activities defined by the ISO norm (“understand
and specify the context of use”, “specify the user and organizational requirements”, “produce design solutions”, and “evaluate designs against
requirements”) were expressed as a composition of the eight design steps
provided by the FBS framework: formulation, synthesis, documentation,
analysis, evaluation, and reformulation type 1–3.
Based on the extended version of the design framework, we started a
closer investigation into the notion of design context and design awareness
in user-centered processes. Determining factors shaping information
awareness have been highlighted in the framework, describing the notion
of implicit relationships between design representations and designers.
This emphasizes the importance of having common ground, or a shared
understanding of the design situation in a team, and provides input for designing tools to support the socializing of constructive memory and sensing of design information in its context.
The added complexity that our ontological extension brings to the FBS
framework can be well justified with the increased explanatory power of
the model. The transfer of user-centered design principles to a situated
framework creates new potential for analyzing and reasoning about design
in software engineering processes. At the same time, the ontological extension is not bounded to concepts specific to the software domain. Preserving the generality of the framework, it is open for further discussions and
feedback from other engineering disciplines.
258
M. Uflacker, A. Zeier
References
1. Bannon L, Bødker S (1997) Constructing common information spaces.
ECSCW'97: Proceedings of the Fifth Conference on European Conference on
Computer-Supported Cooperative Work, Lancaster, UK: 81–96
2. Beyer H, Holtzblatt K (1998) Contextual design: defining customer-centered
systems. Morgan Kaufmann Publishers Inc., San Francisco, CA
3. Clancey WJ (1997) Situated cognition: on human knowledge and computer
representation. Cambridge University Press, Cambridge
4. Gero JS (1990) Design prototypes: a knowledge representation schema for design. AI Magazine 11(4): 26–36
5. Gero JS, Fujii H (2000) A computational framework for concept formation in
a situated design agent. Knowledge-Based Systems 13(6): 361–368
6. Gero JS, Kannengiesser U (2004) The situated function-behaviour-structure
framework. Design Studies 25(4): 373–391
7. Gero JS, Kannengiesser U (2007) An ontological model of emergent design in
software engineering. ICED07. Ecole Centrale de Paris: 70:1–12
8. Gero JS, Kannengiesser U (2007) An ontology of situated design teams.
AIEDAM 21(4): 379–391
9. ISO (1999) 13407 Human-centred design processes for interactive systems.
ISO 13407:1999(E)
10. Kruchten P (2005) Casting software design in the function-behavior-structure
framework. IEEE Software 22(2): 52–58
11. Kujala S, Kauppinen M, Rekola S (2001) Bridging the gap between user
needs and user requirements. Proceedings of PC-HCI 2001 Conference, Patras, Greece
12. Layzell P, Brereton OP, French A (2000) Supporting collaboration in distributed software engineering teams. APSEC ’00: Proceedings of the Seventh
Asia-Pacific Software Engineering Conference, Washington, DC
13. Nielsen J (1993) Usability engineering. Morgan Kaufmann Publishers, San
Francisco, CA
14. Norman DA (2002) The design of everyday things. Basic Books, New York
15. Perry MJ, Fruchter R, Rosenberg D (1999) Co-ordinating distributed knowledge: a study into the use of an organizational memory. Cognition, Technology & Work 1(3): 142–152
16. Perry MJ, Fruchter R, Spinelli G (2001) Spaces, traces and networked design.
HICSS '01: Proceedings of the 34th Annual Hawaii International Conference
on System Sciences, IEEE Computer Society, Washington, DC
17. Schön D (1992) Designing as reflective conversation with materials of a design situation. Research in Engineering Design 3: 131–147
18. Vredenburg K, Isensee S, Righi C (2001) User-centered design: an integrated
approach. Prentice Hall PTR, Upper Saddle River
19. Wegner DM (1986) Transactive memory: A contemporary analysis of the
group mind. In B Mullen and GR Goethals (eds), Theories of Group Behavior, Springer-Verlag, New York: 185–208
Extending the FBS Framework for User-Centered Software Design
259
20. Winograd T (1996) Bringing design to software. Addison Wesley, Reading,
MA
Download