Continuous integration and build process

Objective

To increase the customer satisfaction, by reducing the response time. As most of the development activities are clubbed in for major releases, this introduces a long wait for a simple customer requests and so jeopardizes the opportunity.

From the Quality point of view, having the development team to continuously integrating, testing and delivering the work as and when an individual task/project is done.

Project Plan

A Project Plan is a backlog of items that are requested as identified and prioritized list of tasks. This will be organized in a fashion with the help of an engineer (preferably who will be taking up this task) to do an effort estimate.

Each Task is either a request to add a new feature or do a fix or enhancement from a customer. Each Task will be considered as a sub-project, and a engineer who will work on this, will own the code, unit testing and merging/integrating with the Main stream code.

Continuous Integration

http://martinfowler.com/articles/continuousIntegration.html

Continuous Integration is a practice where all task owners will integrate their work frequently; usually each person integrates at least daily – leading to multiple integrations per day. Integration is verified by a weekly build (including test) to detect integration errors as quickly as possible.

Build Process

A build is a code release from a developer, integrated to a main stream of code, after a thorough completion of unit testing by the developer.

http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=10128

Weekly Builds

Every Friday there will be a Build on work that is completed and will be available for the testing team.

Bi-Monthly Builds

Every Alternate Friday’s builds will be considered as bi-monthly build. This bi-monthly build could be used to release to publish for the completed work. The objective here is, for the items that are taken less time to develop and test and confirm, doesn’t have to wait for too long for the customer to wait. Today we get requests from multiple customers, with different unique requirements, so to avoid waiting too long for a simple requirement, this bi-monthly build may open up opportunities to bring it available to customers sooner rather than later.

The testing team will be tracking the testing and bug reporting only through their weekly Builds. They will be parallel tracking two builds at a time –

1. Weekly build

2. bi-Monthly build

Each consecutive builds will have incremental integration of previous builds.