Do Developers Benefit from Requirements Traceability when Evolving and Maintaining a Software System?

by Patrick Mäder, Alexander Egyed
Abstract:
Software traceability is a required component of many software development processes. Advocates of requirements traceability cite advantages like easier program comprehension and support for software maintenance (i.e., software change). However, despite its growing popularity, there exists no published evaluation about the usefulness of requirements traceability. It is important, if not crucial, to investigate whether the use of requirements traceability can significantly support development tasks to eventually justify its costs. We thus conducted a controlled experiment with 71 subjects re-performing real maintenance tasks on two third-party development projects: half of the tasks with and the other half without traceability. Subjects sketched their task solutions on paper to focus on the their ability to solving the problems rather than their programming skills. Our findings show that subjects with traceability performed on average 24 % faster on a given task and created on average 50 % more correct solutions—suggesting that traceability not only saves effort but can profoundly improve software maintenance quality.
Reference:
Patrick Mäder, Alexander Egyed, "Do Developers Benefit from Requirements Traceability when Evolving and Maintaining a Software System?", In Empirical Software Engineering, vol. 20, no. 2, pp. 413-441, 2015.
Bibtex Entry:
@Article{DBLP:journals/ese/MaderE15,
  Title                    = {Do Developers Benefit from Requirements Traceability when Evolving and Maintaining a Software System?},
  Author                   = {Patrick Mäder and Alexander Egyed},
  Journal                  = {Empirical Software Engineering},
  Year                     = {2015},
  Number                   = {2},
  Pages                    = {413--441},
  Volume                   = {20},

  Abstract                 = {Software traceability is a required component of many software development
processes. Advocates of requirements traceability cite advantages like easier program
comprehension and support for software maintenance (i.e., software change). However,
despite its growing popularity, there exists no published evaluation about the usefulness of
requirements traceability. It is important, if not crucial, to investigate whether the use of
requirements traceability can significantly support development tasks to eventually justify
its costs. We thus conducted a controlled experiment with 71 subjects re-performing real
maintenance tasks on two third-party development projects: half of the tasks with and the
other half without traceability. Subjects sketched their task solutions on paper to focus on
the their ability to solving the problems rather than their programming skills. Our findings
show that subjects with traceability performed on average 24 % faster on a given task and
created on average 50 % more correct solutions—suggesting that traceability not only saves
effort but can profoundly improve software maintenance quality.},
  Bibsource                = {dblp computer science bibliography, http://dblp.org},
  Biburl                   = {http://dblp.uni-trier.de/rec/bib/journals/ese/MaderE15},
  Doi                      = {10.1007/s10664-014-9314-z},
  File                     = {:Journals\\JESE 2014 - Do Developers Benefit From Requirements Traceability\\Do Developers Benefit From Requirements Traceability.pdf:PDF},
  Keywords                 = {FWF M1268-N23, FWF P23115-N23},
  Owner                    = {AK117794},
  Timestamp                = {Thu, 30 Apr 2015 13:09:00 +0200},
  Url                      = {http://dx.doi.org/10.1007/s10664-014-9314-z}
}
Powered by bibtexbrowser