<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Craft of Programming Interaction</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rikard Lindell</string-name>
          <email>rikard.lindell@mdh.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Mälardalen University Box</institution>
          <addr-line>883 72123 Västerås</addr-line>
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2007</year>
      </pub-date>
      <volume>1</volume>
      <fpage>167</fpage>
      <lpage>175</lpage>
      <abstract>
        <p>The creation of useful artefacts with rich experiential qualities required quality driven interaction designers and programmers with the ability to simultaneous problem setting and problem solving. Interaction design is a design practice that defines the appearance and function of digital artefacts. Bridging interaction design and engineering is problematic because design and engineering have different epistemology. Designers are trained to see a plethora of future designs for a situation and explains the phenomena of a context. Engineering focus on problem solving and depends on agreement about ends. In this paper I suggest that the poor state of designers and programmers who are not standing together can be avoided if we give up the claim that software development should be engineering or science, and instead see it as a quality-driven craftsmanship.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Interaction design has indulged itself in being a design
practice that tries to define the appearance and function of
digital artefacts [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Sketches, storyboards, videomatics, and
interactive prototypes depict the appearance and
functionality, and at best convey requirements to software
engineers [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3,4,5</xref>
        ]. The result from a design process is rich in
clues to the finished product. But, the material in the design
process is different from the code that implements the
design into a working artifact [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        There is a big problem in how a development project runs
between the phases of interaction design and engineering
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. These two activities have different epistemology;
interaction design is a design practice [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], while software
engineering is struggling to describe itself as engineering
and science [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Designers are trained to see a plethora of
future designs for a situation. Design explains the
phenomena of the context. It's about framing the problem
space of the context, cut into a search tree of plentiful
design proposition to reach the right user experience design
of a future artefact [
        <xref ref-type="bibr" rid="ref4 ref8">4,8</xref>
        ]. Design is the exploratory use of
malleable tactile materials and provides suggestions for
possible future solutions [
        <xref ref-type="bibr" rid="ref2 ref4 ref8">2,4,8</xref>
        ]. The goal of the design
process is that as much as possible frame the problem for an
engineering process to take over to solve.
      </p>
      <p>Sketches, storyboards, and paper prototypes works in
design situations where the designer experiments with
known interaction idioms. Users, design colleagues, and
programmers fill the gaps and imagine the user experience
for the finished artefact based on their experience with
these idioms. To get talk-back from the interaction design it
is necessary to create interactive prototype programs. The
design process does not stop when the programming start,
on the contrary, programming is a vital part of the design
process.</p>
      <p>
        BACKGROUND
Schön discuss how faith in rational, scientific, and
technological solutions are spread because of how they
were successfully applied during World War II, where the
solution to a problem was to supply more resources [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The
point he makes is that engineering is close to science.
“They began to see laws of nature not as facts inherent in
nature but as constructs created to explain observed
phenomena, and science became for them a
hypotheticodeductive system. In order to account for his observations,
the scientist constructed hypotheses, abstract models of an
unseen world which could be tested only indirectly through
deductions susceptible to confirmation or disconfirmation
by experiments. The hart of scientific inquiry consisted in
the use of crucial experiments to choose among competing
theories of explanation.” This quotation describes how
belief in deductive reasoning disconnecting the explanation
of the world from the material to be explained. A scientific
approach allows the engineer to deduce, analyse and define
problems in a rational way; the positivist epistemology of
science [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
rnd
      </p>
      <p>
        Figur 1. Buxton's image of the organisation for the engineering driven product development [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Boehm describes in his expose of just over a half-century of
software engineering how the field evolved, mainly that we
increasingly focusing on usability and value [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Software
engineering has realised the problems with the top-down
waterfall development model and introduced iterative
models [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. These models deal with changes in the
problem space by development iterations. Each iteration in
the spiral model or in the rational unified process (RUP) is
basically a waterfall model. The foundation is still the
technical rationality epistemology.
      </p>
      <p>
        Buxton describes how an engineering-driven organisation is
organised in a simple diagram [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], see Figure 1. First you
do research and development, then you do engineering, and
finally hand the product to the sales organisation. This type
of organisation requires an agreement on ends. At changes
and difficulty in clearly defining the problem dissonance
arises in the organisation: “Technical Rationality depends
on agreement about ends.” In the citation Schön delineates
how technical rationality does not address situations where
the result is uncertain and where there is no ready-defined
problem to solve.
      </p>
      <p>Reflection-in-action and interaction design
Technical rationality and focus on ends has a different
epistemological dimension than Reflection-in-action
Schön's term for the reflective practitioner way of thinking
and acting. The reflective practitioners have practical
knowledge (knowledge-in-practice), they can be aware or
unaware of this knowledge regardless of guild. Reflective
practitioners deal with problem setting and unique and
complex situations, mainly through reflection-in-action
(reflection-in-action). Reflection-in-action can be
summarized in three phases that are repeated: (1) Frame the
problem, assess the situation, and understand the working
material. (2) Perform moves over the situation. These
moves are parts of the practitioner’s repertoire. They are
small experiments with the intentional result, but often with
unintended effects (both positive and negative). (3) Reflect
and evaluate the consequences of action in conversation
with the situation. Practitioners take in and reflect on how
the situation responds (talk-backs). The conversation
happens in what Schön calls the medium's language. After
this phase the process starts over again.</p>
      <p>
        Design problems are often vague, complex, and
contradictory [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In the problem setting phase interaction
designers name the phenomena that they will pay attention
to and work with. They create design concepts through
various design techniques: sketches, mood boards,
storyboards, or paper prototypes to better understand and
frame the problem. Concept design are evaluated and
refined through introspection, criticism, and user studies,
such as Wizard of Oz method [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The design work will also
increase the understanding of the situation and context.
      </p>
      <p>
        Sketching interfaces and designing paper prototypes will
also learn interaction designers more about the context
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Figure 2 shows a design driven organisation and how
the design team follows the design through the entire
process. Such an organisation also understand that fellows
close to the market can provide feedback from users.
      </p>
      <p>
        Interaction Designers have a repertoire of interaction styles
that they can apply for different problems [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. To be able to
design great interfaces interaction designers should master
programming. It is part of being conscious of the design
material [
        <xref ref-type="bibr" rid="ref13 ref5">5, 13</xref>
        ]. While interaction designers can implement
a design by composing software, they must not be seduced
by technologies for technology's sake.
      </p>
      <p>
        Interaction Designers create architecture for interactive
artefacts and their spatial and temporal properties. They
design the artefact topology, the artefact appearance on the
screen or in the space and how artefact change over time
because of interaction. Interaction Designers understand the
consequences of different designs and have a feel for how a
design can be realised. Similarly, interaction designers build
interactive prototypes for technical substantiate and in full
understand what they designed. Its about material
consciousness [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The difference between the architect
and interaction designer is that the latter build their model
in full scale, albeit quickly, and at times chaotic, but it is a
model and not a product.
      </p>
      <p>
        Craft
The profession, the knowledge, and ability to design
interactive artifacts is a creative craft. McCullough
discusses the craft related to interactive technology use and
how an artisan approach can enrich interaction design [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>According to McCullough, there is a wide gap between the
design of digital artifacts, and computer science and
software engineering.</p>
      <p>That craftsmanship has not been highly regarded is not new.</p>
      <p>
        Within software engineering is sometimes used
c r a f t s m a n s h i p d e r o g a t o r y t o d e s c r i b e c a r e l e s s
programming. Boehm for instance, uses the notion of
craftsmanship as analogy for the 1960s, lack of professional
discipline and careless "cowboy programming" [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        However, negligence has nothing to do with craft. On the
contrary, describes Sennett the craftsman as a quality-driven
bordering on manically busy perfecting his/her work [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
The craftsman must be patient and not tempt to do quick
fixes. But, the craftsman's commitment is to do a good
craftsmanship for its own sake.
“Craftsmanship may suggest a way of life that waned with
the advent of industrial society–but this is misleading.
      </p>
      <p>
        Craftsmanship names an enduring, basic human impulse,
the desire to do a job well for its own sake. Craftsmanship
cuts a far wider swath than skilled manual labor; it serves
the computer programmer, the doctor, and the artist;
parenting improves whet it is practiced as a skilled craft, as
does citizenship. In all these domain, craftsmanship focuses
on objective standards, on the thing in itself. [...] And
though craftsmanship can reward an individual with a sense
of pride in work.”
Sennett describes the craftsman's ability to simultaneously
identify problems and solve them. This is consistent with
Schön's ideas about refelektion-in-action, discussing
problems qualifying in difficult situations. Sennett says that
problem setting and problem solving has a rhythm that
relates subconscious and conscious reflection-in-action.
“Every good craftsman conducts a dialogue between hand
and head. Every good craftsman conducts a dialogue
between concrete practices and thinking; this dialogue
evolves into sustaining habits, and these habits establish a
r h y t h m b e t w e e n p r o b l e m s o l v i n g a n d p r o b l e m
finding.” [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Material
Information technology, according to Löwgren and
Stolterman, is a material which it has no recognisable
features [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This view combines interaction with
"traditional" design trades and crafts.
      </p>
      <p>The similarity between the industrial designer and architect
on the one hand and the interaction designer however, lies
in creating technology. But, the industrial designer and
architect's material is concrete as opposed to interaction
designer material that is intangible. We distinguish between
these disciplines from one another by the material they are
working in and what they create, but they have similar
practices, methods, and approaches to design. IT is on the
surface visual, auditory, or haptic, but this is an illusion
created by calculations and represented in ones and zeros
and described with programming languages. Media and
language for interaction designers are sketches of the
interface's appearance, creating paper prototypes and to
1 http://manifesto.softwarecraftsmanship.org/
write computer programs that embody digital artefacts'
behaviour in working prototypes.</p>
      <p>
        If we do not consider the development of software such as
software engineering, which qualities are in the
development process for the continuing development work
performed as a work of reflective practitioners and quality
driven craftsmen?
PROGRAMMING IS A CRAFT
“How can we make sure we wind up behind the right door
[good code or bad code] when the going gets touch? The
answer is: craftsmanship.” [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>
        In Martin et. al quote there is a notion of pursuing the
mastery of craftsmanship. Gaining experience through a
dialogue between tacit knowledge and explicit critique, and
relying on their mastery in their practice. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>Empirical Findings
The Manifesto for Agile Software Development and later
the Manifesto for Software Craftsmanship provide both
empirical evidence supporting the idea of programing as a
craft. Manifesto for Agile Software Development was
written as a critique of a rigid approach to requirements
specification, analysis, design and documentation and to put
focus on creating useful artifacts with rich user experience.</p>
      <p>
        The manifesto reads: Individuals and interactions over
processes and tools, Working software over comprehensive
documentation, Customer collaboration over contract
negotiation, and Responding to change over following a
plan [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. The manifesto reflects the programmer's
frustration that spend most of the time to document and
manage the project instead of writing code.
      </p>
      <p>As I write this, the Manifesto for Software Craftsmanship1
– Raising the bar has been signed by over 9,000 people
(9,410) with the constant rising number of signatures. The
manifesto reads:
“As aspiring Software Craftsmen we are raising the bar of
professional software development by practicing it and
helping others learn the craft. Through this work we have
come to value: Not only working software, but also
wellcrafted software. Not only responding to change, but also
steadily adding value. Not only individuals and interactions,
but also a community of professionals. Not only customer
collaboration, but also productive partnerships“
software craft</p>
      <p>
        The development of software - programming - is an activity
with a wide range of intrinsic properties that are closer to
craft than science or engineering. Sennett describes the
Linux programmer as the modern craftsman [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
“People who participate in “open source” computer
software, particularly in the Linux operating system, are
craftsmen who embody some of the elements first
celebrated in the hymn to Hephaestus, but not others. [...]
The Linux system is public craft. The underlying software
kernel in Linux code is available to anyone, it can be
employed and adapted by anyone; people donate time to
improve it. Linux contrast to the code used in Microsoft, its
secrets until recently hoarded as the intellectual property of
one company. During these two decades, the software
industry has morphed within its brief life into a few
dominant firms, buying up or squeezing out smaller
competitor. In the process, the monopolies seemed to churn
out even more mediocre work.” [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Martin et al. press the importance of quality-driven and
disciplined practice in the programming craft. The
programmer must carefully name functions, classes,
interfaces, methods [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Martin et al. focus on the code, to
carefully write clean code based meticulous attention on the
principles and guidelines for the scope of a function or
method, of responsibility for a class, how test-driven
development is pursued, how concurrency is best
implemented, etc. Above all, Martin et al. show that the
problem cannot be solved at once but a problem can be
explored by writing tests and constant iteration of possible
improved solutions.
      </p>
      <p>Agile Development with XP and Scrum in particular is a
big step for software engineering in the direction of
focusing on service qualities and user experience as
opposed to non-agile development models, such as RUP,
the spiral model, and waterfall model. But, despite the Agile
Manifesto have XP and Scrum and other iterative
development models still a clear plan-implement-evaluate
cycle oriented that extends over a longer period, as at least
weeks, but in practice longer. A common feature for these
methods is agreement about ends.</p>
      <p>
        In recent years, the Kanban method attracted attention by
providing even greater freedom for adaptation [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. “Scrum
is less prescriptive than XP, since it doesn’t prescribe any
specific engineering practices. Scrum is more prescriptive
than Kanban though, since it prescribes things such as
iterations and cross-functional teams. ... Kanban leaves
almost everything open. The only constraints are Visualize
Your Workflow and Limit Your WIP. Just inches from Do
Whatever, but still surprisingly powerful.” [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. This
quotation shows how Kanban can be a support for an agile
development process in constant change. Kanban allows the
goal of a work in progress (WIP) change during the
process. This means that a WIP can have an open end.
      </p>
      <p>Thus, Kanban a radically different approach than all the
earlier development models; Scrum, XP, RUP, Spiral model
and Waterfall model included.</p>
      <p>The open-endedness of Kanban stands out and allows
practitioners reflection-in-action. Dealing with messy
situations and continuous problem setting and problem
solving important becomes pillars of programmers’ work.</p>
      <p>This makes the interaction designer and the programmer
standing on common ground; craftsmanship epistemology.</p>
      <p>The ongoing design process turns into a software
craftsmanship process, see Figure 3.</p>
      <p>The main difference between interaction designers and
programmers is that the material of interaction design has
slightly different characteristics than the material for
programming. The transition between design and
programming is in this situation regards the knowledge
exchange between practitioners of different repertoires.</p>
      <p>
        DISCUSSION
According Buxton et al the problem setting should be done
without writing code. However, programming is a good tool
for a design that is difficult to portray on paper; for
example, collaboration, pliable, or highly interactive
features. Innovative interaction techniques require
interactive prototypes. But, exploratory programming
allows various designs to be explored and in retrospect
transform the code into clean code [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. One way to explore
a design is to propose solutions by writing tests. By first
writing tests explores and sets the problem while the
programmer simultaneously solves the problem [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Buxton notes that there is still a division between design
and engineering and suggests how it can be bridged [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        But, is still an open question for research in design and
software engineering [
        <xref ref-type="bibr" rid="ref13 ref7">7, 13</xref>
        ].
      </p>
      <p>We need to use methods of agile software development with
a different approach. The development model Kanban
contains characteristics that allow an artisanal approach.</p>
      <p>The Kanban development model does not prescribe specific
roles, and is designed to accommodate continual change.</p>
      <p>Programmers and designers can simultaneously be doing
problem setting and problem solving.</p>
      <p>One way to bridge the design process and implementation
here is to let the designer be part of the development team.</p>
      <p>Instead of user stories as a description of the work in
progress (WIP), the concrete material from the design
process is used - mood boards, sketches, storyboards,
videomatics etc. Initial WIP uses an explorative
programming approach to continue the design process and
explore the problem space. As the artefact takes shape, the
development process can adopt a more pragmatic approach.</p>
      <p>Kanban is a relatively new model in software engineering
but has since become popular in game development. It is no
coincidence, since game development is focused on highly
interactive experience and game play. But, to use Kanban
artisanal manner, the participants in the project need to have
the craftsmanship epistemology.</p>
      <p>A practice oriented epistemology and ontology bridge the
designing and constructing activities within interaction
design and programming. An artisanal approach facilitates
the design and development of innovative and highly
interactive digital artifacts that have novelty and relevance.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Barry</given-names>
            <surname>Boehm</surname>
          </string-name>
          .
          <article-title>A view of 20th and 21st century software engineering</article-title>
          .
          <source>In Proceedings of the 28th international conference on Software engineering (ICSE '06)</source>
          . ACM, New York, NY, USA,
          <fpage>12</fpage>
          -
          <lpage>29</lpage>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Fällman</surname>
          </string-name>
          .
          <source>The Interaction Design Research Triangle of Design Practice</source>
          ,
          <string-name>
            <given-names>Design</given-names>
            <surname>Studies</surname>
          </string-name>
          , and Design Exploration, Design Issues,
          <volume>24</volume>
          .3, p.
          <fpage>4</fpage>
          -
          <lpage>18</lpage>
          , MIT press (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Jonas</given-names>
            <surname>Löwgren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Erik</given-names>
            <surname>Stolterman</surname>
          </string-name>
          .
          <article-title>Desgin av informationsteknik - materialet utan egenskaper</article-title>
          ,
          <source>Studentlitteratur, ISBN 91-44-04203-5</source>
          , (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Bill</given-names>
            <surname>Buxton</surname>
          </string-name>
          ,
          <article-title>Sketching User Experiences - getting the design right and the right design</article-title>
          , Morgan Kaufmann,
          <source>ISBN 978-0-12-374037-3</source>
          , (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Rikard</given-names>
            <surname>Lindell</surname>
          </string-name>
          . “
          <article-title>Jag älskar att allt ligger överst” - En designstudie av ytinteraktion för kollaborativa multimedia-framträdanden</article-title>
          . Mälardalen University Press Dissertations:
          <volume>72</volume>
          <source>, ISBN 978-91-86135-24-9</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Anna</given-names>
            <surname>Vallgårda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Tomas</given-names>
            <surname>Sokoler</surname>
          </string-name>
          .
          <article-title>A Material Strategy: Exploring Material Properties of Computers</article-title>
          .
          <source>International Journal of Design</source>
          . Vol
          <volume>4</volume>
          , No 3
          <issue>Dec 21</issue>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Memmel</surname>
          </string-name>
          , Fredrik Gundelsweiler, and
          <string-name>
            <given-names>Harald</given-names>
            <surname>Reiterer</surname>
          </string-name>
          .
          <article-title>Agile human-centered software engineering</article-title>
          .
          <source>In Proceedings of the 21st British HCI Group Annual</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Klaus</given-names>
            <surname>Krippendorf</surname>
          </string-name>
          .
          <article-title>The Semantic Turn</article-title>
          . CRC Press, Taylor &amp; Francis Group.
          <source>ISBN10: 9-415-32220-0</source>
          , (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Donald</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Schön</surname>
          </string-name>
          ,
          <article-title>The Reflective Practitioner - how professionals think in action</article-title>
          ,
          <source>Basic Books, ISBN 0-465-06878-2</source>
          , (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Boehm</surname>
            ,
            <given-names>B.W.</given-names>
          </string-name>
          <year>1985</year>
          .
          <article-title>“A Spiral Model of Software Development</article-title>
          and Enhancement,”
          <source>from Proceedings of an International Workshop on Software Process and Software Environments</source>
          , Coto de Caza, Trabuco Canyon, California, March 27-29, (
          <year>1985</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>Erik</given-names>
            <surname>Stolterman</surname>
          </string-name>
          .
          <source>The Nature of Design Practice and Implications for Interaction Design Research. i International Journal of Design</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ), p
          <fpage>55</fpage>
          -
          <lpage>65</lpage>
          . (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Barbara</surname>
            <given-names>Tversky</given-names>
          </string-name>
          ,
          <article-title>What do sketches say about thinking?</article-title>
          ,
          <source>in Proceedings of AAAI Spring Symposium on Sketch understanding, sid 148-151</source>
          , (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Bill</given-names>
            <surname>Buxton</surname>
          </string-name>
          .-On Engineering and
          <article-title>Design: An Open Letter</article-title>
          .
          <source>Businessweek. April 29</source>
          ,
          <year>2009</year>
          . http://www.businessweek.com/innovate/content/ apr2009/id20090429_
          <fpage>083139</fpage>
          .htm
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Richard Sennett.
          <source>The Crafsman. Penguin Books, ISBN-13: 978 0 141</source>
          <volume>02209 3, 2008</volume>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Malcom</surname>
            <given-names>McCullough</given-names>
          </string-name>
          ,
          <article-title>Abstracting Craft - the practiced digital hand</article-title>
          , MIT Press,
          <source>ISBN 0-262-13326-1</source>
          ,
          <fpage>1998</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Robert</surname>
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>Michael C.</given-names>
          </string-name>
          <string-name>
            <surname>Feathers</surname>
          </string-name>
          ,
          <string-name>
            <surname>Timothy</surname>
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Ottinger</surname>
          </string-name>
          . Clean Code:
          <article-title>A Handbook of Agile Software Craftsmanship</article-title>
          .
          <source>ISBN 978-01-3235-088-4</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kent</surname>
            <given-names>Beck</given-names>
          </string-name>
          , Mike Beedle, Arie van Bennekum,
          <string-name>
            <surname>Alistair</surname>
            <given-names>Cockburn</given-names>
          </string-name>
          , Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin,
          <string-name>
            <surname>Steve Mellor</surname>
          </string-name>
          , Ken Schwaber, Jeff Sutherland, Dave Thomas. Agile Manifesto. http://agilemanifesto.org/. (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Mikael</surname>
            <given-names>Lindvall</given-names>
          </string-name>
          , Vic Basili, Barry Boehm, Patricia Costa, Kathleen Dangle, Forrest Shull, Roseanne Tesoriero,
          <string-name>
            <given-names>Laurie</given-names>
            <surname>Williams</surname>
          </string-name>
          and
          <string-name>
            <given-names>Marvin</given-names>
            <surname>Zelkowitz</surname>
          </string-name>
          . Empirical Findings in Agile Methods. Ed: Don Wells,
          <string-name>
            <given-names>Laurie</given-names>
            <surname>Williams</surname>
          </string-name>
          .
          <source>Extreme Programming and Agile Methods - XP/Agile Universe 2002 Lecture Notes in Computer Science</source>
          , Volume
          <volume>2418</volume>
          /
          <year>2002</year>
          ,
          <fpage>81</fpage>
          -
          <lpage>92</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Henrik</surname>
            <given-names>Kniberg</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Mattias</given-names>
            <surname>Skarin</surname>
          </string-name>
          .
          <article-title>Kanban and Scrum - making the most of both. C4Media inc</article-title>
          ,
          <source>ISBN: 978-0-557-13832-6</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>