Details
Original language | English |
---|---|
Article number | e1865 |
Journal | Journal of Software: Evolution and Process |
Volume | 29 |
Issue number | 11 |
Publication status | Published - Nov 2017 |
Abstract
Code review in practice is often performed change-based, ie, using the code changes belonging to a task to determine which code to review. Previous studies found that 2 variations of this process are used in industry: pre-commit review and post-commit review. The choice between these has implications not only for practitioners deciding on a code review process to use but also for the development of review tools and for experimentation with review processes. In some situations, a specific variant is clearly preferable due to the nature of the development process or team. In other situations, there are conflicting opinions. So we asked: Are there practically relevant performance differences between pre and post-commit reviews? How are these differences influenced by contextual factors? To assess these questions, we designed a parametric discrete event simulation model of certain agile development processes. We validated this model with practitioner's feedback and in part also with empirical data from industry. Our analysis indicates that the best choice does depend on the context but also that there are many situations with no practically relevant difference between both choices. We identified the main influencing factors and underlying effects and condensed our findings into heuristic rules.
Keywords
- agile software development, code review, discrete event simulation, post-commit review, pre-commit review
ASJC Scopus subject areas
- Computer Science(all)
- Software
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
In: Journal of Software: Evolution and Process, Vol. 29, No. 11, e1865, 11.2017.
Research output: Contribution to journal › Article › Research › peer review
}
TY - JOUR
T1 - Comparing pre-commit reviews and post-commit reviews using process simulation
AU - Baum, Tobias
AU - Kortum, Fabian
AU - Schneider, Kurt
AU - Brack, Arthur
AU - Schauder, Jens
PY - 2017/11
Y1 - 2017/11
N2 - Code review in practice is often performed change-based, ie, using the code changes belonging to a task to determine which code to review. Previous studies found that 2 variations of this process are used in industry: pre-commit review and post-commit review. The choice between these has implications not only for practitioners deciding on a code review process to use but also for the development of review tools and for experimentation with review processes. In some situations, a specific variant is clearly preferable due to the nature of the development process or team. In other situations, there are conflicting opinions. So we asked: Are there practically relevant performance differences between pre and post-commit reviews? How are these differences influenced by contextual factors? To assess these questions, we designed a parametric discrete event simulation model of certain agile development processes. We validated this model with practitioner's feedback and in part also with empirical data from industry. Our analysis indicates that the best choice does depend on the context but also that there are many situations with no practically relevant difference between both choices. We identified the main influencing factors and underlying effects and condensed our findings into heuristic rules.
AB - Code review in practice is often performed change-based, ie, using the code changes belonging to a task to determine which code to review. Previous studies found that 2 variations of this process are used in industry: pre-commit review and post-commit review. The choice between these has implications not only for practitioners deciding on a code review process to use but also for the development of review tools and for experimentation with review processes. In some situations, a specific variant is clearly preferable due to the nature of the development process or team. In other situations, there are conflicting opinions. So we asked: Are there practically relevant performance differences between pre and post-commit reviews? How are these differences influenced by contextual factors? To assess these questions, we designed a parametric discrete event simulation model of certain agile development processes. We validated this model with practitioner's feedback and in part also with empirical data from industry. Our analysis indicates that the best choice does depend on the context but also that there are many situations with no practically relevant difference between both choices. We identified the main influencing factors and underlying effects and condensed our findings into heuristic rules.
KW - agile software development
KW - code review
KW - discrete event simulation
KW - post-commit review
KW - pre-commit review
UR - http://www.scopus.com/inward/record.url?scp=85018403256&partnerID=8YFLogxK
U2 - 10.1002/smr.1865
DO - 10.1002/smr.1865
M3 - Article
AN - SCOPUS:85018403256
VL - 29
JO - Journal of Software: Evolution and Process
JF - Journal of Software: Evolution and Process
IS - 11
M1 - e1865
ER -