Outsourcing the Development of Specific Application Software
using the ESA Software Engineering Standards:
The SPS Software Interlock SystemB. Denis
CERN - 1211 Geneva 23 - CH

ABSTRACTCERN is considering outsourcing as a solution to the reduction of staff. The need to re-engineer the SPS
Software Interlock System provided an opportunity to explore the applicability of outsourcing to our specificcontrol environment. The ESA PSS-05 standards were selected for the requirements specification, thedevelopment, the control and monitoring and the project management. The software produced by the contractor isnow fully operational.
After outlining the scope and the complexity of the project, a discussion on the ESA PSS-05 will be presented.
The success factors and the difficulties of development under contract will also be discussed. Finally themaintenance aspect and the impact on in-house developments will be addressed.

INTRODUCTION
Outsourcing software development is being considered as a solution to the reduction of personnel at CERN in thecoming years. The major goal of the SPS Software Interlock System (SSIS) project was to assess the suitabilityof this approach for the development of specific accelerator application software.
Today the SSIS project is finished, the application software has been successfully developed by an Italiansoftware company and it is fully operational.
This paper shortly describes the SSIS project and explains how the use of ESA PSS-05 Software Engineering
Standards [1] made the outsourcing process possible. It identifies the limitation of PSS-05 for developments
under contract and summarizes the major success factors.

THE SSIS PROJECT
The system characteristics
The SPS Software Interlock System has two major functions. First, it provides a mechanism for application
software to inhibit the beam in the SPS. Second, it monitors more than 150 pieces of equipment, makes surethat their state corresponds to the intended mode of operation and stops the source of particles in case of danger tocostly equipment. This software system needs to be very reliable and available 24 hours a day.
Another characteristic of the system is that it is deeply integrated in the SPS/LEP control system and has to rely
on many in-house developments. The hardware part of the system has been developed at CERN, the SSIS
software communicates with other home-made software systems ([2],[3]) and the user interface has beendeveloped using tools made at CERN ([4]).
Although not concerned with beam dynamics, the system contains knowledge of the properties and functionalityof accelerator equipment and is thus specific to CERN.
As part of the SPS Control System Migration Project, the SSIS project was the re-engineering of an existing
subsystem. There was a very strict dead-line for the replacement of the system. The first part of the system wasto be ready 6 months after the development commenced and was mandatory for the SPS accelerator start-up inMarch 1994

The project phases
1. Problem definition
This phase covered the definition of the scope of the project, the specification of the requirements, the analysis of
the possible customer-supplier relationship and the tendering process. ESA PSS-05 standards were evaluated andselected during this phase of the project. The phase ended with the contract being awarded to an Italian company.
2. Main development and first operation
During this phase, the selected contractor developed the first version of the SSIS software based on the user
requirements stated in the contract. The software was delivered to CERN in two parts. The first delivery dealt
with the mandatory functionality of the system required for the SPS start-up in March 1994. The second part ofthe system was delivered and accepted at the beginning of May i.e. one month and an half late compared to theoriginal planning.
The second part of the system was installed in parallel to the old existing system. The SSIS system database wasgradually introduced and the performance was monitored up to the end of 1994.
3. Evolutive maintenance
Based on a first usage of the system, new requirements were identified. An updated version of the specification
was produced and the original developer was asked to make an offer to implement the enhancements.
The offer from the contractor was accepted and the acceptance tests of the second version of the SSIS software
took place in January 1995.

HOW DID ESA PSS-05 IMPROVE THE OUTSOURCING PROCESSThe choice
During the early phases of the project it became clear that there was a need for a well-defined terminology and fora rigorous way to structure the project.
After evaluating different software engineering standards and methodologies, ESA PSS-05 standards were selected
for the following reasons:• these standards are international in the sense that they do not favor any national standard or method;• they are rather complete and they cover every phase of software development;• many ESA suppliers in Europe are already familiar with these standards.

Definition of customer-supplier relationship
Potential conflicts between CERN and external suppliers were identified at the beginning of the project:interpretation of the requirements, high cost of requirements changes, unclear project completion criteria. ESA
PSS-05 standards have been used to reduce the risk of such conflicts by defining as precisely as possible therelationship with the supplier.

In this regard, the standards provided guidance to specify:• precise and structured user requirements;• systematic acceptance tests using structured requirements;• clear project phases and milestones;• project functions including project management, verification and validation, and quality assurance.

Maintenance
One initial objective of the project was to avoid becoming subordinate to the contractor for maintenance. The
advantage of the ESA standards where maintenance is concerned are numerous.
First, the end-of-phase documents (functional analysis, design documents, etc.) were rigorously reviewed by
CERN at the end-of-phase milestones defined by the standards. This allowed CERN reviewers to strictly monitor
the progress of the project but it also provided CERN technical reviewers with the knowledge of the systemallowing them today to diagnose problems and fix minor bugs.
In addition, the standardized documentation should allow anybody, including other contractors, to maintain thesoftware. This allowed CERN not to become dependent on one supplier and if the contract was prematurely
canceled by either party, at least the documentation issued since the beginning would be available.

Limitations
Although the usage of PSS-05 was a key success factor, the following limitations are worth noting in the use of
these standards in the frame of information system procurements:• no support for the tender process,• no guidance on how to allocate customer and supplier responsibilities,• no guidance for tailoring the standards to the nature (i.e. size, criticality) of the project,• no guidance on how to use the standards for life cycle approach other than the waterfall approach (i.e.
prototyping evolutionary approach, iterative approach).

OUTSOURCING SUCCESS FACTORSESA PSS-05 standards made it possible to have well-defined contractual relationship. The quality of thecontractual relation together with a deep involvement of CERN staff members allowed a real mutual cooperation
which is probably the main reason for the project success.
The success factors can be summarized as followed:• well-defined terminology,• precise and structured specification of the product allowing rigorous acceptance tests, precise specificationof the project activities and the responsibility for each activity (these activities are not limited to thedevelopment activities, but include project management, quality assurance, and verification and validation),• well-defined customer-supplier interface reduced to a few people in both organizations, organization of joint
reviews in order to monitor the project progress but also to technically validate the analysis, the design,
the code and the associated documentation,• technical competence of customer staff,• systematic recording of the discussion results,• establishment of a good communication with the supplier based on a mutual trust and an effort tounderstand the other party's problems.

CONCLUSIONSESA PSS-05 standards provided a means to specify a clear customer-supplier relationship by addressing not only
the product but also the procedures required for the development. Using a methodology and applying software
quality principles has a cost. Nevertheless, the quality of the product obtained in terms of documentation,

completeness, reliability, and availability has proven up to now that this cost will surely be positively balancedby the cost of operation and maintenance of an in-house solution.
In a research environment one shot developments (the so-called waterfall approach) are rarely satisfactory. A
prototyping or an evolutionary approach is often more suitable. These approaches are more realistic but thecustomer-supplier relationship becomes more complex and difficult to define. In addition, software projects are
not always pure development, they are often migration, maintenance or feasibility studies. There is obviously theneed for a framework larger than PSS-05 in order to support complex procurements otherwise only simple, wellknown and well-defined systems will be considered as candidates for outsourcing; such projects are very rare in
our environment
The customer must be actively involved in the customer-supplier relationship. This is required not only to havesuccessful projects but also to prevent the customer from becoming too dependent upon its supplier. New skills
are thus required from CERN staff members and suitable training covering requirement elicitation, project
management and communication skills should be provided.

ACKNOWLEDGMENTS
The author would like to acknowledge K.H. Kissler and R. Lauckner for their support throughout the project. Hewould also like to thank F. Roeber who acted as an active reviewer and technical expert, and to C. Despas whoreally involved himself in the project as an active end-user.

REFERENCES[1]

ESA Software Engineering Standards, PSS-05-0 Issue 2, European Space Agency, Feb 1991.

[2]

P. Charrue et al., The equipment access software for a distributed UNIX-based accelerator, Proc.
ICALEPCS'93, Berlin, Germany, 1993.

[3]

M. Vanden Eynden, SPS/LEP Software Synchronization Mechanism V1.0, CERN note SL/Note 9371(CO) (1993).

[4]

Tarrant, M. Vanden Eynden, SL X-Window Migration Project: Xsl Library and UIL Templates, CERN
note SL/Note 93-66(CO) (1993).

[5]

B.Denis, Outsourcing Specific Accelerator Application Software to Industry - A Practical Experience,
CERN-SL-95-72 CO (1995).