|
Introduction
Background
The last stage of the software engineering life cycle, operation and
maintenance, often takes the majority of life cycle funds.
Proper planning can help reduce life cycle costs for this stage.
It is therefore prudent to possess software maintenance plans and
procedures to contain life cycle costs, and to operate an efficient
organization. Maintenance planning
prepares for the personnel, environment, and financial resources required to
provide software maintenance for software systems. Planning consist of
developing a Maintenance Concept and then a Maintenance Plan.
Software Engineering Process Technology (SEPT) in
conjunction with the noted Software Maintenance expert Thomas Pigoski has
developed this template for a Software Maintenance Plan to aid the software
engineer in implementing software maintenance requirements.
This template is easy to use, self-explanatory, and does not require
expensive training or extensive experience.
About
Software Maintenance
Software maintenance is the totality of activities required to provide
cost-effective support to a software system.
Activities are performed during the pre-delivery stage as well as the
post-delivery stage. Pre-delivery
activities include planning for post-delivery operations, supportability, and
logistics determination. Post-delivery
activities include software modification, training, and operating a help desk.
How
to use this Document
This document is designed to aid a person with limited knowledge of software
maintenance requirements and methods to plan for software maintenance of a
project or system. This template
may be applied to manual or automated (computer processes) methods and can be
easily implemented by one or more persons.
It is applicable to small, highly critical 10-line software programs and
to programs over 1 million lines of code.
Organizational
Requirements
Maintenance is performed by the developer, a separate maintainer, or by a
third-party organization. It is
important that the organization responsible for maintenance be identified in
writing with full responsibilities. The
Maintenance Plan accomplishes this. The
maintainer should develop the Maintenance Plan as well as the supporting
procedures. Since software
maintenance activities invoke the use of organizational resources, it is
recommended that the highest level of management in the organization approves of
this undertaking and approves the final version of the plan and the procedures.
Other functions that should also review and approve this plan include
Software Quality Assurance, Software Engineering, Software Testing, Project
Management (when applicable), the organization’s Software Configuration
Management Function (when applicable), and the customer (when applicable).
This
template’s illustrative text is designed for use as is, by stripping the
tutorial notations underlined in the text.
The text can also be modified for requirements and guidance to meet
organizational needs, and unique environments.
It is not a requirement to use the paragraph numbers contained in this
document and additional comments are encouraged whenever appropriate to fully
comply with an organization’s specific requirements. This template is applicable to all types of software from
information technology, commercial, scientific, and other non-business
applications (such as creating a complex web site). The user of this template should spell out all of the issues
that are prevailing regarding the need for software maintenance prior to
tailoring the template to ascertain that all such organizational issues are
addressed.
·
ISO/IEC
12207:2008, Systems and software
engineering - Software life cycle processes
·
ISO/IEC 14764:
2006, Software Engineering – Software
Life Cycle Processes - Maintenance
USA Standards – (International application)
·
IEEE Std 14764:
2006, Software Engineering – Software
Life Cycle Processes - Maintenance
Template
for a Software Maintenance Plan
Enter
the Company/Organization Name
Software Maintenance
Plan
Enter
the Program/Project Name or Product Name
Enter
date prepared/approved
Enter
version/revision number
Enter
contact reference
(Example:
Company ABC
Software
Maintenance Plan
System
XYZ
Date
Prepared: 9-1-2006
Date
Approved: 10-1-2006
Version
1.0
Contract
XYZ
Enter
“prepared by” name and the names of approving managers)
Approved by
Mary Smith,
Director of Operations)
|