Overview

 

Background

This process development project will build on the successes of the "SVN and Automated Deployment" project (APP004-12), to give Applications Division a supported system for continuous integration and deployment. This system will be configured for use in all the division’s development projects that use ColdFusion and PL/SQL, and for the ongoing support by Production Management of the applications built by those projects.

It is intended that the use of this continuous integration system will be compulsory for all such project and support work within the division. Over time, existing applications will be migrated to use the system, either as projects are undertaken on those applications or by separate migration tasks if needed. The system will be extended to cover other development technologies where possible and practical (especially Java but also PHP, T/SQL, test data tables).

The "SVN and Automated Deployment" project (APP004-12) achieved the following objectives:

  • Documented procedures for the SVN version control system, agreed by Development Services and Production Management
  • The highly successful demonstration of a continuous integration tool on the Agile development of the eStores application for Finance, HGU, Roslin et al.
  • A review of the chosen technology (Atlassian's Bamboo system)

That project clearly demonstrated the benefits of these approaches and tools. The deployments in the eStores project all ran smoothly with less effort and the use of regression testing provided the equivalent of 60 days of manual testing effort. Several tasks remain in order to make this system mainstream within the division. Some of these tasks are technical; some are procedural.

Scope, Objectives and Deliverables

This project will deploy version 4 of Bamboo. This is the latest version, which will ensure that we are using a supported version, in addition to providing extra functionality.

The project will include documentation, training and dissemination activities. The documentation will address two audiences: developers who need to configure the system for a new application, and the broader group of developers and support staff who will actively use the system. The training will be aimed at a small number of initial users across the Dev Team, Config Team and Applications Management. Wider dissemination will probably be via a presentation at an Applications Division staff meeting.

The deliverables are as follows. These must be signed off by all the team leaders in Development Services and Production Management.

  • A TAD and Operations Document for the Bamboo implementation
  • Implementation of Bamboo version 4
  • A pre-production environment for Bamboo, matching the production environment
  • Agreed support processes for the Bamboo system, both production and pre-production
  • A method or tool that enables Production Management to see which versions of each application have been deployed on each environment.
  • Documented procedures and training for the use of the new system.
  • Agreed support procedures for users of the new system (e.g. help and advice)
  • Agreed updates to the project methodology to enable and take advantage of the new system (e.g. creation of all environments at the same time)
  • Modification of access rights so that all deployment or migrated applications must use the continuous integration system

Benefits

Applications Division currently lags the state of the art in development and support processes by 10 years or more. The effect of this is that development takes longer and quality is less consistent than more up-to-date processes would produce.

  • Automated deployment tools reduce the turnaround time required to deploy a system, reduce or eliminate the resourcing bottleneck for deployments, reduce the elapsed time required for rework and provide a reliable and repeatable process.
  • Continuous integration and test systems catch regression problems, ensure the continuing quality of code and reduce the time required for rework.
  • All these advantages lead to quicker development and higher quality code.
  • Adopting these systems in the support team will enhance the management and tracking of support changes and the consistency of systems across environments. This in turn will benefit future projects.
  • These advantages also support the iterative development used in Agile projects, which further enhance quality and customer satisfaction.

Success Criteria

The project will be deemed successful if everything is in place, both technically and organisationally, to use continuous integration for all project and support development work on Java, Cold Fusion and PL/SQL undertaken by Applications Division, modulo migration of existing applications to the new framework.

 

Project Info

Project
Continuous Integration
Code
APP004-16
Project Manager
Dave Berry
Project Sponsor
Dave Berry
Current Stage
Close
Status
Closed
Start Date
19-Jul-2012
Planning Date
n/a
Delivery Date
n/a
Close Date
06-Feb-2014
Category
Discretionary