
Agile Forum - Experiences and tips on adopting Continuous Integration using Hudson
Ahmed Omarjee is an experienced software developer at Psybergate who has been practising agile development at both a business and technical level for the past 6 years.
Agile software development applies techniques that aim to amplify the effects of standard development practices such as testing through the use of Test Driven Development (TDD) as well as quality control and early feedback through the use of Pair Programming and Continuous Integration. It is common to hear that "if testing is considered good" then "we should strive to test more often" and "if obtaining early feedback on quality is considered good" then "we should strive to obtain such feedback more often".
Continuous Integration is an agile software development practice that implements continuous processes of applying quality control - that is small pieces of effort, applied frequently. It aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.
The typical lifecycle includes members of a team integrating their work frequently, usually each person integrating at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including tests) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
Ahmed shared his practical experiences and tips on adopting Continuous Integration using Hudson (http://hudson.dev.java.net).












