ZT Founder & Director of Engineering Toomas Römer was so excited to introduce this report, he asked his t-shirt to do it for him
You all know this, right:
Continuous Integration is a software development practice of performing software integration frequently…several times a day, in fact. Ideally, your software application or system should be built automatically after each commit into a shared version control repository. Upon each successful build, the system integrity should be verified using automated tests that cover if not all, then at least most of the functionality. If some tests fail, the developer responsible is notified instantly and the problem can be identified and solved quickly. Using this approach, you can deliver working and reliable code to the customer much faster, while also mitigating the risk of releasing unstable, buggy software to your users.
If Continuous Integration is responsible for so much good in the world of software development, then why aren’t more developers out there using it?
Fewer Headaches During Development
It’s true, with CI you get to avoid all sorts of private “hells” during development: broken builds, manual merging and regressions, to name a few. And two statistics from our Developer Productivity Report (found on Rebel Labs) show some interesting findings:
- Only 49% of all respondents use a Continuous Integration server of any kind
- The biggest professional factor keeping developers up at night is “Making Deadlines”
It’s fair to say there is a paradoxical situation here, but at the same time it’s a difficult to imagine developers finding reasons to not be efficient at work, delivering better code faster to their adoring users. Maybe there are some good reasons for not seeing such widespread usage of CI methodologies in more development teams?
Well, there are. And we discuss those in this latest report from Rebel Labs, the research & content division of ZeroTurnaround, entitled Why Devs <3 CI: A Guide to Loving Continuous Integration.
Ooh baby: start your romance with Continuous Integration
In addition to introducing software engineers to the concept of Continuous Integration, and some of the socio-technological impacts to expect, we also cover:
- Introduction to CI, a little history and different tools used in the ecosystem
- Five obnoxiously obvious reasons why your development organization should implement CI
- Getting started with Jenkins, Bamboo and TeamCity: three CI servers with which we have some experience
- Getting CI in your team (keeping tests green, loving your CI server and project health)
- Expanding CI in your organization (CI server maintenance, scaling, hardware, cloud, and finding your CI master)
Next from Rebel Labs: Our next report is going to focus on Jenkins, the world’s most popular butler (and CI server), including an mind-hacking interview with our friend Kohsuke Kawaguchi, the creator of Jenkins CI.