kind of requirements management into XP (Eber-
lein and do Prato Leite, 2002; Paetsch et al., 2003)
when quality of the system under development is
a concern.
• Reports of problems trying to integrate large-scale
refactorings into the everyday work of XP projects
(Lippert, 2004). The quote “...aggressive refac-
toring probably will remain the most difficult,
because it requires consistency, energy, and
courage, and no mechanisms in the methodology
reinforce it.” (Cockburn, 2006), brings the defi-
ciency of XP into focus, offering an explanation
of the many attempts at amending XP.
Developer Stories – a new agile practice – was intro-
duced to address the deficiency of XP concerning ar-
chitecture and design (Jensen et al., 2006). The new
practice was inspired by the explicit focus on archi-
tecture in more traditional methods, but designed to fit
perfectly in tune with the practices, principles and val-
ues of XP. Developer Stories manage non-functional
and other architectural requirements for systems - in
parallel with the feature-oriented user stories (effec-
tively addressing functional requirements). The pro-
posed practice was argued through a literature-based
analysis (Jensen et al., 2006).
Investigating how Developer Stories works in a
concrete development project is the subject of this pa-
per. Analyzing Developer Stories, we propose a hy-
pothesis: Developer Stories essentially contributes to
the development process by two means: 1) facilitat-
ing sharing and embodiment of knowledge concern-
ing architectural issues, and 2) improving visibility of
architectural changes – thereby giving the customer
more leverage to steer the development process. This
paper presents the results of an experiment with De-
veloper Stories, which sets out to validate this hypoth-
esis, providing evidence that these two means are in
fact present. The experiment is designed as a com-
bination of a field- and laboratory experiment, and
evolves around an XP project of 3 iterations with 6 de-
velopers, a coach and an on-site customer. Conclud-
ing upon the experiment, we find that our hypothe-
sis is true, and that Developer Stories improve knowl-
edge sharing and heighten visibility by creating reoc-
curring, disciplined activities for exploring and pro-
cessing possible architectural issues.
The remainder of this paper is organized as fol-
lows: Section 2 presents the new practice Developer
Stories in some detail (more arguments can be seen
in (Jensen et al., 2006)). Section 3 presents the ex-
periment settings, data collection and analysis, while
section 4 lists the findings from the experiment. Re-
sults are summarized in section 5, and then discussed
in section 6. Finally we draw our conclusions in sec-
tion 7, and hint possible future work in section 8.
2 DEVELOPER STORIES
In the following we present in some detail the practice
Developer Stories based on the original description of
Developer Stories (Jensen et al., 2006). For practical
purposes some aspects were clarified before the ex-
periment, but in all important aspects the practice has
remained as the former proposition.
The overall goal of Developer Stories is to pro-
vide the development team with the opportunity and
means to improve the architecture of systems in devel-
opment, accomplishing greater business value, and a
viable architecture.
The Developer Story practice is designed to fit
into the synergetic mesh of XP’s practices. It takes its
place in the symbiotical relationships of the practices,
relating to i.e. pair programming, incremental design,
test-first programming and user stories (for clarifica-
tion of this see (Jensen et al., 2006)), It is designed
to both support and be supported by the values of XP,
and in general follow the look and feel of XP.
2.1 The Artifact: A Developer Story
Developer Stories as a practice consists of a process –
a number of activities, and artifacts. The artifacts are
the developer stories, defined as such:
The developer stories describe (changes to)
units of developer-visible properties of the
software. In contrast, user stories describe
units of user-visible functionality of the soft-
ware. The physical representation of a devel-
oper story is an index card, which may have
another color than user stories, making it easy
to distinguish them from each other. (Jensen
et al., 2006)
In essence, a developer story is much like a user story
- but where a user story describes features of the sys-
tem and is written by the user, a developer story de-
scribes changes to the system that are often not visible
to the user, but highly visible to the developers – and
is therefore written by the developers.
Figure 1 depicts a developer story from the con-
ducted experiment. The layout of a developer story is
an index card, and the form of the content is not bound
by any formalism. The extent of the content is at the
leisure of the developers. Whether it should contain a
description of the problem, solution, tests, tasks and
estimate, or whether it (as is the case of our example
from the experiment, Figure 1) only needs two lines
of description.
HOW “DEVELOPER STORIES” IMPROVES ARCHITECTURE - Facilitating Knowledge Sharing and Embodiment,
and Making Architectural Changes Visible
57