<!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>Early user-testing before programming improves software quality</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>John Sören Pettersson</string-name>
          <email>John_Soren.Pettersson@kau.se</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jenny Nilsson</string-name>
          <email>Jenny.Nilsson@kau.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Systems, Karlstad University</institution>
          ,
          <addr-line>Karlstad, Sweden, +4654 700 1135</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Information Systems, Karlstad University</institution>
          ,
          <addr-line>Karlstad, Sweden, +4654 700 2553</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>This position statement does not focus on usability although it presents data from a software up-date cycle where several usability- and user-centred methods were used. The important lesson learnt is that a better (more complete) specification before programming results in fewer errors in the code and that such a specification can be reached by user tests of interactive mockups.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Software quality</kwd>
        <kwd>Early user-testing</kwd>
        <kwd>Wizard-of-Oz prototyping</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. CASE STUDY</title>
      <p>Frequent testing of developing software can certainly increase the
usability in the program. However, as we found in a case study,
the method seems to continuously introduce changed or new
requirements which in turn results in more complex code and
thereby more errors. This case study consisted of a large update
cycle of a software package in the area of decision support system
for civil protection. The update involved a complete
reprogramming of the four largest modules. Several smaller updates
had been made prior to the large update cycle, and requirements
for the update had (as always) been collected from the large user
groups. The organisation had routines for collecting requirements
from users, client organisations, and other stakeholders.</p>
      <p>
        There was thus much resemblance of their approach to
principles found in user-centric approaches such as the MUST
method [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The organisation had however recognised that
usability was an issue even if the type of functions provided by the
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
      </p>
      <p>Conference’04, Month 1–2, 2004, City, State, Country.</p>
      <p>Copyright 2004 ACM 1-58113-000-0/00/0004…$5.00.</p>
      <sec id="sec-1-1">
        <title>TWO ALTERNATIVE USER-CENTRED PROCESSES</title>
      </sec>
      <sec id="sec-1-2">
        <title>Requirements specification</title>
      </sec>
      <sec id="sec-1-3">
        <title>Early User-Testing (EUT)</title>
      </sec>
      <sec id="sec-1-4">
        <title>Programming with debugging</title>
        <p>EUT
No-EUT</p>
        <sec id="sec-1-4-1">
          <title>Requirements</title>
          <p>from users</p>
        </sec>
        <sec id="sec-1-4-2">
          <title>Requirements from users _</title>
        </sec>
        <sec id="sec-1-4-3">
          <title>Two cycles with redesign of UI and some other specifications</title>
        </sec>
        <sec id="sec-1-4-4">
          <title>Repeated Repeated</title>
          <p>evaluations by evaluations by
experienced experienced
users, content users, content
experts and experts and</p>
        </sec>
        <sec id="sec-1-4-5">
          <title>HCI-expert HCI-expert</title>
        </sec>
        <sec id="sec-1-4-6">
          <title>Usable and error-free program modules</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. ERROR RATES</title>
      <p>The debugging process showed an interesting difference in the
number of errors found in the module lacking pre-testing and a
Note: Priority 3 was in the error reports noted as “Next version”, often new requirements, while Priority 1 was “critical errors”.
comparable pre-tested module. Table 1 indicates both the size (in
MB) and the number of files of the two modules. Error rates are
given both in relation to size and number of files. The
EUTdeveloped module has about one-fifth of the error rate of the
notEUT module for the “Prio 1” errors (called “critical errors” in the
debugging reports). In total, the error rate for the first module is
only half of what was found in the second module.</p>
      <p>It is not meaningful to compare program modules without
considering the relative complexity of each module. The two other
EUT-modules were only half the size of the one we select for this
error comparison but contained, relative to their size, many more
errors than the modules in Table 1. However, these other modules
contained specific, database-related complexities and can only be
used for certain comparisons (2.2).</p>
    </sec>
    <sec id="sec-3">
      <title>2.1 The debugging process</title>
      <p>The debugging process commenced nearly a year before the final
launch of the new version. The debugging was conducted by three
groups which were very familiar with the functional requirements:
a group of very experienced users, the HCI expert, and the content
managers for the different modules’ databases.</p>
      <p>The bug-finding by experienced users sometimes resulted in
new requirements coming up. Interestingly, this was also the case
for the debugging made by the content experts (who had not been
involved in the pre-tests before programming; they had only seen
and accepted the requirements specifications).</p>
    </sec>
    <sec id="sec-4">
      <title>2.2 New requirements</title>
      <p>For the first module in Table 1 there was only 4 new requirements
coming up in the extensive debugging process while for the
second module there was 13. This we hold to be the source of
many of the other errors. When new functions are introduced into
the developing process, it is harder for the programmers to
maintain a clean and easily predictable code.</p>
      <p>That early user-testing can capture many requirements was
shown by a third module, smaller in size than the two modules in
Table 1 (0.7 MB and consisting of only 55 files). This third
module mainly consisted of a library and the content expert of this
module found many faults during the debugging process: among
these were in effect 24 new requirements. In the HCI expert’s (i.e.
Wizard’s) opinion, most of the new requirements would have
been possible to spot if the content expert had been included in
the pre-testing, which could have been done without the wizard
setting up special test scenarios for content experts. This is
important when the Wizard-of-Oz method is used as the method
incurs some extra costs when mockups have to be prepared before
tests.</p>
    </sec>
    <sec id="sec-5">
      <title>3. EARLY USER-TESTING</title>
      <p>The much criticized Waterfall model for systems development,
where all specifications should be settled before the laborious
tasks of modelling and programming take place, admittedly has
some advantages, but only if all requirements really can be settled
in advanced. By early prototyping designers can approach this
goal. In the case study, the Wizard-of-Oz method was used with
user interfaces often based on previous versions of the system.
What was needed was elaboration of the interaction design and
uncovering interdependences between various function
requirements. This was met by the WOz prototyping, which was
conducted in two rounds: a first one on a rough design with 8
participants; a second one six months later on a detailed design
with 5 participants. Although the interaction is ‘real’ in WOz
experiments, the graphics can be crude in early design phases.</p>
      <p>
        Setting up a WOz environment for testing is laborious as the
Wizard must have control over what the user sees on the monitor
(and hears from the loudspeakers), but in our research group we
have developed a ‘general-purpose’ WOz system which we call
Ozlab ,which facilitates the setting up of tests enormously (cf. e.g.
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]). A WOz set-up also allows designers to probe their own
designs and find interaction bugs even before testing.
      </p>
      <p>Still to evaluate is how much more costs the error-correction
took in comparison with the cost for the Wizard work, but from
our experiences of this project (and noting the difference in
salaries between usability people and programmers…) it seems a
safe bet that the EUT injected as in Figure 1 pays of very well to
say nothing of how much frustration is saves.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Ambler</surname>
            ,
            <given-names>S.W.</given-names>
          </string-name>
          <year>2004</year>
          .
          <article-title>Tailoring Usability into Agile Software Development Projects</article-title>
          . Maturing Usability, eds. Law,
          <source>Hvannberg &amp; Cockton. Pp 75-95</source>
          . Springer-Verlag
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Bødker</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kensing</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Simonsen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2004</year>
          . Participatory IT Design.
          <article-title>Designing for Business and Workplace Realities</article-title>
          . MIT Press.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Gould</surname>
            ,
            <given-names>J. D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Lewis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <year>1985</year>
          .
          <article-title>Designing for usability: key principles and what designers think</article-title>
          .
          <source>Com. ACM</source>
          <volume>28</volume>
          :
          <fpage>300</fpage>
          -
          <lpage>311</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Jokela</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Abrahamsson</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <year>2004</year>
          .
          <article-title>Usability Assessment of an Extreme Programming Project: Close Co-operation with the Customer Does Not Equal Good Usability</article-title>
          .
          <source>PROFES 2004 Proceedings</source>
          , pp
          <fpage>393</fpage>
          -
          <lpage>407</lpage>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Molin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <year>2004</year>
          .
          <article-title>Wizard-of-Oz Prototyping for Cooperative Interaction Design of Graphical User Interfaces</article-title>
          .
          <source>Proceedings of the Third Nordic Conference on Human-Computer Interaction</source>
          ,
          <fpage>23</fpage>
          -
          <lpage>27</lpage>
          October, Tampere, Finland, pp.
          <fpage>425</fpage>
          -
          <lpage>428</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>