On a recent client engagement, my colleagues and I were challenged with implementing continuous integration on a Flex project. For those unaware or uncertain, continuous integration, as defined by Martin Fowler, is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily – leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
With well written unit tests and automated building (on code check-ins), we were able to produce reliable builds with reduced risk; bugs were spotted sooner and were considerably easier to remove. In addition, continual deployment allowed for QA to get to new features faster, and receiving their feedback earlier in the process made for a very collaborative development cycle.
Here’s to best practices, stress free development, and quality deployment!