CPE 309 Integration Plan

1. Purpose

This document describes the plan by which individual source modules are assembled into a completed software product.

Integration is a crucial technical area that can make or break a project.  The implementation manager is responsible for having a detailed integration plan and the QA manager is responsible for enforcing conformance to the integration procedure.  Don't let people cheat on the integration procedure!  Our integration procedure will include a team "daily build" which helps avoid the "big bang" syndrome.

10.1 Integration Procedure

Our integration procedure is based on an Incremental Integration strategy (see notes).  It assumes the design is complete and the interfaces have been compiled.  The implementation manager creates the Integration Schedule which lists the order in which modules are written and integrated. Developers then write their individual units using the Unit Developer Procedure.  No partial implementations allowed. (See "Done is Done" pg 203).  Individual units are to be compiled and tested in isolation. Here is a suggested incremental development process.

The integration itself occurs during scheduled lab time and follows the integration lab procedure.

10.2 Build Procedure

There must be a regular ("daily") build of the software product. The build must start at the beginning of the third week of class. The build must occur at least 4 times a week (suggested SMWF).

The implementation manager is responsible for writing the  specific technical instructions for how to run the build on your development platform.  Include the schedule for when the build will be run and procedures for dealing with broken builds..

Here is a ten-step summary of the steps in the build process.
Here is an example build procedure from a previous student project.
Here is a REAL build procedure for Mozilla.

10.3 Daily Build Report

The results from running the daily build are to be posted on the team web site.  Refer to Ch 14. You may want to create a list of chronological links to a separate page for each build report.
A build report contains Here are example build reports from a previous student project.
 

10.4 Software Deployment Plan

A Deployment Plan describes how you intend to get the software transformed from source code in your team repository to executing bits on the user's machine.   This Implementation Manager is the logical person to create the plan with assistance from the QA manager.  Here are issues and considerations in writing your plan.  Place a link to the plan either here or on the team home page.