Title: An Empirical Characterization of Bad Practices in Continuous Integration
Authors:
Fiorella Zampetti - University of Sannio,
Carmine Vassallo - University of Zurich,
Sebastiano Panichella - Zurich University of Applied Science
Gerardo Canfora - University of Sannio,
Harald Gall - University of Zurich,
Massimiliano Di Penta - University of Sannio
Link to publication: https://link.springer.com/article/10.1007/s10664-019-09785-8
An Empirical Characterization of Bad Practices in Continuous Integration
1. An Empirical Characterization of
Bad Practices in
Continuous Integration
Fiorella
Zampetti*
Carmine
Vassallo+
Sebastiano
Panichella§
Gerardo
Canfora*
Harald
Gall+
Massimiliano
Di Penta*
* University of Sannio, + University of Zurich, § Zurich University of Applied Sciences
2. "Continuous Integration is a
software development
practice where members of a
team integrate their work
frequently…"
Martin Fowler
5. CI/CD adoption is challenging!
"A cultural shift is mandatory."
"We do not really have a process on
how to collaborate and exchange
information in between teams."
"The developers on my project are not
familiar enough with CI."
"Miss of fully automated test suites."
6. Duvall’s good and bad
practices
Online catalog with
50 patterns and
antipatterns
13. Quite relevant problem when Duvall
wrote his book in 2007
No big deal today, unless you work on
embedded software working on
complex, expensive hardware
On setting up the right infrastructure
14. On Nightly Builds
Poll
changes
Duvall discourages
just relying on nightly builds
Version
Control
System
CI Server
Developers still use it for
computational-intensive
testing and analysis
15. Build Script Smell
Abuse of shell script
Complex scripts
Coupling to environments, no parametrization
16. Poor build observability
Build errors not clearly
visible in the build
Failures only sent to DevOps
that explicitly subscribed
21. Practitioners
Do not use out-of-the-box tools, nor listen customers only
Favor specific, portable tools over hacking
22. Researchers
Development of automated CI bad smell detectors
Support for failure analysis
Practitioners
Do not use out-of-the-box tools, nor listen customers only
Favor specific, portable tools over hacking
23. Researchers
Development of automated CI bad smell detectors
Support for failure analysis
Educators
Teach CI culture, not just technology
Practitioners
Do not use out-of-the-box tools, nor listen customers only
Favor specific, portable tools over hacking
24. An Empirical Characterization of
Bad Practices in
Continuous Integration
fiorella.zampetti@unisannio.it
fiorellazampetti@gmail.com
@fio_zampetti