    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: From Waterfall to EVO in a Medium Size Norwegian Software
House</title>
        <link>https://members.accu.org/index.php/journals/258</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>


        <h2>Journal Articles</h2>


<div class="xar-mod-head"><span class="xar-mod-title">Overload Journal #65 - Feb 2005 + Project Management</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/journals/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c78/">Overload</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c147/">65</a>
                    (9)
<br />

                                            <a href="https://members.accu.org/index.php/journals/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c13/">Topics</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c66/">Management</a>
                    (95)
<br />

                                            <a href="https://members.accu.org/index.php/journals/c147-66/">Any of these categories</a>

                    -                        <a href="https://members.accu.org/index.php/journals/c147+66/">All of these categories</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;From Waterfall to EVO in a Medium Size Norwegian Software
House</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 12 February 2005 16:35:57 +00:00 or Sat, 12 February 2005 16:35:57 +00:00</p>
<p><strong>Summary:</strong>&nbsp;<p>FIRM was established in 1996, and has 70 employees in 4 offices
(Oslo, London, New York and San Francisco). FIRM delivers one
software product: <span class="emphasis"><em>Confirmit</em></span>.
Confirmit is a web-based application which enables organizations to
gather, analyze and report key business information across a broad
range of commercial applications.</p></p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<h2>The Path and Experiences</h2>
<div class="titlepage">
<h2><a name="d0e20" id="d0e20"></a>Background</h2>
</div>
<p>FIRM was established in 1996, and has 70 employees in 4 offices
(Oslo, London, New York and San Francisco). FIRM delivers one
software product: <span class="emphasis"><em>Confirmit</em></span>.
Confirmit is a web-based application which enables organizations to
gather, analyze and report key business information across a broad
range of commercial applications. Confirmit can be applied to any
information-gathering scenario. Its three main data sources are:
Customer Feedback, Market Feedback and Employee Feedback.</p>
<p>The FIRM R&amp;D department consists of about 20 people,
including a Quality Assurance department of 3 people where I work.
We are mainly involved in product development of Confirmit, but we
also do custom development for clients who fund new modules of the
software.</p>
<p>In the very beginning, when FIRM only had a couple of clients,
our development was very ad-hoc and customer driven. The software
was updated on an almost daily basis based on client feedback. As
our client base grew, we formalised the development process
according to a waterfall model. We were unhappy with several
aspects of the model: risk mitigation postponed until late stages,
document-based verification postponed until late stages, attempting
to stipulate unstable requirements too early, operational problems
discovered too late, lengthy modification cycles and much rework.
The requirements were focused on functionality, not on quality
attributes.</p>
<p>FIRM CTO Peter Myklebust and I heard Tom Gilb speak about
Evolutionary Project Management [EVO] at a software conference (
ITPro 2003). We found the ideas very interesting, and Tom and Kai
Gilb offered to give a more detailed introduction to the concept.
They spent one day in our offices teaching and preaching EVO. We
decided to use EVO as best as we could for the next release, with a
development phase of 3 months.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e34" id="d0e34"></a>FIRM's
Interpretation of EVO: Basis for the 3 Month Trial Period</h2>
</div>
<p>EVO is in short: <span class="emphasis"><em>Quickly evolving
towards stakeholder values &amp; product qualities, whilst learning
through early feedback.</em></span></p>
<p>After the one day crash course with Tom and Kai Gilb and a
literature study (&quot;Competitive Engineering&quot; by Tom Gilb and other
material on the subject), our overall understanding of EVO was
this:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Find stakeholders (End users, super-users, support, sales, IT
Operations etc)</p>
</li>
<li>
<p>Define the stakeholders' real needs and the related Product
Qualities</p>
</li>
<li>
<p>Identify past/status of product qualities and your goal (how
much you want to improve)</p>
</li>
<li>
<p>Identify possible solutions for meeting your goals</p>
</li>
<li>
<p>Develop a step-by-step plan for delivering improvements with
respect to Stakeholder Values &amp; Product Quality goals:</p>
<div class="itemizedlist">
<ul type="circle">
<li>
<p>Deliveries every week</p>
</li>
<li>
<p>Measure: are we moving towards our goals?</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e66" id="d0e66"></a>Requirements</h3>
</div>
<p>With EVO, our requirements process changed. Previously we
focused mostly on function requirements, and not on quality
requirements. It is the quality requirements that really separate
us from our competitors. There is an analogy with the spell checker
in MS Word: why was this a killer application? There was no new
functionality; authors of documents have been able to spell check
with paper dictionaries for ages. The real difference was a
superior product quality: speed of spell checking and usability.
[<i><span class="remark">Surely MS-Word wasn't the first WP with
automated spell checking? Ed.</span></i>]</p>
<p>We tried to define our requirements according to a basic
standard:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Clear &amp; Unambiguous</p>
</li>
<li>
<p>Testable</p>
</li>
<li>
<p>Measurable</p>
</li>
<li>
<p>No Solutions (Designs)</p>
</li>
<li>
<p>Stakeholder Focus</p>
</li>
</ul>
</div>
<p><span class="bold"><b>Example:</b></span></p>
<p><span class=
"emphasis"><em>Usability.Productivity</em></span></p>
<div class="variablelist">
<dl>
<dt><span class="term">Scale:</span></dt>
<dd>
<p>Time in minutes to set up a typical specified Market Research
Report (MR)</p>
</dd>
<dt><span class="term">Past:</span></dt>
<dd>
<p>65 min, Tolerable: 35 min, Goal: 25 min (end result was 20
min)</p>
</dd>
<dt><span class="term">Meter:</span></dt>
<dd>
<p>Candidates with knowledge of MR-specific reporting features
performed a set of predefined steps to produce a standard MR
Report. (The standard MR report was designed by Mark Phillips, an
MR specialist at our London office)</p>
</dd>
</dl>
</div>
<p>The focus is here on the day-to-day operations of our MR users,
not a list of features that they might or might not like. We
<span class="emphasis"><em>know</em></span> that increased
efficiency, which leads to more profit, will please them.</p>
<p>After one week we had defined more or less all the requirements
for the next version of Confirmit.</p>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e124" id=
"d0e124"></a>Solutions/Designs</h3>
</div>
<p>For every quality requirement we looked for possible solutions
(Design Ideas)</p>
<p>E.g. for Quality Requirement: Usability.Productivity we
identified the following design ideas:</p>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>DesignIdea.Recoding (See IET below)</p>
</li>
<li>
<p>DesignIdea.MRTotals</p>
</li>
<li>
<p>DesignIdea.Categorizations</p>
</li>
<li>
<p>DesignIdea.TripleS</p>
</li>
<li>
<p>...and many more</p>
</li>
</ul>
</div>
<p>We evaluated all these, and specified in more detail those we
believed would add the most value (take us closer to the goal).</p>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e149" id="d0e149"></a>EVO</h3>
</div>
<p>We collected the most promising solutions/design ideas and
included them in an Impact Estimation Table (IET) - see Figure
1.</p>
<p>The IET is our tool for controlling the qualities and deliver
improvements to real stakeholders, or as close as we can get to
them. (E.g. ProS/Support department acting as clients)</p>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e156" id="d0e156"></a>FIRM EVO
Week</h3>
</div>
<p>We decided that one EVO step should last one week (see Table 1)
because of practical reasons, even though we violate the rule of
not spending more than 2% of project schedule in each step.</p>
<div class="table"><a name="d0e161" id="d0e161"></a>
<table summary="An EVO Step" border="1" cellspacing="0">
<tr>
<th> </th>
<th>Development Team</th>
<th>Users (PMT, Pros, Doc writer, other)</th>
<th>CTO (Sys Arch, Process Mgr)</th>
<th>QA (Configuration Manager &amp; Test Manager)</th>
</tr>
<tr>
<td><span class="bold"><b>Friday</b></span></td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>PM: Send Version N detail plan to CTO + prior to Project Mgmt
meeting</p>
</li>
<li>
<p>PM: Attend Project Mgmt meeting: 12-15</p>
</li>
<li>
<p>Developers: Focus on general maintenance work, documentation</p>
</li>
</ul>
</div>
</td>
<td> </td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Approve/reject design &amp; Step N</p>
</li>
<li>
<p>Attend Project Mgmt meeting: 12-15</p>
</li>
</ul>
</div>
</td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Run final build and create setup for Version N-1</p>
</li>
<li>
<p>Install setup on test servers (external and internal)</p>
</li>
<li>
<p>Perform initial crash test and then release Version N-1</p>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td><span class="bold"><b>Monday</b></span></td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Develop test code &amp; code for Version N</p>
</li>
</ul>
</div>
</td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Use Version N-1</p>
</li>
</ul>
</div>
</td>
<td> </td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Follow up CI</p>
</li>
<li>
<p>Review test plans, tests</p>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td><span class="bold"><b>Tuesday</b></span></td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Develop test code &amp; code for Version N</p>
</li>
<li>
<p>Meet with users to discuss action taken regarding feedback from
Version N-1</p>
</li>
</ul>
</div>
</td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Meet with developers to give feedback and discuss action taken
from previous actions</p>
</li>
</ul>
</div>
</td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>System Architect: review code and test code</p>
</li>
</ul>
</div>
</td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Follow up CI</p>
</li>
<li>
<p>Review test plans, tests</p>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td><span class="bold"><b>Wednesday</b></span></td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Develop test code &amp;</p>
</li>
</ul>
</div>
code for Version N</td>
<td> </td>
<td> </td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Review test plans, tests</p>
</li>
<li>
<p>Follow up CI</p>
</li>
</ul>
</div>
</td>
</tr>
<tr>
<td><span class="bold"><b>Thursday</b></span></td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Complete test code &amp; code for Version N</p>
</li>
<li>
<p>Complete GUI tests for Version N-2</p>
</li>
</ul>
</div>
</td>
<td> </td>
<td> </td>
<td>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Review test plans, tests</p>
</li>
<li>
<p>Follow up CI</p>
</li>
</ul>
</div>
</td>
</tr>
</table>
<p class="title c3">Table 1. An EVO Step</p>
</div>
<p>At the Project Management meetings on Fridays each project
leader presented the results from the previous step (IET), as well
as the content of next EVO step (one week). Possible new Solutions
are discussed and weighed against each other.</p>
<p>We launched our first major release based on EVO in May 2004 and
we have already received feedback from users on some of the leaps
in product qualities. E.g. the time for the system to generate a
complex survey has gone from 2 hours (of waiting for the system to
do work) to 20 seconds!</p>
<div class="figure"><a name="d0e311" id="d0e311"></a>
<div class="mediaobject c4"><img src="/var/uploads/journals/resources/johansen-fig.jpg"
align="middle" alt="Impact Estimation Table"></div>
<p class="title c3">Figure 1. Impact Estimation Table</p>
</div>
</div>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e317" id="d0e317"></a>Internal
Feedback on EVO After the Trial Period</h2>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e320" id="d0e320"></a>Project
leaders:</h3>
</div>
<div class="orderedlist">
<ol type="1">
<li>
<p>Defining good requirements can be hard.</p>
</li>
<li>
<p>It can be hard to find meters which were practical to use, and
at the same time measured real product qualities.</p>
</li>
<li>
<p>Sometimes you think it's necessary to spend more than a day on
designs, but this was not right according to our understanding of
EVO - the concept of backroom<sup>[<a name="d0e333" href=
"#ftn.d0e333" id="d0e333">1</a>]</sup> activity was new to us.</p>
</li>
<li>
<p>Sometimes it takes more than a week to deliver something of
value to the client - again, the concept of backroom activity was
new to us.</p>
</li>
</ol>
</div>
</div>
<div class="sect2" lang="en">
<div class="titlepage">
<h3><a name="d0e340" id="d0e340"></a>Team members
(developers):</h3>
</div>
<div class="itemizedlist">
<ul type="disc">
<li>
<p>Sometimes it felt like we're rushing to the next weekly step
before we had finished the current step.</p>
</li>
<li>
<p>Testing was sometimes postponed in order to start next step, and
some of these mistakes were not picked up in later testing.</p>
</li>
</ul>
</div>
<p>Overall, the whole organization has embraced EVO. We all think
it has great potential, and we will work hard to utilize it to the
full.</p>
</div>
</div>
<div class="footnotes"><br>
<hr class="c5" width="100">
<div class="footnote">
<p><sup>[<a name="ftn.d0e333" href="#d0e333" id=
"ftn.d0e333">1</a>]</sup> A backroom activity is programming
activity not visible for the end user. This is not essential
information, we seldom use this activity. We always try to produce
some value to some stakeholders every week.</p>
</div>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
