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

The importance of XML is real, but practicality of PDF gets short shrift

Publisher's weekly seems to have missed a key part of my message during Rebecca's and my backlist tutorial, which is that the long-term term payoff of XML is sufficiently expensive and disruptive that it can't happen quickly for publishers with significantly smaller resources than Thomson's, and that image based solutions like PDF can meet a lot of needs very quickly, for publishers that don't want to postpone full entry into online markets another 2-5 years. The Adobe announcements (especially integration of new e-book formats into print-oriented production tools) seems to present a more practical way for smaller publishers to change their workflows than the "big-bang" conversion project. But that kind of incremental strategy leaves existing PDF and image backlists just the way they are, and means that PDF will be a key part of all solutions for online marketing and product definition for the foreseeable future. Sometimes the future's so bright tha...

Tizra Upgrade Provides a Crisper, More Interactive E-Reading Experience

In the print world, when you think about a reader’s user experience, you consider factors like the size and weight of a book, paper quality, typeface, layout and design.  Moving to digital, some of these factors still hold true, but others are replaced with concerns such as speed, intuitive controls, cross-platform compatibility, plus as with any human interface, a host of intangibles.  We’re always working to make the Tizra reading experience crisper, easier, and less distracting, because happier readers mean happier publishers. Tizra reader upgrade makes it easy to enhance content with interactive lightbox effects. The update builds on Tizra’s ability to provide usability and compatibility across all the most popular web browsers and viewing devices, and is now available to all Tizra customers. Enhancements include:   Speed -- e-reading should be as crisp, fast and simple as turning a page. Your readers are not going to tolerate delays waiting for cont...

Announcing the Tizra Publishing Webinar Series 2017

This September Tizra is launching a new educational program for its association publishing clients and others interested in digital publication best practices. The free series of three monthly webinars led by publishing expert Thad McIlroy is directed to help you become a more effective publishing manager by examining best practices and new trends in online publishing. The first webinar in the series is " The 5 Top Issues Facing Association Publishing Management and How ToTackle Them! " and it takes place on Thursday, September 28 from 1pm - 2pm ET. Registration is free. Description: It’s never been a better time to be an association publisher. The tools, technologies and formats bring information and knowledge to members in record time and in multiple formats. There are challenges, but, as the saying goes, challenge brings opportunity. When Tizra talks with association publishing managers these are the top issues we hear about: 1. Enabling discovery via se...