continuous integration
Home > Software Quality Definitions - Continuous integration
SearchSoftwareQuality.com Definitions (Powered by WhatIs.com)
EMAIL THIS
LOOK UP TECH TERMS Powered by: WhatIs.com
Search listings for thousands of IT terms:
Browse tech terms alphabetically:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

continuous integration


Show me everything on Extreme Programming (XP)


Word of the Day


DEFINITION - What is continuous integration (CI)?

Continuous integration (CI) is a software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base. The goal of CI is to provide rapid feedback so that if a defect is introduced into the code base, it can be identified and corrected as soon as possible. Continuous integration software tools can be used to automate the testing and build a document trail.

Continuous integration has evolved since its conception. Originally, a daily build was the standard. Now, the usual rule is for each team member to submit work on a daily (or more frequent) basis and for a build to be conducted with each significant change. When used properly, continuous integration provides various benefits, such as constant feedback on the status of the software. Because CI detects deficiencies early on in development, defects are typically smaller, less complex and easier to resolve.

According to Paul Duvall, co-author of Continuous Integration: Improving Software Quality and Reducing Risk, best practices of CI include:

  • Committing code frequently.
  • Categorizing developer tests.
  • Using a dedicated integration build machine.
  • Using continuous feedback mechanisms.
  • Staging builds.

CI originated from within the Extreme Programming paradigm but the principles can be applied to any iterative programming model, such as agile programming. Traditional development approaches, such as the waterfall model can benefit from using CI methods for the construction stage.

Learn more about Extreme Programming (XP)
Better software through debugging and unit testing: Bugs plague software project big and small, and today's complicated software makes debugging more difficult than ever. Let these tips, tutorials, podcasts and articles help you.
Better software through debugging and unit testing -- Other useful resources: Here is a list of books, blogs and Web sites that can offer you more information on debugging, unit testing, XP and test-driven development.
Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD: Unit testing is a key element of Extreme Programming (XP) and test-driven development (TDD). These tips, tutorials and articles will help you further understanding unit testing.
Addressing software quality issues with development models, methods: Each development model has its own practices for building quality software. The challenge is determining which one fits your needs. The resources here can help you decide.
Clean Code: A Handbook of Agile Software Craftsmanship, Chapter 1 -- What Is Clean Code?: Agile software development calls on developers to write clean code, according to Robert "Uncle Bob" Martin. This free chapter introduces the concepts and methods of clean code.

LAST UPDATED: 31 Jul 2008

Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com

More resources from around the web:
- On SearchSoftwareQuality.com, Paul Duvall describes the benefits of continuous integration.
- Justin Gehtland explains continuous integration.
- 'Continuous Integration: Improving Software Quality and Reducing Risk' is available from Amazon.com.
- Integratebutton.com is an extension of the book.
- MartinFowler.com offers a selection of articles about continuous integration.





FILE EXTENSION AND FILE FORMAT LIST
File Extension and File Format List:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #


RELATED CONTENT
First takes on Boston SPIN with Damon Poole and STPCon
Test pro Matt Heusser shares key points from "Do It Yourself Agile" author Damon Poole's talk at a Boston software user group meeting.
Boston SPIN: A small group's big ideas about agile development
SPIN is a network of testers and QA pros that meet a few times a year to discuss the software industry, the group has grown to over 1,100 members in...
Danube's Dan Rawsthorne: Scrum teams and metrics
Dr. Dan Rawsthorne, PhD, is a certified Scrum trainer and coach at Danube Technologies Inc. Rawsthorne spent nearly a decade working as an expert...

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
Extreme Programming  (SearchSoftwareQuality.com)
Extreme Programming (XP) is a pragmatic approach to program development that emphasizes business results first and takes an incremental,...
JUnit  (SearchSoftwareQuality.com)
JUnit is an open source framework designed for the purpose of writing and running tests in the Java programming language... (Continued)




Software Quality - continuous integration Articles
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts