<!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>Sustainable &amp; Productive: Improving Incentives for Quality Software</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Michael A. Heroux Sandia National Laboratories</institution>
          ,
          <addr-line>Albuquerque, NM</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Computational Science and Engineering (CSE) software can benefit substantially from an explicit focus on quality improvement. This is especially true as we face increased demands in both modeling and software complexities. At the same time, just desiring improved quality is not sufficient. We must work with the entities that provide CSE research teams with publication venues, funding, and professional recognition in order to increase incentives for improved software quality. In fact, software quality is precisely calibrated to the expectations, explicit and implicit, set by these entities. We will see broad improvements in sustainability and productivity only when publishers, funding agencies and employers raise their expectations for software quality. CSE software community leaders, those who are in a position to inform and influence these entities, have a unique opportunity to broadly and positively impact software quality by working to establish incentives that will spur creative and novel approaches to improve developer productivity and software sustainability.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Funding agencies, publishers and employers play an
essential role in determining expected behavior from the
computational science and engineering (CSE) research community.
Publishers use a peer review process to ensure that published
content is accurate, complete and relevant. Funding agencies
place expectations on how research is conducted, requiring,
for example, that research teams perform work within certain
ethical norms. Employers determine promotion, rank and
tenure and other professional recognition. The value, both
implicit and explicit, that these entities place on software
quality plays a crucial role in the thousands of decisions that
CSE community members make on a daily basis regarding the
real value of software quality.</p>
      <p>CSE software teams have strong desires to improve
developer productivity and software sustainability. At the same time,
competition to publish, receive funding, satisfy project goals
and attain professional promotion and recognition means that
the amount of time and resources they can apply to improve
quality is determined by how much value they can obtain from
the investment as part of this competition. In order to increase
This work is licensed under a CC-BY-4.0 license.
software quality1, competitive elements must be added that are
correlated with increased quality.</p>
      <p>Fortunately, direct evaluation of software artifacts by rank
and tenure committees, program managers and publishers is
not required. There are other metrics that, when assessed, will
provide incentive for increasing quality:</p>
      <p>
        Funding agencies: For several years, funding
agencies have requested the submission of data management
plans [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. More recently, a first-of-a-kind software
productivity and sustainability plan was included in a US
Department of Energy Funding Opportunity
Announcement. This new required element is a simple request for
information, asking proposal teams to describe how they
produce and sustain their software products.
      </p>
      <p>Publishers: Reproducibility of scientific results has
become a major concern for many publishers. Expectations
for reproducibility are increasing, as are the number
of journals and conference proceedings that offer
artifact and results reviews. Any increased expectations
for reproducible computational results have direct impact
on the importance of higher quality software processes,
documentation, source code management and more; all
of which have a strong positive impact on programmer
productivity and software sustainability when measured
over a sufficiently long time span.</p>
      <p>Employers: Employers can provide incentives
recognizing those whose work results in high-quality software.
The exact metrics need to be adapted depending on
the situation. Metrics for industry, research labs and
universities will necessarily be distinct, and can either be
observed directly (most feasible for industry) or indirectly
(such as the acceptance of a peer-reviewed paper to a
software journal) for research labs and universities.
II. CREATING INCENTIVES FOR SUSTAINABILITY AND</p>
      <p>PRODUCTIVITY</p>
      <p>Expectations from CSE software clients provide a means to
give intrinsic value to virtuous behaviors that are otherwise
1Many articles have been written on the characteristics of software quality.
The ISO 9126-1 software quality model definition (see http://www.sqa.net/
iso9126.html for details) lists six main characteristics. For our purposes, we
do not analyze correlations between specific quality characteristics and the
incentives we discuss. Instead we argue that improving incentives will have
a positive impact on all quality characteristics since the incentives represent
a holistic approach to improvement.
difficult to reward. CSE software teams certainly want to do
a good job of being productive and producing sustainable
software tools. But the drive to produce science results on a
short time scale often leads to shortcuts and lack of investment
up front that is necessary for sustainable software and
longterm productivity. Given the demands to provide a
computational answer as soon as possible, especially in a competitive
environment, other activities such as careful design, efficient
implementation and thorough software testing environments
are often compromised.</p>
      <p>The connection between these clients and sponsors
(publishers, funding agencies and employers) and science teams who
use computation as part of their scientific endeavors can and
must be leveraged to provide intrinsic value to other activities
that can improve sustainability and productivity.</p>
      <sec id="sec-1-1">
        <title>A. Funding Agencies</title>
        <p>
          Funding agencies have typically placed very high value on
scientific productivity and impact. In principle this emphasis
should provide strong incentive to produce high quality
software. However, often the time cycles for producing science
results are short, and the competitive drive to produce results
makes software investments that have longer time cycles out
of scope. This reality was recognized by the US National
Science Foundation and spurred its development of the SI2
program [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. More recently the US Department of Energy
(DOE) has developed several funding opportunities that
explicitly focus on software productivity and sustainability:
The 2014 Funding Opportunity Announcement (FOA)
for Scientific Software Developer Productivity, which
resulted in the establishment of the IDEAS Project [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
While many DOE projects use funds to improve software
quality, the work is always done as part of achieving
another goal. The IDEAS project is a first-of-a-kind
effort that enables dedicated research funding for software
methodologies as a pursuit in its own right.
        </p>
        <p>
          The DOE Biological and Environment Research (BER)
Office FOA on the Energy-Water-Land Nexus from
February 2016 [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], included a first-of-a-kind requirement
for proposals to contain a software productivity and
sustainability plan.
        </p>
        <p>The BER Accelerated Climate Modeling for Energy
(ACME) Software Engineering Initiative is a large project
whose express goal is to improve the quality of the
ACME source code base, train ACME scientists in more
effective software development, and introduce improve
software processes and tools into the ACME project.</p>
      </sec>
      <sec id="sec-1-2">
        <title>B. Publishers</title>
        <p>
          At first glance, the role of publishers in improving software
quality may not be apparent, but by raising expectations for
independent reproducibility of computational results, publishers
provide one of the strongest incentives for CSE software teams
to invest in new and effective software quality methodologies.
Furthermore, the community incentive at the present time for
improving reproducibility is extremely high [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          Reproducibility of scientific results has become a major
concern for many publishers. Numerous highly visible
articles [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] have highlighted the poor result of
reproducibility efforts. Some community members [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
argue that openness and transparency are important ways to
provide incentives for scientists to improve reproducibility.
Such a focus also placed increased value on the quality of
software artifacts and processes. Other articles argue that
repeatability as a core value is the fundamental issue in CSE
publications [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>
          The ACM Transactions on Mathematical Software (TOMS)
initiated a Replicated Computational Results (RCR)
review process during which a dedicated reviewer is tasked
with replicating the computational results of a submitted
manuscript [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. One of the first author responses
when preparing for the RCR review was a remark that the
version of software used to generate the computational results
for the paper was tagged so that it could be clearly identified
for the RCR review, as well as any time in the future.
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>C. Employers</title>
        <p>
          Industrial employers already have a reward structure in
place that, at least indirectly and evidenced by the large
volume of industry-focused software literature and
highlysought speakers, recognizes the value of software quality. This
is less true the closer a software business is to the scientific and
engineering domains. From the author’s experience working
with commercial, scientific and engineering software
companies, the majority have no explicit software lifecycle model
and seldom give recognition, except through informal means,
to developers who produce higher quality software products.
Research laboratories and university software teams place even
less emphasis on employee recognition for software quality. In
fact, there is often a negative opinion about staff members who
spend too much time working on software [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], with more
recognition going to staff who use software to do research but
spend little time producing or reviewing software products.
        </p>
        <p>Development of employee incentives for quality software
can be challenging. Any reward based on direct software
metrics can lead to skewed behavior that may actually be
counterproductive. For example, rewarding a developer for having
few defects can lead to low code generation rates for fear
of introducing a defect, avoiding challenging programming
assignments or similar behaviors that reduce overall
productivity. Instead, employers can look to recognition from funding
agencies and publishers, and assess the overall impact of a
faculty member’s or research scientist’s software contributions,
with the same regard as for other publication and professional
activities.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>III. A TIME OF DISRUPTIVE CHANGE</title>
      <p>The CSE community is presently in an era of disruptive
changes. Similar to the time period when we transitioned
from sequential and vector computers to distributed memory
parallel computers, system architecture is changing, driven by
the stagnation of hardware clock speeds, resulting in
exponential increases in available concurrency. Performance sensitive
applications must expose proportional levels of concurrency in
order to stay on the new commodity curves of threading and
vectorization scalability.</p>
      <p>In addition, the tremendous growth in performance potential
leads to increased opportunities for multi-scale and
multiphysics coupling. Coupling of previously independent codes
demands increased collaboration across historical separate
efforts. Projects become more inter-disciplinary, distributed
(since areas of expertise are typically not all in one group
or geographic location), and larger.</p>
      <p>All of these disruptions can be better managed and exploited
by having more deliberate efforts to improve software
sustainability and productivity. In fact, now is the best time to invest
in software quality. The stakes are higher than ever.</p>
    </sec>
    <sec id="sec-3">
      <title>IV. TOWARD SUSTAINABLE AND PRODUCTIVE</title>
      <p>
        Numerous studies have shown that activities such as code
review and test driven development [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] are universally
valuable. Furthermore, explicit life cycle models [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], including
models for refactoring legacy codes [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], are also
extremely beneficial, especially for larger teams. Productivity
models [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], which attempt to characterize and measure the
value and cost attributes of a project, can also be extremely
helpful, especially in the face of disruptive changes in
computing platforms and application requirements.
      </p>
      <p>The CSE software community can benefit greatly from an
improved focus on sustainability and productivity, especially at
this time of increased complexity and disruptive change. There
are many valuable methodologies, tools and best practices that
the CSE community can explore, adapt, adopt and develop
to improve developer productivity and software sustainability.
However, for many teams the incentive for investment is
not strong enough when compared to other demands; other
priorities rank higher.</p>
      <p>Funding agencies can provide incentives by explicitly
requesting software productivity and sustainability plans in
proposals, and by funding projects that pursue software
methodologies research and a fundamental activity, not just as part of
pursuing another goal. Publishers can play a critical role by
increasing expectations for reproducibility, and transparency
of software processes used to generate computational results.
Employers, especially research laboratories and universities,
must start to explicitly value software contributions with the
same respect as other research output, and give recognition for
faculty and staff who receive publication and funding agency
recognition for quality software.</p>
      <p>Funding agencies, publishers and employers can and must
play a key and truly unique role in improving developer
productivity and software sustainability by increasing quality
expectations. In fact, it is not too strong to say that software
quality will be calibrated precisely to the expectations of these
entities. Because of the important roles these entities play
in providing incentives for improved software quality, CSE
software leaders–those who are engaged in editorial work,
informing and shaping funding policy and establishing
employer compensation and recognition systems–have a unique
opportunity to influence progress. If we want to improve
software quality, we must change expectations from funding
agencies, publishers and employers.</p>
    </sec>
    <sec id="sec-4">
      <title>ACKNOWLEDGMENT</title>
      <p>Sandia is a multiprogram laboratory operated by Sandia
Corporation, a wholly owned subsidiary of Lockheed
Martin, for the United States Department of Energy’s National
Nuclear Security Administration under contract
DE-AC0494AL85000.</p>
      <p>The author thanks the United States Department of Energy,
Office of Science, Advanced Scientific Computing Research
(ASCR) and Biological and Environmental Research (BER)
Programs for IDEAS Project funding.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>US</given-names>
            <surname>National Science</surname>
          </string-name>
          <string-name>
            <surname>Foundation</surname>
          </string-name>
          , “
          <article-title>Data Management Guidance for CISE Proposals</article-title>
          and Awards,” http://www.nsf.gov/cise/cise dmp.
          <source>jsp.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>U. S.</surname>
          </string-name>
          <article-title>Department of Energy Office of Science Office of Scientific Computing Research, “Statement on Digital Data Management</article-title>
          ,” http: //science.energy.gov
          <article-title>/funding-opportunities/digital-data-management/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>US</given-names>
            <surname>National Science</surname>
          </string-name>
          <string-name>
            <surname>Foundation</surname>
          </string-name>
          , “
          <article-title>Software Infrastructure for Sustained Innovation (SI2: SSE</article-title>
          &amp; SSI),” http://www.nsf.gov/pubs/2016/nsf16532/ nsf16532.htm.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] “The IDEAS Project,” http://ideas-productivity.org,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>U. S.</surname>
          </string-name>
          <article-title>Department of Energy Office of Science Office of Biological and Environmental Research, “Regional and Global Climate Modeling and Integrated Assessment Research: An Integration Framework for Multi-Model, U.S. Regional Climate Evaluation that Incorporates Local Human Influences for Research at the EnergyWater-Land Nexus</article-title>
          ,” http://science.energy.gov/ /media/grants/pdf/foas/ 2016
          <source>/SC FOA 0001531</source>
          .pdf, Funding Opportunity Number:
          <string-name>
            <surname>DE-FOA0001531.</surname>
          </string-name>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6] American Association for the Advancement of Science</article-title>
          , “III Arnold workshop: Modeling and code,” http://www.aaas.org/event/ iii-arnold-workshop-modeling-and-code.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <source>[7] Supercomputing</source>
          <year>2016</year>
          , “
          <article-title>Student Cluster Competition reproducibility initiative winner</article-title>
          ,” http://sc16.supercomputing.org/studentssc/ scc-reproducibility
          <string-name>
            <surname>-</surname>
          </string-name>
          initiative-winner/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Begley</surname>
          </string-name>
          , G. Robertson,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kaitin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Asadullah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ellis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Sharp</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Begley</surname>
          </string-name>
          , “
          <article-title>In cancer science, many discoveries don't hold up -</article-title>
          <string-name>
            <surname>Reuters</surname>
          </string-name>
          ,”
          <year>2014</year>
          . [Online]. Available: http://www.reuters.com/article/ 2012/03/28/us-science
          <article-title>-cancer-idUSBRE82R12P20120328</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D. H.</given-names>
            <surname>Bailey</surname>
          </string-name>
          , “
          <article-title>Fooling the masses: Reproducibility in highperformance computing</article-title>
          ,”
          <year>2014</year>
          . [Online]. Available: https://www.xsede. org/documents/659353/703287/xsede14 bailey.pdf
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Arrowsmith</surname>
          </string-name>
          , “
          <article-title>Trial watch: Phase II failures: 2008-2010,” Nat Rev Drug Discov</article-title>
          , vol.
          <volume>10</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>328</fpage>
          -
          <lpage>329</lpage>
          , May
          <year>2011</year>
          . [Online]. Available: http://dx.doi.org/10.1038/nrd3439
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>B.</given-names>
            <surname>Owens</surname>
          </string-name>
          , “
          <article-title>Reliability of 'new drug target' claims called into question : Nature News Blog</article-title>
          ,”
          <year>2011</year>
          . [Online]. Available: http: //blogs.nature.com/news/2011/09/reliability of new drug target.html
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D. H.</given-names>
            <surname>Bailey</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Borwein</surname>
          </string-name>
          , “
          <article-title>Set the Default to “Open”: Reproducible Science in the Computer Age-David H</article-title>
          . Bailey,”
          <year>2014</year>
          . [Online]. Available: http://www.huffingtonpost.com/ david-h
          <article-title>-bailey/set-the-default-to-open-r b 2635850</article-title>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>V.</given-names>
            <surname>Stodden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. H.</given-names>
            <surname>Bailey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Borwein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. J.</given-names>
            <surname>LeVeque</surname>
          </string-name>
          , W. Rider, and W. Stein, “
          <article-title>Setting the Default to Reproducible: Reproducibility in Computational</article-title>
          and Experimental Mathematics,”
          <year>2013</year>
          . [Online]. Available: http://icerm.brown.edu/html/programs/topical/tw12 5 rcem/ icerm report.pdf
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Collberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Proebsting</surname>
          </string-name>
          , “Repeatability in computer systems research,” Commun. ACM, vol.
          <volume>59</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>62</fpage>
          -
          <lpage>69</lpage>
          , Feb.
          <year>2016</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10.1145/2812803</source>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S.</given-names>
            <surname>Krishnamurthi</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Vitek</surname>
          </string-name>
          , “
          <article-title>The real software crisis: Repeatability as a core value,” Commun</article-title>
          . ACM, vol.
          <volume>58</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>36</lpage>
          , Feb.
          <year>2015</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10.1145/2658987</source>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Heroux</surname>
          </string-name>
          , “
          <article-title>Editorial: ACM TOMS replicated computational results initiative</article-title>
          ,
          <source>” ACM Trans. Math. Softw.</source>
          , vol.
          <volume>41</volume>
          , no.
          <issue>3</issue>
          , pp.
          <volume>13</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          :
          <fpage>5</fpage>
          ,
          <string-name>
            <surname>Jun</surname>
          </string-name>
          .
          <year>2015</year>
          . [Online]. Available: http://doi.acm.
          <source>org/10.1145/2743015</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>J. M. Willenbring</surname>
          </string-name>
          , “
          <article-title>Replicated computational results (RCR) report for BLIS: A framework for rapidly instantiating BLASx functionality</article-title>
          ,
          <source>” ACM Trans. Math. Softw.</source>
          , vol.
          <volume>41</volume>
          , no.
          <issue>3</issue>
          ,
          <string-name>
            <surname>Sep</surname>
          </string-name>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>F. G. Van Zee</surname>
          </string-name>
          and
          <string-name>
            <surname>R</surname>
          </string-name>
          . A. van de Geijn, “
          <article-title>Blis: A framework for rapidly instantiating blas functionality</article-title>
          ,
          <source>” ACM Trans. Math. Softw.</source>
          , vol.
          <volume>41</volume>
          , no.
          <issue>3</issue>
          ,
          <string-name>
            <surname>Sep</surname>
          </string-name>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>K.</given-names>
            <surname>Beck</surname>
          </string-name>
          , Test Driven Development.
          <source>Addison Wesley</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Bartlett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Heroux</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Willenbring</surname>
          </string-name>
          , “
          <article-title>Overview of the TriBITS lifecycle model: A lean/agile software lifecycle model for research-based computational science and engineering software,” in EScience (e-</article-title>
          <string-name>
            <surname>Science</surname>
            <given-names>)</given-names>
          </string-name>
          ,
          <source>2012 IEEE 8th International Conference on, Oct</source>
          <year>2012</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Feathers</surname>
          </string-name>
          , Working Effectively with Legacy Code.
          <source>Addison Wesley</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Fowler</surname>
          </string-name>
          ,
          <article-title>Refactoring (Improving the Design of Existing Code)</article-title>
          .
          <source>Addison Wesley</source>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>R. van Solingen</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Basili</surname>
            , G. Caldiera, and
            <given-names>H. D.</given-names>
          </string-name>
          <string-name>
            <surname>Rombach</surname>
          </string-name>
          ,
          <article-title>Goal Question Metric (GQM) Approach</article-title>
          . John Wiley and Sons, Inc.,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>