Professional Documents
Culture Documents
A CASE STUDY
Andrius Adamonis
andrius.adamonis@maf.vu.lt
INTRODUCTION
This study started as an attempt to summarize the practical experience gained in several projects where user
support was the key element of software development and maintenance activities. As it appeared practically, user
support played the major role determining user satisfaction with the information system implemented, sometimes
even more important than the functionality of the systems. On the other hand, maintenance and user support
activities should follow strictly defined process in order to make them manageable. At this stage industry best
practice might become handy. However, generic models, as they aimed at more wide applications, are not always
straightforward to implement.
The scope of this study is user support and maintenance processes that could be described as activities, which are
performed during software operation phase, but are more of service nature, i.e. directed at providing user support
and software maintenance rather than operation of software, or, in other words, which provide support to users by
assisting them to use the software and modifying software in order to keep it corresponding to changing users
requirements.
Define elements of the user support and maintenance process following the baseline processes from widely
accepted standards ISO12207 and ISO15504, but to more detail and concreteness, as applicable to user support
and maintenance processes,
Present a case study of the user support and maintenance process implementation at a large and highly
computerized industrial company, which undertakes software development and maintenance activities for its
own needs. The case study will present the user support and software maintenance process as it is
implemented in a real organization using the terminology conforming to internationally accepted standards.
The case is believed to be mature, which is makes it worth to be investigated and generalized in order to share
experience and best practice. Moreover this paper targets to factorize the process into its basic elements in
order to categorize process elements into basic and more advanced ones therefore making a way for process
capability improvement.
A note on terminology: this paper uses terms software and software system (or just system) interchangeably. Term
base process is used to name the underlying technological process, i.e. base practices that compose the process
of making product; in the case of user support process product is user support service, in the case of maintenance it
is the problem resolutions and modifications to the software maintained. Base process activities are also called
base practices.
1
USER SUPPORT AND MAINTENANCE PROCESS MODEL FRAMEWORK
The international standard ISO/IEC 12207:1995 establishes a common framework for software life cycle
processes, with well-defined terminology. Among others it also contains processes, activities and tasks that are
applied during the operation and maintenance of software products (ISO12207, 1995).
ISO/IEC 15504:1998 (also known as SPICE) defines a set of universal software engineering processes that are
fundamental to good software engineering and that cover best practice activities. The reference model describes
processes that an organization may perform to acquire, supply, develop, operate, evolve and support software, and
the process attributes that characterize the capability of those processes (ISO15504, 1998; SPICE, 1997).
As ISO15504 is harmonized with ISO12207, the process and activities are grouped similarly. Let us introduce
those processes and activities that are relevant to performing user support and maintenance activities. The table
also provides the mapping between ISO12207 and ISO15504 activities, as given in ISO15504, 1998, part 2:
2
According to ISO12207, user support and maintenance activities are linked to other processes (most often employ
other processes); the major dependencies are presented in the table below:
The model presents two processes: User Support and Maintenance. Model outline consists of activities, tasks and
subtasks going to detail. On higher levels model elements coincide with those that are presented in ISO12207,
however on more detailed levels, original wording is given (as it is absent from the standards). Where activity or
tasks wording matches those that in ISO12207 standard, the process or activity number from ISO12207 is given in
the second column. Also, mapping to equivalent or similar activities or tasks from ISO15504 model, where
matching exists, is given in the last column.
Where applicable, work products are presented following the wording of ISO15504 and leaving the original work
product number; this conforms to both SPICE versions, where work product codes have not changed between the
versions). If a new work product is introduced, two asterisks instead of the number are given (**).
3
Table 3. Process Model
**) Support
procedures
**) Knowledge DB
U1.3. Review user support process 52) Customer **) Support CUS.4.2.
requirements strategy/plan BP3
*
Titles of the base practices are given in the Table 1.
4
Table 3. Process Model (cont)
Process, activity, task ISO Input Output ISO
12207 15504
M Maintenance 5.5
M1. Process implementation. 5.5.1
5
CASE STUDY
The case study presents user support and maintenance process implementation in a large commercial company that
operates a number of large and diverse computerized systems to support its business. The company has a large
division to operate and maintain the systems. User support and maintenance process is established: there are
clearly defined roles, responsibilities, tasks, and work products.
The high-level process model is presented in the diagram below. The circles denote subprocesses that constitute
the user support and maintenance process, arrows show data flow between subprocesses.
Additional
Information
Defect
User Development System
Description
Work Release
Task Package
Approved
Change Change Planning/ Configuration
Change Release
Request Management approval Management
Request
Release Package
Release Package
User
Acceptance
Test Testing
Management Problem Testing
Report
Figure 1. High-level User Support and Maintenance process diagram Comentado [AA2]: Mapping:
Process, activity, task ...
Subprocesses in the diagram are:
Help Desk Provides first line support to system users: handles incoming reports, registers
incidents (trouble tickets), and provides feedback about resolved issues.
Problem Resolution Provides second line support: provides work-arounds or resolutions to issues
reported by users, registers problem resolutions in the knowledge database, in
case of system defect, registers defects in the defects database and forwards to
the development process.
Change Management Receives change requests from users, initiates change request implementation
analysis, tracks and reports status of accepted change requests.
Planning/approval Plans maintenance tasks: sets priorities for defect fixing and requested change
implementation and plans the work.
Development Provides software development workforce to implement required changes in
the system: performs development life cycle: analysis, design and
development of changes.
Testing Performs tests of the pending changes from the development process, raises
issues, if found in the modified system, rejects or approves new releases.
User Acceptance Testing Performs user acceptance testing, raises issues in the modified system from a
system user perspective, rejects or approves new releases.
Configuration Management Performs configuration management of system components: manages register
of maintained systems, tracks changes in the systems, releases changes from
development process across environments.
Management Manages the support and maintenance organization: sets organization
priorities, business and technology strategy, tracks and manages support and
maintenance performance.
6
In order to prove adequacy of the model to process in practice, the linking between two models is investigated.
The three subprocesses were selected: Help Desk, Problem Resolution and Change Management. The next table
illustrates how the work procedure for the selected subprocesses is matched with the elements of the model
investigated:
Procedure Work Products (indirect WP) Mapped element from the model
Help Desk
1. Accept incoming call/email U2.3a Accept incoming request
2. Register in the database Trouble ticket U2.3b Determine request type
U2.3c Document request
3. If service request, fulfill the request and Problem resolution, U2.1 Train users
inform user. Call/email U2.2 Resolve operational issues
U2.3f Communicate user
4. If problem report, search Knowledge db Work-around, Call/email U4. Communicate work-arounds
for work-around and report to user.
5. Assign problem to specialist. Problem report U2.3d Route to resolution provider
5. Inform the user that action will be taken. Call/email U2.3f Communicate user
6. Inform the user, when the problem is Problem resolution, U2.3f Communicate user
resolved. Call/email
Problem Resolution
1. Provide and document temporary work- Work-around U4.1 Document work-arounds
around for the problem
2. Resolve reported problem Problem resolution U2.2 Resolve operational
problems
3. Document problem resolution in the Problem resolution U2.3e Document resolution
Knowledge db U3.2a Update known errors
U3.2b Extend Knowledge db
4. If system defect, document system Defect description
defect
5. Route Defect to Development process Defect description U2.3d Route to resolution provider
6. Periodically review Knowledge db and Problem resolution U3.2a Update known errors
merge, remove and update resolutions U3.2b Extend Knowledge db
Change Management
1. Accept change request from user Change request U2.3a Accept incoming request
U2.3b Determine request type
U2.3c Document request
2. Route to Development for estimates Change request M2.1a Analyze the problem for its
impact.
M2.1c Develop modification
options.
M3.1 Determine modification
scope.
3. Confirm estimates with the user Approved change request M2.1e Approve options
4. Get management approval Approved change request M2.1e Approve options
5. Route to Development to implement Approved change request M3.2 Implement and test
modifications
6. Inform user when change request is Call/email U2.3f Communicate user
implemented
The next page contains the diagram of a graphical mapping between the processes, where organizational process is
represented using the element from the process model.
7
8
Figure 2. Graphical representation of the mapping between process models
CONCLUSION
The presented user support and software maintenance process model introduces key elements (base practices) of
the process. The model is defined in the terms of base practices and their associated work products. The model is
compatible with the ISO12207 standard by its construction.
The model adequacy is proven by presenting a case study of the user support and software maintenance process
implementation in a real organization. The mapping between case study and process model is given, which shows
the adequacy of the model to the case investigated.
This model will serve as a background for the investigation of the user support and maintenance process capability
modeling as defines the base process that will be augmented with capability practices.
REFERENCES
ISO12207, 1995 ISO/IEC. ISO/IEC 12207: Information Technology - Software Life Cycle Processes.
International Organization for Standardization and the International Electrotechnical
Commission, 1995.
ISO15504, 1998 ISO/IEC. ISO/IEC 15504: Information technology Software process assessment, (parts 1-9)
International Organization for Standardization and the International Electrotechnical
Commission, 1998. <URL: http://www.seg.iit.nrc.ca/spice>
SPICE, 1997 ISO/IEC. SPICE Software Process Assessment, version 1.0, (parts 1-9). International
Organization for Standardization and the International Electrotechnical Commission, 1997.
SANTRAUKA
Andrius Adamonis
Doktorantas
iame darbe praktin patirtis, gyta tiriant praktin vartotojo paramos ir program prieiros proces,
apibendrinama ir derinama su visuotinai pripaintais proceso modeliais, ireikianiais geriausi program sistem
krimo praktik.
Darbe pateikiamas vartotojo paramos ir program prieiros bazinio proceso modelis, suderintas su ISO12207 ir
ISO15504 silomais proceso modeliais, naudojant standart silom terminologij, bei vedant papildomus
elementus, kur standartai nra pakankamai detals.
Taip pat darbe nagrinjamas praktinis proceso pavyzdys: pateikiamas organizacijoje naudojamo proceso apraas
bei jo atitikimas straipsnyje silomam modeliui, taip pagrindiant sudaryto vartotojo paramos ir program
prieiros modelio adekvatum realiam organizacijoje vykdomam procesui.