Skip to main content

The importance of continuous integration

Leading a team of developers in the effort of building a robust, quality software product should involve the establishment of some process and tools to assist the team effort and serve as a safety net for the errors of getting people to work together. Continuous integration is, I believe, a crucial element of that process. Introduced by Martin Fowler and Matt Foemmel (see article Continuous Integration), continuous integration establishes the practice of frequent integration of work developed by the several team members verified by automated build and testing of integrated code within a clean sandbox. This practice is valuable for several reasons:
  • It promotes the development of a clear process of building/deployment independent of any specificity of developer's platforms. Code that exists on a single platform only is bound to become dependent on specific aspects of that platform without anyone really noticing the dependencies until trying to port to other platforms. The existence of the integration clean sandbox allows these specific dependencies issues to not go unnoticed.
  • It promotes the development of testing. Being based on the premise of "test often" it makes the testing development part of the team's process. The fact that there is a platform built specifically for build and testing verification transforms, from the developer's perspective, testing efforts into an even more useful and justifiable effort.
  • It allows for quick detection of code integration issues by providing the clean slate for bringing all the code together. The little quirks of code combining can be detected by effective smoke/regression testing.
How hard is it to put in place continuous integration ? It depends a lot on where you are in your development process when you decide to take it up. If your team already makes use of build tools (e.g. Ant, Maven, even Make), makes use of a version control system (e.g. CVS, Subversion) and already does some kind of automated testing (e.g. xUnit) it can become pretty straightforward (You do use these don't you?!?). Continuous integration becomes simply a matter of setting up the integration sandbox and establishing the automation to detect changes in the version control system, building the changed system and testing the changes. You do not even need to go very far to accomplish that. You can find already systems that give you the continuous integration functionality that you need. At Tizra we have chosen to use the Cruise Control open-source, free framework for our continuous integration process (BSD-style license). It does pretty much what we need to do and keeps us on top of any integration issue that might arise from our development effort. It provides us unit tests results gathering, reporting and historical stats gathering for all checks. Continuous integration should be, in my opinion, an important practice for any serious software development company and I, for one, will make every effort to ensure it is put in place in every project I work with.

Comments

Popular posts from this blog

What Einstein Taught Us About Searching Inside Publications

When the Collected Papers of Albert Einstein went live on Tizra a few years ago, it was a huge step forward. Suddenly, anyone anywhere could search and access the output of one of the 20th Century’s great minds…from love letters to breakthrough articles that changed how we think about the nature of time and space. But the project also showed the limits of traditional tools for searching within large, complex publications. These limits sparked a collaboration with Princeton University Press and Einstein Papers Project editors, which this year resulted in a dynamic new search interface, which we’ll be demonstrating in a  Webcast Friday, December 15 at 1pm ET . The interface not only makes it easier for Einstein researchers to home in on relevant content on both mobile devices and desktops, it points the way toward faster, better searching within a wide range of publication types, from reference books to periodicals, technical documentation and standards to textbooks. Click To Re

Behind the Screens, Pt. 2--Customizing Site Design in Tizra Publisher

If you’ve seen some of the sites created with Tizra Publisher, you know how different they can look. But how does this happen? In this second in our series on the Tizra Publisher web based control panel ( first post here ), we’ll show how easy it is to completely re-skin and restructure an Tizra Publisher site in a matter of hours. First, a little slideshow of some recent results: As in the first post, we’ll use the eat.shop guides from Cabazon Books as our example. Founded by a graphic designer, Cabazon has a strong visual identity and has done a great job reinforcing it across its print and online properties. Step 1: Pick a design While Tizra Publisher does provide pre-made templates for publishers to customize, Cabazon already had a site design they were happy with, and wanted to carry it over to the new online books site they were building on Tizra Publisher. Screens from the preexisting design they wanted to match: Cabazon’s original eat.shop homepage. Origin

2018 Tizra User Summit: What We Learned by Meeting Our Customers Where We Are

They say you should "meet your customers where they are." Well, for Tizra 's 4th annual user conference we decided to take a chance and do the opposite. Instead of going to Chicago or DC, where Tizra customers are concentrated, we bet on hosting in our home town of Providence, RI. It's not that we don't love Chicago and DC, but we really felt we could do something special with the home field advantage. As it turns out, we were right. The Tizra user community is a silo-busting mix of creatives, technologists, content strategists and executives, who share the goal of building, engaging and generating value from audiences with digital content. For this crowd, we didn't want a sterile conference facility. We felt that by giving them a place they could really connect with, we'd help them connect with each other. Providence, with its vibrant tech and design scene, walkable downtown, and non-traditional venues, provided just the funky catalyst we were loo