=Paper= {{Paper |id=Vol-1686/WSSSPE4_paper_10 |storemode=property |title=Sustainable & Productive: Improving incentives for quality software |pdfUrl=https://ceur-ws.org/Vol-1686/WSSSPE4_paper_10.pdf |volume=Vol-1686 |authors=Michael Heroux }} ==Sustainable & Productive: Improving incentives for quality software== https://ceur-ws.org/Vol-1686/WSSSPE4_paper_10.pdf
 Sustainable & Productive: Improving Incentives for
                 Quality Software
                                                      Michael A. Heroux
                           Sandia National Laboratories, Albuquerque, NM, E-mail:maherou@sandia.gov
                              Saint John’s University, Collegeville, MN, E-mail:mheroux@csbsju.edu



   Abstract—Computational Science and Engineering (CSE) soft-         software quality1 , competitive elements must be added that are
ware can benefit substantially from an explicit focus on qual-        correlated with increased quality.
ity improvement. This is especially true as we face increased           Fortunately, direct evaluation of software artifacts by rank
demands in both modeling and software complexities. At the
same time, just desiring improved quality is not sufficient. We       and tenure committees, program managers and publishers is
must work with the entities that provide CSE research teams           not required. There are other metrics that, when assessed, will
with publication venues, funding, and professional recognition        provide incentive for increasing quality:
in order to increase incentives for improved software quality. In       • Funding agencies: For several years, funding agen-
fact, software quality is precisely calibrated to the expectations,
explicit and implicit, set by these entities. We will see broad
                                                                           cies have requested the submission of data management
improvements in sustainability and productivity only when pub-             plans [1], [2]. More recently, a first-of-a-kind software
lishers, funding agencies and employers raise their expectations           productivity and sustainability plan was included in a US
for software quality. CSE software community leaders, those who            Department of Energy Funding Opportunity Announce-
are in a position to inform and influence these entities, have a           ment. This new required element is a simple request for
unique opportunity to broadly and positively impact software
quality by working to establish incentives that will spur creative
                                                                           information, asking proposal teams to describe how they
and novel approaches to improve developer productivity and                 produce and sustain their software products.
software sustainability.                                                • Publishers: Reproducibility of scientific results has be-
                                                                           come a major concern for many publishers. Expectations
                                                                           for reproducibility are increasing, as are the number
                                                                           of journals and conference proceedings that offer ar-
                                                                           tifact and results reviews. Any increased expectations
                         I. I NTRODUCTION                                  for reproducible computational results have direct impact
                                                                           on the importance of higher quality software processes,
                                                                           documentation, source code management and more; all
   Funding agencies, publishers and employers play an essen-               of which have a strong positive impact on programmer
tial role in determining expected behavior from the compu-                 productivity and software sustainability when measured
tational science and engineering (CSE) research community.                 over a sufficiently long time span.
Publishers use a peer review process to ensure that published           • Employers: Employers can provide incentives recogniz-

content is accurate, complete and relevant. Funding agencies               ing those whose work results in high-quality software.
place expectations on how research is conducted, requiring,                The exact metrics need to be adapted depending on
for example, that research teams perform work within certain               the situation. Metrics for industry, research labs and
ethical norms. Employers determine promotion, rank and                     universities will necessarily be distinct, and can either be
tenure and other professional recognition. The value, both                 observed directly (most feasible for industry) or indirectly
implicit and explicit, that these entities place on software               (such as the acceptance of a peer-reviewed paper to a
quality plays a crucial role in the thousands of decisions that            software journal) for research labs and universities.
CSE community members make on a daily basis regarding the                II. C REATING I NCENTIVES FOR S USTAINABILITY AND
real value of software quality.                                                             P RODUCTIVITY
   CSE software teams have strong desires to improve devel-              Expectations from CSE software clients provide a means to
oper productivity and software sustainability. At the same time,      give intrinsic value to virtuous behaviors that are otherwise
competition to publish, receive funding, satisfy project goals
                                                                         1 Many articles have been written on the characteristics of software quality.
and attain professional promotion and recognition means that
                                                                      The ISO 9126-1 software quality model definition (see http://www.sqa.net/
the amount of time and resources they can apply to improve            iso9126.html for details) lists six main characteristics. For our purposes, we
quality is determined by how much value they can obtain from          do not analyze correlations between specific quality characteristics and the
the investment as part of this competition. In order to increase      incentives we discuss. Instead we argue that improving incentives will have
                                                                      a positive impact on all quality characteristics since the incentives represent
This work is licensed under a CC-BY-4.0 license.                      a holistic approach to improvement.
difficult to reward. CSE software teams certainly want to do           Reproducibility of scientific results has become a major
a good job of being productive and producing sustainable            concern for many publishers. Numerous highly visible arti-
software tools. But the drive to produce science results on a       cles [8], [9], [10], [11] have highlighted the poor result of
short time scale often leads to shortcuts and lack of investment    reproducibility efforts. Some community members [12], [13]
up front that is necessary for sustainable software and long-       argue that openness and transparency are important ways to
term productivity. Given the demands to provide a computa-          provide incentives for scientists to improve reproducibility.
tional answer as soon as possible, especially in a competitive      Such a focus also placed increased value on the quality of
environment, other activities such as careful design, efficient     software artifacts and processes. Other articles argue that
implementation and thorough software testing environments           repeatability as a core value is the fundamental issue in CSE
are often compromised.                                              publications [14], [15].
   The connection between these clients and sponsors (publish-         The ACM Transactions on Mathematical Software (TOMS)
ers, funding agencies and employers) and science teams who          initiated a Replicated Computational Results (RCR) re-
use computation as part of their scientific endeavors can and       view process during which a dedicated reviewer is tasked
must be leveraged to provide intrinsic value to other activities    with replicating the computational results of a submitted
that can improve sustainability and productivity.                   manuscript [16], [17], [18]. One of the first author responses
                                                                    when preparing for the RCR review was a remark that the
A. Funding Agencies
                                                                    version of software used to generate the computational results
   Funding agencies have typically placed very high value on        for the paper was tagged so that it could be clearly identified
scientific productivity and impact. In principle this emphasis      for the RCR review, as well as any time in the future.
should provide strong incentive to produce high quality soft-
ware. However, often the time cycles for producing science          C. Employers
results are short, and the competitive drive to produce results
                                                                       Industrial employers already have a reward structure in
makes software investments that have longer time cycles out
                                                                    place that, at least indirectly and evidenced by the large
of scope. This reality was recognized by the US National
                                                                    volume of industry-focused software literature and highly-
Science Foundation and spurred its development of the SI2
                                                                    sought speakers, recognizes the value of software quality. This
program [3]. More recently the US Department of Energy
                                                                    is less true the closer a software business is to the scientific and
(DOE) has developed several funding opportunities that ex-
                                                                    engineering domains. From the author’s experience working
plicitly focus on software productivity and sustainability:
                                                                    with commercial, scientific and engineering software compa-
   • The 2014 Funding Opportunity Announcement (FOA)
                                                                    nies, the majority have no explicit software lifecycle model
      for Scientific Software Developer Productivity, which         and seldom give recognition, except through informal means,
      resulted in the establishment of the IDEAS Project [4].       to developers who produce higher quality software products.
      While many DOE projects use funds to improve software         Research laboratories and university software teams place even
      quality, the work is always done as part of achieving         less emphasis on employee recognition for software quality. In
      another goal. The IDEAS project is a first-of-a-kind          fact, there is often a negative opinion about staff members who
      effort that enables dedicated research funding for software   spend too much time working on software [14], with more
      methodologies as a pursuit in its own right.                  recognition going to staff who use software to do research but
   • The DOE Biological and Environment Research (BER)
                                                                    spend little time producing or reviewing software products.
      Office FOA on the Energy-Water-Land Nexus from                   Development of employee incentives for quality software
      February 2016 [5], included a first-of-a-kind requirement     can be challenging. Any reward based on direct software met-
      for proposals to contain a software productivity and          rics can lead to skewed behavior that may actually be counter-
      sustainability plan.                                          productive. For example, rewarding a developer for having
   • The BER Accelerated Climate Modeling for Energy
                                                                    few defects can lead to low code generation rates for fear
      (ACME) Software Engineering Initiative is a large project     of introducing a defect, avoiding challenging programming
      whose express goal is to improve the quality of the           assignments or similar behaviors that reduce overall productiv-
      ACME source code base, train ACME scientists in more          ity. Instead, employers can look to recognition from funding
      effective software development, and introduce improve         agencies and publishers, and assess the overall impact of a
      software processes and tools into the ACME project.           faculty member’s or research scientist’s software contributions,
B. Publishers                                                       with the same regard as for other publication and professional
                                                                    activities.
   At first glance, the role of publishers in improving software
quality may not be apparent, but by raising expectations for in-
                                                                                III. A T IME OF D ISRUPTIVE C HANGE
dependent reproducibility of computational results, publishers
provide one of the strongest incentives for CSE software teams         The CSE community is presently in an era of disruptive
to invest in new and effective software quality methodologies.      changes. Similar to the time period when we transitioned
Furthermore, the community incentive at the present time for        from sequential and vector computers to distributed memory
improving reproducibility is extremely high [6], [7].               parallel computers, system architecture is changing, driven by
the stagnation of hardware clock speeds, resulting in exponen-      informing and shaping funding policy and establishing em-
tial increases in available concurrency. Performance sensitive      ployer compensation and recognition systems–have a unique
applications must expose proportional levels of concurrency in      opportunity to influence progress. If we want to improve
order to stay on the new commodity curves of threading and          software quality, we must change expectations from funding
vectorization scalability.                                          agencies, publishers and employers.
   In addition, the tremendous growth in performance potential
                                                                                             ACKNOWLEDGMENT
leads to increased opportunities for multi-scale and multi-
physics coupling. Coupling of previously independent codes             Sandia is a multiprogram laboratory operated by Sandia
demands increased collaboration across historical separate          Corporation, a wholly owned subsidiary of Lockheed Mar-
efforts. Projects become more inter-disciplinary, distributed       tin, for the United States Department of Energy’s National
(since areas of expertise are typically not all in one group        Nuclear Security Administration under contract DE-AC04-
or geographic location), and larger.                                94AL85000.
   All of these disruptions can be better managed and exploited        The author thanks the United States Department of Energy,
by having more deliberate efforts to improve software sustain-      Office of Science, Advanced Scientific Computing Research
ability and productivity. In fact, now is the best time to invest   (ASCR) and Biological and Environmental Research (BER)
in software quality. The stakes are higher than ever.               Programs for IDEAS Project funding.

      IV. T OWARD S USTAINABLE AND P RODUCTIVE                                                    R EFERENCES
                                                                     [1] US National Science Foundation, “Data Management Guidance for CISE
   Numerous studies have shown that activities such as code              Proposals and Awards,” http://www.nsf.gov/cise/cise dmp.jsp.
review and test driven development [19] are universally valu-        [2] U. S. Department of Energy Office of Science Office of Scientific
able. Furthermore, explicit life cycle models [20], including            Computing Research, “Statement on Digital Data Management,” http:
                                                                         //science.energy.gov/funding-opportunities/digital-data-management/.
models for refactoring legacy codes [21], [22], are also ex-         [3] US National Science Foundation, “Software Infrastructure for Sustained
tremely beneficial, especially for larger teams. Productivity            Innovation (SI2: SSE & SSI),” http://www.nsf.gov/pubs/2016/nsf16532/
models [23], which attempt to characterize and measure the               nsf16532.htm.
                                                                     [4] “The IDEAS Project,” http://ideas-productivity.org, 2016.
value and cost attributes of a project, can also be extremely        [5] U. S. Department of Energy Office of Science Office of Biological
helpful, especially in the face of disruptive changes in com-            and Environmental Research, “Regional and Global Climate Mod-
puting platforms and application requirements.                           eling and Integrated Assessment Research: An Integration Frame-
                                                                         work for Multi-Model, U.S. Regional Climate Evaluation that In-
   The CSE software community can benefit greatly from an                corporates Local Human Influences for Research at the Energy-
improved focus on sustainability and productivity, especially at         Water-Land Nexus,” http://science.energy.gov/∼/media/grants/pdf/foas/
this time of increased complexity and disruptive change. There           2016/SC FOA 0001531.pdf, Funding Opportunity Number: DE-FOA-
                                                                         0001531.
are many valuable methodologies, tools and best practices that       [6] American Association for the Advancement of Science, “III
the CSE community can explore, adapt, adopt and develop                  Arnold workshop: Modeling and code,” http://www.aaas.org/event/
to improve developer productivity and software sustainability.           iii-arnold-workshop-modeling-and-code.
                                                                     [7] Supercomputing 2016, “Student Cluster Competition reproducibility
However, for many teams the incentive for investment is                  initiative      winner,”       http://sc16.supercomputing.org/studentssc/
not strong enough when compared to other demands; other                  scc-reproducibility-initiative-winner/.
priorities rank higher.                                              [8] C. G. Begley, G. Robertson, K. Kaitin, K. Asadullah, L. Ellis, P. Sharp,
                                                                         and S. Begley, “In cancer science, many discoveries don’t hold up
   Funding agencies can provide incentives by explicitly re-             — Reuters,” 2014. [Online]. Available: http://www.reuters.com/article/
questing software productivity and sustainability plans in pro-          2012/03/28/us-science-cancer-idUSBRE82R12P20120328
posals, and by funding projects that pursue software method-         [9] D. H. Bailey, “Fooling the masses: Reproducibility in high-
                                                                         performance computing,” 2014. [Online]. Available: https://www.xsede.
ologies research and a fundamental activity, not just as part of         org/documents/659353/703287/xsede14 bailey.pdf
pursuing another goal. Publishers can play a critical role by       [10] J. Arrowsmith, “Trial watch: Phase II failures: 2008–2010,” Nat Rev
increasing expectations for reproducibility, and transparency            Drug Discov, vol. 10, no. 5, pp. 328–329, May 2011. [Online].
                                                                         Available: http://dx.doi.org/10.1038/nrd3439
of software processes used to generate computational results.       [11] B. Owens, “Reliability of ’new drug target’ claims called into
Employers, especially research laboratories and universities,            question : Nature News Blog,” 2011. [Online]. Available: http:
must start to explicitly value software contributions with the           //blogs.nature.com/news/2011/09/reliability of new drug target.html
                                                                    [12] D. H. Bailey and J. M. Borwein, “Set the Default to
same respect as other research output, and give recognition for          “Open”: Reproducible Science in the Computer Age—David H.
faculty and staff who receive publication and funding agency             Bailey,” 2014. [Online]. Available: http://www.huffingtonpost.com/
recognition for quality software.                                        david-h-bailey/set-the-default-to-open-r b 2635850.html
                                                                    [13] V. Stodden, D. H. Bailey, J. Borwein, R. J. LeVeque, W. Rider,
   Funding agencies, publishers and employers can and must               and W. Stein, “Setting the Default to Reproducible: Reproducibility
play a key and truly unique role in improving developer                  in Computational and Experimental Mathematics,” 2013. [Online].
productivity and software sustainability by increasing quality           Available: http://icerm.brown.edu/html/programs/topical/tw12 5 rcem/
                                                                         icerm report.pdf
expectations. In fact, it is not too strong to say that software    [14] C. Collberg and T. A. Proebsting, “Repeatability in computer systems
quality will be calibrated precisely to the expectations of these        research,” Commun. ACM, vol. 59, no. 3, pp. 62–69, Feb. 2016.
entities. Because of the important roles these entities play             [Online]. Available: http://doi.acm.org/10.1145/2812803
                                                                    [15] S. Krishnamurthi and J. Vitek, “The real software crisis: Repeatability
in providing incentives for improved software quality, CSE               as a core value,” Commun. ACM, vol. 58, no. 3, pp. 34–36, Feb. 2015.
software leaders–those who are engaged in editorial work,                [Online]. Available: http://doi.acm.org/10.1145/2658987
[16] M. A. Heroux, “Editorial: ACM TOMS replicated computational results
     initiative,” ACM Trans. Math. Softw., vol. 41, no. 3, pp. 13:1–13:5, Jun.
     2015. [Online]. Available: http://doi.acm.org/10.1145/2743015
[17] J. M. Willenbring, “Replicated computational results (RCR) report for
     BLIS: A framework for rapidly instantiating BLASx functionality,” ACM
     Trans. Math. Softw., vol. 41, no. 3, Sep. 2015.
[18] F. G. Van Zee and R. A. van de Geijn, “Blis: A framework for rapidly
     instantiating blas functionality,” ACM Trans. Math. Softw., vol. 41, no. 3,
     Sep. 2015.
[19] K. Beck, Test Driven Development. Addison Wesley, 2003.
[20] R. A. Bartlett, M. A. Heroux, and J. M. Willenbring, “Overview of
     the TriBITS lifecycle model: A lean/agile software lifecycle model for
     research-based computational science and engineering software,” in E-
     Science (e-Science), 2012 IEEE 8th International Conference on, Oct
     2012, pp. 1–8.
[21] M. Feathers, Working Effectively with Legacy Code. Addison Wesley,
     2005.
[22] M. Fowler, Refactoring (Improving the Design of Existing Code).
     Addison Wesley, 1999.
[23] R. van Solingen, V. Basili, G. Caldiera, and H. D. Rombach, Goal
     Question Metric (GQM) Approach. John Wiley and Sons, Inc., 2002.