Guide To The Software Operations and Maintenance
Guide To The Software Operations and Maintenance
March 1995
Guide
to the software
operations and
maintenance
phase
Prepared by:
ESA Board for Software
Standardisation and Control
(BSSC)
Approved by:
The Inspector General, ESA
1. DOCUMENT TITLE: ESA PSS-05-07 Guide to the Software Operations and Maintenance
Phase
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION..................................................................................1
1.1 PURPOSE ................................................................................................................. 1
1.2 OVERVIEW................................................................................................................ 1
4.3 EVOLUTION............................................................................................................ 35
4.4 RESPONSIBILITY.................................................................................................... 35
4.5 MEDIUM ................................................................................................................. 35
4.6 CONTENT ............................................................................................................... 35
4.6.1 PHD/1 DESCRIPTION OF THE PROJECT...................................................... 36
4.6.2 PHD/2 MANAGEMENT OF THE PROJECT .................................................... 37
4.6.2.1 PHD/2.1 Contractual approach ........................................................... 37
4.6.2.2 PHD/2.2 Project organisation .............................................................. 37
4.6.2.3 PHD/2.3 Methods and tools ................................................................ 37
4.6.2.4 PHD/2.4 Planning ................................................................................. 38
4.6.3 PHD/3 SOFTWARE PRODUCTION ................................................................ 38
4.6.3.1 PHD/3.1 Product size............................................................................ 38
4.6.3.2 PHD/3.2 Documentation....................................................................... 39
4.6.3.3 PHD/3.3 Effort........................................................................................ 39
4.6.3.4 PHD/3.4 Computer resources .............................................................. 39
4.6.3.5 PHD/3.5 Productivity ............................................................................. 39
4.6.4 PHD/4 QUALITY ASSURANCE REVIEW......................................................... 40
4.6.5 PHD/5 FINANCIAL REVIEW ............................................................................ 41
4.6.6 PHD/6 CONCLUSIONS................................................................................... 41
4.6.7 PHD/7 PERFORMANCE OF THE SYSTEM IN THE OM PHASE.................... 41
PREFACE
Levels one and two of the document tree at the time of writing are shown in
Figure 1. This guide, identified by the shaded box, provides guidance about
implementing the mandatory requirements for the software Operations and
Maintenance Phase described in the top level document ESA PSS-05-0.
ESA Level 1
Software
Engineering
Standards
PSS-05-0
Level 2
Guide to the
Software Engineering
Standards
PSS-05-01
The following past and present BSSC members have contributed to the
production of this guide: Carlo Mazza (chairman), Gianfranco Alvisi, Michael Jones,
Bryan Melton, Daniel de Pablo and Adriaan Scheffer.
vi ESA PSS-05-07 Issue 1 Revision 1 (March 1995)
PREFACE
The BSSC wishes to thank Jon Fairclough for his assistance in the development
of the Standards and Guides, and to all those software engineers in ESA and Industry
who have made contributions.
CHAPTER 1
INTRODUCTION
1.1 PURPOSE
1.2 OVERVIEW
CHAPTER 2
THE OPERATIONS AND MAINTENANCE PHASE
2.1 INTRODUCTION
The developer writes the Project History Document (PHD) during the
warranty period. This gives an overview of the whole project and a summary
account of the problems and performance of the software during the
warranty period. This document should be input to the Software Review
Board (SRB) that recommends about final acceptance. The PHD is delivered
to the initiator at final acceptance (OM10).
SPMP
SCMP
SVVP
SQAP
Software
System Operate SPR
Software
SCR, SMR
users CIs Maintain
STD Software
Update
developers
PHD Statement
of final
project Final acceptance
manager Acceptance
SRB
PHD
SPMP
SCMP
SVVP
SQAP
Software
System Operate SPR
Software SCR
SMR
users CIs Maintain
Software
Updated
Update PHD
maint. team
PHD
PHD
software manager
Figures 2.1A and 2.1B show the activities, inputs and outputs of the
phase, and the information flows between them. The arrows into the bottom
of each box indicate the group responsible for each activity. The following
sections discuss in more detail the activities of operate software, maintain
software, update Project History Document and final acceptance.
When the number of users becomes too large for the experts to be
able to combine user support activities with their software maintenance
activities, a help desk is normally established to:
provide users with advice, news and other information about the
software;
receive problem reports and decide how they should be handled.
While help desk staff do not need to have expert knowledge of the
design and code, they should have detailed knowledge of how to operate it
and how to solve simple problems.
Each SPR should report one and only one problem and contain:
software configuration item title or name;
software configuration item version or release number;
priority of the problem with respect to other problems;
a description of the problem;
operating environment;
recommended solution (if possible).
Problems may occur because the software does not have specific
capabilities or comply with some constraints. Users should document such
omissions in SPRs, not in a modification to the User Requirements
Document. The URD may be modified at a later stage when and if the
Software Review Board (SRB) approves the new user requirement.
Figure 2.2 shows the life cycle of a software problem report. An SPR
is prepared and submitted to the maintenance team for diagnosis. The
maintenance team prepares a Software Change Request (SCR) if they
decide that a software change is required to solve the problem. The SPR
and related SCR are then considered at a Software Review Board meeting.
Prepare
Diagnose
Review
SPMP
SCMP
SVVP
SQAP
SCR
STD
SMR
SPR Change
CIs Software
SRN
Release
Software
Changed Installed
CIs CIs
Install
Release
Released
Software
CIs
Validate System
Release
Figure 2.3 shows the inputs and outputs of each activity, which are
discussed in more detail in the following sections.
SPR
controlled CI diagnose SCR
problems
expert
review approved
changes SCR
review board
SMR
modify
software changed CI
developers
maintainers
verify changed CI
software
developers
maintainers
The software engineers run the variant and attempt to reproduce the
problem and understand why it happened. When they have made a
diagnosis they may insert prototype code to solve the problem. They then
test that the problem does not recur. If it does not, the person responsible
for modifying the software may use the prototype code as a starting point.
The maintenance team should be wary of the first solution that works.
The Software Review Board (SRB) must authorise all changes to the
software (OM08). The SRB should consist of people who have sufficient
authority to resolve any problems with the software. The software manager
and software quality assurance engineer should always be members. Users
are normally members unless the software is part of a larger system. In this
case the system manager is a member, and represents the interests of the
whole system and the users.
The SRB should delegate responsibility for filtering SPRs and SCRs
to the software manager. The order of filtering is:
criticality (critical/non-critical);
urgency (urgent/routine).
Critical
Non-critical
Critical SPRs that have not been closed are then discussed. The
discussion should confine itself to describing the seriousness and extent of
the problem. The Software Review Board decisions should be one of
'update', 'action or 'reject' (See Figure 2.2). The status should become
'update' when the SRB is satisfied that the problem exists and requires a
change to the software. The status should become 'action' when there is no
satisfactory diagnosis. The status should become 'reject' if the SRB decides
that the problem does not exist or that no update or action is necessary.
Any part of the SCR may be modified by the SRB. After discussion,
the SRB should decide upon whether to approve the change request.
ESA PSS-05-07 Issue 1 Revision 1 (March 1995) 17
THE OPERATIONS AND MAINTENANCE PHASE
j. safety;
k. security.
There is often more than one way of changing the software to solve
a problem, and software engineers should examine the options, compare
their effects on the software, and select the best solution. The following
sections provide guidance on the evaluation of the software in terms of the
attributes listed above.
a. Performance
b. Resource Consumption
c. Cohesion
d. Coupling
e. Complexity
f. Consistency
g. Portability
h. Reliability
i. Maintainability
j. Safety
k. Security
Tools for deriving detailed design information from source code are
invaluable for keeping documentation up to date. The detailed design
component specification is placed in the module header. When making a
change, programmers:
modify the detailed design specification in the header;
modify the module code;
compile the module;
review the module modifications;
unit test the module;
run a tool to derive the corresponding detailed design document
section.
b. Tests
Ideally system tests should be run after each change. This may be a
very costly exercise for a large system, and an alternative less costly
approach often adopted for large systems is to accumulate changes and
then run the system tests (including regression tests) just before release.
The disadvantage of this approach is that it may be difficult to identify which
change, if any, is the cause of a problem in the system tests.
installation instructions.
Forms are used for simple releases and documents for complex
releases.
The SRN should define the version number of the release. The
structure of the version number should reflect the number of different types
of releases used. A common structure used is two or three integers
separated by a full stop:
This section of the SRN should list all the changes in the release.
For each change:
give a paragraph summarising the effects that the users will see
resulting from the change;
enumerate the related SPRs and SCRs (SCM36).
This section of the SRN should list the configuration identifiers of all
the configuration items in the release.
This section of the SRN should describe how to install the release.
This is normally done by referencing the installation instructions in the
Software User Manual1, or providing updated instructions, or both.
1 In ESA PSS-05-0 Installation instructions are placed in the STD. The SUM is normally a more suitable place to put the installation
instructions.
ESA PSS-05-07 Issue 1 Revision 1 (March 1995) 27
THE OPERATIONS AND MAINTENANCE PHASE
The software can be delivered when the audits have been done. The
maintenance team is responsible for copying the software onto the release
media, packaging the media with the software documentation and delivering
the package.
Upon delivery, the contents of the release are checked against the
configuration item list in the Software Release Note (SRN) and then the
software is installed. The installation procedures are also described or
identified in the SRN.
been updated to include tests of any new user requirements that have been
implemented.
The review team should consist of the Software Review Board (SRB)
members. The responsibilities and constitution of the Software Review
ESA PSS-05-07 Issue 1 Revision 1 (March 1995) 29
THE OPERATIONS AND MAINTENANCE PHASE
The SRB should study the trends in the number of critical software
problems reported and solved. Although there are likely to be 'spikes' in the
trend charts associated with software releases, there should be a downward
30 ESA PSS-05-07 Issue 1 Revision 1 (March 1995)
THE OPERATIONS AND MAINTENANCE PHASE
CHAPTER 3
TOOLS FOR SOFTWARE MAINTENANCE
3.1 INTRODUCTION
The reader should refer to the appropriate guides for the tools that
support:
user requirements definition;
software requirements definition;
architectural design;
detailed design and production;
transfer;
software project management;
software configuration management;
software verification and validation;
software quality assurance.
This chapter is concerned with the tools that are normally used for
the first time in the life cycle during the operations and maintenance phase.
These tools are:
navigation tools;
code improvement tools;
reverse engineering tools.
CHAPTER 4
THE PROJECT HISTORY DOCUMENT
4.1 INTRODUCTION
4.2 STYLE
4.3 EVOLUTION
4.4 RESPONSIBILITY
4.5 MEDIUM
4.6 CONTENT
3 Software Production
3.1 Product size3
3.2 Documentation
3.3 Effort4
3.4 Computer resources
3.5 Productivity5
5 Financial Review
6 Conclusions
This section should reference the contract made (if any) between
initiator's organisation and the development organisation.
This section should state the type of contract (e.g. fixed price, time
and materials).
This section should identify the methods used in the project, phase
by phase. The methods should be referenced. This section should not
describe the rules and procedures of the methods, but critically discuss
them from the point of view of the project. Aspects to consider are:
training requirements.
applicability.
Any tools used to support the methods should be identified and the
quality of the tools discussed, in particular:
degree of support for the method;
training requirements;
38 ESA PSS-05-07 Issue 1 Revision 1 (March 1995)
THE PROJECT HISTORY DOCUMENT
reliability;
ease of integration with other tools;
whether the benefits of the tools outweighed the costs.
This section should state the amount of code, both for the whole
system and for each subsystem:
predicted at the end of the AD phase;
produced by the end of the TR phase;
produced by final acceptance.
This section should make clear the rules used to define a line of
code. Comment lines are not usually counted as lines of code. Historically,
ESA PSS-05-07 Issue 1 Revision 1 (March 1995) 39
THE PROJECT HISTORY DOCUMENT
continuation lines have been counted as separate lines of code, but it may
be more meaningful to ignore them and count each complete statement as
one line of code. Non-executable statements (e.g. data declarations) are
also normally counted as lines of code.
This section should identify each document produced and state for
each document the number of pages and words.
This section should state the estimated and actual effort required for
each work package. The unit should be man-hours, man-days or man-
months. Significant differences between the estimated and actual effort
should be explained.
The first value gives the global 'productivity' value. The second set of
values gives the productivity of each subsystem.
CHAPTER 5
LIFE CYCLE MANAGEMENT ACTIVITIES
5.1 INTRODUCTION
ESA PSS-05-0 does not mandate the production of any plans after
final acceptance. However the maintenance organisation will need to have
plans to be effective, and is strongly recommended to:
produce its own SPMP and SQAP;
reuse and improve the SCMP and SVVP of the development
organisation.
5.2.1 Organisation
5.2.3 Resources
The activity schedule should show the dates of the next releases,
and the work packages that must be completed for each release. This
should be presented in the form of a Gantt chart.
Walkthroughs and inspections of the design and code are not only
useful for training new staff, they are essential for maintaining and improving
quality. Even if software inspection procedures were not used during
development, consideration should be given to introducing them in the
maintenance phase, especially for subsystems that have serious quality
problems. All new procedures should be defined in updates to the SVVP.
The SVVP will have to be extended to include new test designs, test
cases and test procedures for:
tests of new or modified software components;
regression tests of the software.
Targeted tests and new tests depend upon knowledge of the actual
change made. All such regression tests imply a new test design. The first
two reuse test cases and test procedures.
The SQAP/TR should define the SQA activities that the development
team should carry out until final acceptance of the software. The
maintenance organisation that takes over after final acceptance should
examine that plan, consider the current status of the software and then
produce its own plan.
50 ESA PSS-05-07 Issue 1 Revision 1 (March 1995)
LIFE CYCLE MANAGEMENT ACTIVITIES
APPENDIX A
GLOSSARY
Terms used in this document are consistent with ESA PSS-05-0 [Ref
1] and ANSI/IEEE Std 610.12 [Ref 2]. Additional terms not defined in these
standards are listed below.
building
development environment
end user
installation
The process of copying a software system into the target environment and
configuring the target environment to make the software system usable.
operator
A person who controls and monitors the hardware and software of a system.
operational environment
target environment
user
AD Architectural Design
ANSI American National Standards Institute
AT Acceptance Test
BSSC Board for Software Standardisation and Control
CASE Computer Aided Software Engineering
CI Configuration Item
DD Detailed Design and production
OM Operations and Maintenance
PHD Project History Document
SCM Software Configuration Management
SCMP Software Configuration Management Plan
SCR Software Change Request
SMR Software Modification Report
SPM Software Project Management
SPMP Software Project Management Plan
SPR Software Problem Report
SQA Software Quality Assurance
SQAP Software Quality Assurance Plan
SR Software Requirements definition
SRD Software Requirements Document
SRN Software Release Note
STD Software Transfer Document
SVV Software Verification and Validation
SVVP Software Verification and Validation Plan
TR Transfer
UR User Requirements definition
URD User Requirements Document
ESA PSS-05-07 Issue 1 Revision 1 (March 1995) B-1
REFERENCES
APPENDIX B
REFERENCES
APPENDIX C
MANDATORY PRACTICES
OM01 Until final acceptance, OM phase activities that involve the developer shall be
carried out according to the plans defined in the SPMP/TR.
OM02 All the acceptance tests shall have been successfully completed before the
software is finally accepted.
OM08 The SRB ... shall authorise all modifications to the software.
OM09 The statement of final acceptance shall be produced by the initiator, on behalf
of the users, and sent to the developer.
OM10 The PHD shall be delivered to the initiator after final acceptance.
C-2 ESA PSS-05-07 Issue 1 Revision 1 (March 1995)
MANDATORY PRACTICES
APPENDIX D
INDEX