Software Change Control Board [SCCB]
Table of contents
The LSC Software Coordinator (in consultation with the LSC spokesperson) will appoint the members of the CCB. Currently, they are:
- Stuart Anderson
- Jolien Creighton
- John Zweizig
- The FRAME Specification. [ T970130-F.pdf ]
- LSC Data Analysis Software Practices (draft) [ PDF ]
- LAL Specification. A new version is under consideration and will be coming soon
- The purpose of the CCB:
The LIGO Lab and the LSC have adopted software specifications that are intended to foster widespread use and collaborative development of well-tested analysis packages. In order to meet this goal, the software and software specifications must remain reasonably stable so the ground won't be shifting under the developers. On the other hand, as real problems are identified, changes may need to be made. The charge to the CCB is to strike a balance between stability and flexibility of the software. They should do this by adding order, common sense and some inertia to the change process. The purpose of this charter is to lay out how the CCB should operate.
- The software governed by the CCB:
The LSC Software Coordinator in conjunction with the LSC Executive Committee will decide what is to be governed by the CCB. The list of items that are formally under the charge of the committee are appended to this document.
As a general rule, the initial drafting of software specifications should be done by working groups and not by the CCB. Only after the specifications have had some field testing should they be placed under the purview of the CCB.
- Procedure for requesting a change:
An individual or group should submit a written (email) request for software changes to the LSC Software Coordinator [currently email@example.com]. In most cases, this should be a light-weight, one-page email. The request should include:
- a description of the change.
- the rationale behind the requested change, including the (dis)advantages of (not) making the change.
- an estimate of the impact of the change on other systems and software.
- a plan for implementing the change that addresses who will do the work.
- The criteria for making a change:
The change should be adopted if the benefits outweigh the costs of making the change.
- The CCB decision process should include:
- iteration with those requesting the changes.
- technical input from the CCB itself, or others the CCB feels should be consulted.
- an assessment of the impact of (not) making the change.
- input from the Lab and the LSC hierarchy, as well as other projects (GEO, VIRGO, TAMA, etc.) that might be affected by the change. In particular, the CCB will work with the Lab to honor agreements with other projects that pertain to jointly maintained software specifications.
- input from the code developers that might be affected by the change.
- the viability of the plan for implementing the change.
- common sense.
The committee will try to reach a consensus on whether the change should be adopted. In the absence of a clear consensus, the board will formally vote on the changes. The software coordinator will break tie votes.
- Responsibilities of the LSC Software Coordinator in the CCB process:
- Make sure that requested changes move through the process, i.e. pass the information to the committee, convene the meetings, etc..
- Set the pace and priorities for the decision process. Some changes are urgent, others are trivial, and still other things can (should) wait.
- Inform the Lab Directorate and the LSC spokesperson what changes are before the committee. This is to insure they have an opportunity for input regarding scheduling and coordination with other projects.
- Insure that the rank and file programmers are notified and have a chance to comment on significant changes.
- If the CCB concludes that a change should be made, the Software Coordinator will act on behalf of the LSC spokesperson and LSC Executive Committee to see that the change is carried out.