Development of Auxiliary Functions: Should You Be Agile? An Empirical Assessment of Pair Programming and Test-First Programming

Show simple item record

dc.contributor.author Lemos, Otávio Augusto Lazzarini [UNIFESP]
dc.contributor.author Ferrari, Fabiano Cutigi
dc.contributor.author Silveira, Fabio Fagundes [UNIFESP]
dc.contributor.author Garcia, Alessandro
dc.date.accessioned 2018-06-14T18:58:25Z
dc.date.available 2018-06-14T18:58:25Z
dc.date.issued 2012-01-01
dc.identifier http://dx.doi.org/10.1109/ICSE.2012.6227163
dc.identifier.citation 2012 34th International Conference On Software Engineering (icse). New York: Ieee, p. 529-539, 2012.
dc.identifier.issn 0270-5257
dc.identifier.uri http://repositorio.unifesp.br/11600/41932
dc.description.abstract A considerable part of software systems is comprised of functions that support the main modules, such as array or string manipulation and basic math computation. These auxiliary functions are usually considered less complex, and thus tend to receive less attention from developers. However, failures in these functions might propagate to more critical modules, thereby affecting the system's overall reliability. Given the complementary role of auxiliary functions, a question that arises is whether agile practices, such as pair programming and test-first programming, can improve their correctness without affecting time-to-market. This paper presents an empirical assessment comparing the application of these agile practices with more traditional approaches. Our study comprises independent experiments of pair versus solo programming, and test-first versus test-last programming. The first study involved 85 novice programmers who applied both traditional and agile approaches in the development of six auxiliary functions within three different domains. Our results suggest that the agile practices might bring benefits in this context. In particular, pair programmers delivered correct implementations much more often, and test-first programming encouraged the production of larger and higher coverage test sets. On the downside, the main experiment showed that both practices significantly increase total development time. A replication of the test-first experiment with professional developers shows similar results. en
dc.format.extent 529-539
dc.language.iso eng
dc.publisher Ieee
dc.relation.ispartof 2012 34th International Conference On Software Engineering (icse)
dc.rights Acesso restrito
dc.subject pair programming en
dc.subject test-first programming en
dc.subject TDD en
dc.subject experimental software engineering en
dc.subject agile methods en
dc.title Development of Auxiliary Functions: Should You Be Agile? An Empirical Assessment of Pair Programming and Test-First Programming en
dc.type Trabalho apresentado em evento
dc.rights.license http://www.ieee.org/publications_standards/publications/rights/rights_policies.html
dc.contributor.institution Universidade Federal de São Paulo (UNIFESP)
dc.description.affiliation Univ Fed Sao Paulo, Sci & Technol Dept, Sao Jose Dos Campos, Brazil
dc.description.affiliationUnifesp Univ Fed Sao Paulo, Sci & Technol Dept, Sao Jose Dos Campos, Brazil
dc.identifier.doi 10.1109/ICSE.2012.6227163
dc.description.source Web of Science
dc.identifier.wos WOS:000312908700049



File

File Size Format View

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record

Search


Browse

Statistics

My Account