s3 m :model to evaluate and :model to evaluateand improve...

47
Otto-von-Guericke Universität Magdeburg (S3 m ) : Model to Evaluate and Improve the Quality of Software Maintenance Process ( ( S3 S3 m m ) ) : : Model to Model to Evaluate Evaluate and and Improve Improve the the Quality Quality of Software of Software Maintenance Maintenance Process Process Alain April Alain April Otto von Guericke University of Magdeburg, Germany Otto von Guericke University of Magdeburg, Germany With the cooperation of With the cooperation of É É cole de Technologie Sup cole de Technologie Sup é é rieure de Montr rieure de Montr é é al, Canada al, Canada

Upload: others

Post on 15-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

Otto-von-Guericke

Universität Magdeburg

(S3m) : Model to Evaluate and Improve the Quality of Software

Maintenance Process

((S3S3mm) ) :: Model to Model to EvaluateEvaluate and and ImproveImprove the the QualityQuality of Software of Software

Maintenance Maintenance ProcessProcess

Alain AprilAlain AprilOtto von Guericke University of Magdeburg, GermanyOtto von Guericke University of Magdeburg, Germany

With the cooperation ofWith the cooperation ofÉÉcole de Technologie Supcole de Technologie Supéérieure de Montrrieure de Montrééal, Canadaal, Canada

Page 2: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

2Otto-von-Guericke

Universität Magdeburg

Overview

� Research questions� Part 1 – Related work in software

maintenance� Part 2 – Related work in software engineering

maturity models� Part 3 – Proposed process model� Part 4 – Validation, conclusions and future

work

Page 3: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

3Otto-von-Guericke

Universität Magdeburg

Research questions

2- Are the unique processes of software maintenance well reflected in the current international standards?

1- Is software maintenance a specific domain of software engineering? If so, what are its specific processes and activities?

3- Is there an existing maturity model proposal that covers the entire set of software maintenance unique activities?

4- What would be the proposed architecture of a capability maturitymodel that could address the entire set of software maintenance unique activities?

5- Can the model be expressed formally and how can it be used in practice to support the improvement of software maintenance?

Page 4: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

4Otto-von-Guericke

Universität Magdeburg

Part 1 – Related work in software maintenance

Page 5: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

5Otto-von-Guericke

Universität Magdeburg

2- Modification requests are reviewed and assigned priorities, often at the operational level – most do not require senior management involvement;

1 - Small maintenance?

1- Modification requests come in more or less randomly, and cannotbe accounted for individually in the annual budget planning process;

3-The maintenance workload is not managed using project management techniques, but rather queue management techniques;

4-The size and complexity of each small maintenance request are such that it can usually be handled by one or two maintenance resources; ISBSG and UKSMA � 5 days or less

5- Priorities can be shifted around at any time, and requests for corrections of application errors can take priority over other work in progress.

Page 6: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

6Otto-von-Guericke

Universität Magdeburg

Top 10 issues by priority [Parik02 and Dekleva92]

1 Managing changing priotities2 Inadequate testing techniques3 Difficulty of measuring performance4 Absent and/or incomplete software documentation5 A large backlog of requests6 Difficult to measure the maintenance team contribution to

the organization7 Low morale of maintenance personnel8 Not many professionnals in the domain9 Little methodology, few standards, procedures and tools

specific to maintenance10 Source code in existing software is complex and

unstructured

1 – Issues of maintenance

Page 7: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

7Otto-von-Guericke

Universität Magdeburg

1 – New body of knowledge

Co-edited: SWEBOK chapter 5 -> Software Maintenance (www.swebok.org)

Fundamentals: Definitions,need, nature and costsKey Issues: Technical,management and measurementMaintenance Process: Processes and activitiesTechniques for maintenance:

Program comprehension and impact analysis

Page 8: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

8Otto-von-Guericke

Universität Magdeburg

1 - Need for S3m

�CMM and CMMi focus� Software Development and Maintenance Projects� Teams of developers

�Software Maintenance Specific Processes(SWEBOK):� Transition� Service Level Agreements� Acceptance/Rejection of Change and Corrective Requests� Planning Maintenance activities� Supporting operational software

Page 9: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

9Otto-von-Guericke

Universität Magdeburg

Part 2 – Related work in software engineering maturity models

Page 10: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

10Otto-von-Guericke

Universität Magdeburg

2- How to build a maturity model

1Understand

the knowledge area

2Look in references to find processes, activities and best

practices

3Look for an

Architecture to create domains and

KPAs

4Decide practices to be included in the model and their maturity level

5 Build or Refine the model

Architecture

6 Pre and Post validate the

model

8 Improve model as necessary

3

333

7 Review the results with

sponsors and experts

Page 11: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

11Otto-von-Guericke

Universität Magdeburg

� Contains the essential elements of effective processes for sofware related activities

� Contains a framework that provides the ability to generate multiple models and associated training and assessment materials. These models may represent: � software and systems engineering� integrated product and process development� new disciplines� combinations of disciplines

� Provides guidance to use when developing processes

2- Why the CMMi Architecture?

Source P.Croll: 14th Annual DoD Software Technology Conference - IEEE-Sponsored Track -1 May 2002Source P.Croll: 14th Annual DoD Software Technology Conference - IEEE-Sponsored Track -1 May 2002

Page 12: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

12Otto-von-Guericke

Universität Magdeburg

2- What current MM could help?

Year Software Engineering CMM proposals

1991 Bootstap1992 Trillium1993 CMM©1994 Camélia, automated testing (Kra94)1996 TMM (Bur96), Zit96, Dov961997 Som971998 Esi98, Top98, Baj981999 Wit99, Vet99, Sch992000 Cob00, Str00, Bev00, Lud002001 Kaj01d & 01e, Ray01, Sch01, Luf01, Tob01, Sri012002 CMMi©, Nie02, Mul02, Vee02, Pom02, Raf02, Sch02, Ker02, Cra022003 Sche03, Wid03, Rea03, Dui03, Nas03, Usd03

Page 13: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

13Otto-von-Guericke

Universität Magdeburg

Framework

� Zitouni/Abran Software Maintenance Model

� Camélia model� CM3 Corrective Maintenance

Maturity Model� ITIL Service Delivery and

Service Support� IT Service CMM� Cobit� Malcolm Baldrige

� ISO/IEC 15504 (Spice)� ISO/IEC 12207, Information

Technology Software Life Cycle Processes

� ISO/IEC 14764, Software Engineering, Software Maintenance

� IEEE 1219, Standard for Software Maintenance

� ISO9001:2000 (using 9003:2004)

CMMI© Software Eng. v1.1

Process Area/Specific Practice

Standards

Best Practice guides

and Maturity Models

2- Key References used

Page 14: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

14Otto-von-Guericke

Universität Magdeburg

2- Chosen based on criteria

Model Criterion

1

Criterion

2

Criterion

3

Criterion

4

CMMi [Sei02] Yes Yes Yes Yes

ISO9001:2000 Interpretation [Iso00, Llo01] Yes Yes Yes Yes

Zitouni [Zit96] Yes No No Yes

CM3 [Kaj01] Yes Yes Yes Yes

Bootstrap [Boo91] No Yes No Yes

TeleSpice and R-Spice [Esi98b] No No No No

Trillium/Camélia [Cam94, Tri96] Yes No Yes Yes

Checklist Testing Maturity Model [Vee02] No No No Yes

Testing Maturity Model [Bur96] No Yes Yes Yes

Maturity Model (Automated Testing) [Kra94] No No No No

Outsourcing Management Maturity Model

[Raf02]

No No No Yes

IT Service Capability Maturity Model [Nie04] Yes Yes No Yes

Business-IT Alignment Maturity Model

[Luf01]

No No No Yes

IT Management, Control and Audit Maturity

[Cob00]

Yes Yes No Yes

Change Management Capability Model

[Baj98]

No No No Yes

Publicly available, detailed, alive, all industriePublicly available, detailed, alive, all industrie

Page 15: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

15Otto-von-Guericke

Universität Magdeburg

Part 3 – Proposed process model

Page 16: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

16Otto-von-Guericke

Universität Magdeburg

Standards, are consensus-based documents that codify best practice. Consensus-based standards have seven essential attributes that aid in process engineering. They:

• represent the collected experience of others who have been down the same road,

• tell in detail what it means to perform a certain activity,• can be attached to or referenced by contracts,• help to assure that two parties have the same meaning for an engineering activity,

• increase professional discipline,• protect the business and the buyer,• improve the product.

3 - Standards used in S3m

Source P.Croll: 14th Annual DoD Software Technology Conference - IEEE-Sponsored Track -1 May 2002Source P.Croll: 14th Annual DoD Software Technology Conference - IEEE-Sponsored Track -1 May 2002

Page 17: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

17Otto-von-Guericke

Universität Magdeburg

� Contains the essential elements of effective processes for sofware related activities

� Contains a framework that provides the ability to generate multiple models and associated training and assessment materials. These models may represent: � software and systems engineering� integrated product and process development� new disciplines� combinations of disciplines

� Provides guidance to use when developing processes

3- CMMi structure in S3m

Source P.Croll: 14th Annual DoD Software Technology Conference - IEEE-Sponsored Track -1 May 2002Source P.Croll: 14th Annual DoD Software Technology Conference - IEEE-Sponsored Track -1 May 2002

Page 18: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

18Otto-von-Guericke

Universität Magdeburg

Software Development

InitialTransition

SupportDevelopment projects 2

ApplicationSoftware

Maintenance

ApplicationSoftware

Maintenance

ApplicationSoftware

Maintenance

ApplicationSoftware

Maintenance

ApplicationSoftware

Maintenance

Software

Maintenance

Infrastructure

and Operations

Infrastructure

and Operations

3

Infrastructure

and Operations

Infrastructure

and Operations

Infrastructure

and Operations

Computer

Operations

ProblemResolutioncommunications

3

3- S3m context (Scope)

Status

1Help Desk

Customers

and Users

problem tickets

Service Level Agreement,Maintenance services

failure Request

Suppliers

4

Page 19: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

19Otto-von-Guericke

Universität Magdeburg

3- S3m Maintenance Processes O

per

ati

on

al

Pro

cess

es

Issue and Request

Management

VersionRestartandUpgrades

Operational

SupportService

CorrectiveService

Evolutive

Services

Production

Surveillance

Op

era

tion

al

Pro

cess

es

Issue and Request

Management

Event and Service

Request

Management

Versionsand

Upgrades

Operational

SupportService

CorrectiveService

Evolutive

Services

Operational

Support

Corrections

Evolutions

Monitoring

Control

Software Evolution

Engineering

and

Op

era

tion

al

Pro

cess

es

Issue and Request

Management

VersionRestartandUpgrades

Operational

SupportService

CorrectiveService

Evolutive

Services

Production

Surveillance

Op

era

tion

al

Pro

cess

es

Predelivery

and

Transition

Issue and Request

Management

Event and Service

Request

Management

Changes

Monitoring

Operational

SupportService

CorrectiveService

Evolutive

Services

Operational

Support

Corrections

Evolutions

Rejuvenation,

Retirement

Software Evolution

Engineering

Migration,

Op

s. S

up

po

rt

Pro

cess

es

MaintenanceTraining

MaintenancePlanning

Causal

Analysis andProblem

Resolution

SoftwareRejuvenation

and Retirement

Verification

- Validation

Op

s. S

up

po

rt

Pro

cess

es

MaintenanceTraining

MaintenanceTraining

MaintenancePlanning

MaintenancePlanning

Causal

Analysis andProblem

Resolution

SoftwareRejuvenation

and Retirement

SoftwareRejuvenation

Migration Retirement

Verification

- Validation

Verification

- Validation

Op

s. S

up

po

rt

Pro

cess

es

MaintenanceTraining

MaintenancePlanning

Causal

Analysis andProblem

Resolution

SoftwareRejuvenation

and Retirement

Verification

- Validation

Op

s. S

up

po

rt

Pro

cess

es

MaintenanceTraining

Configuration

and Version

Management

MaintenancePlanning

Documentation

Causal

Analysis andProblem

Resolution

SoftwareRejuvenation

and Retirement

Verification

and

ValidationQuality

Assurance

Process and

Product

Process and

ProductReviews

and Audits

MeasurementProcess Purchasing

and HumanResources

Org

an

iza

t .

Pro

cess

es Measurement

Management

ProcessProcess

Improvement

Purchasing and HumanResources

Org

an

iza

t .

Pro

cess

es

Configuration

SoftwareDefinition andand Analysis

Maintenanceof

MeasurementProcess Purchasing

and HumanResources

Org

an

iza

t .

Pro

cess

es Measurement

Planning

Process

Improvement

Human

Resources

and Training

Org

an

iza

t .

Pro

cess

es

MaintenanceDefinition andand Analysis

Maintenanceof

Innovation

and

Deployment

Purchasing,

Supplier

Agreement

and SLA

Management Improvement

Page 20: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

20Otto-von-Guericke

Universität Magdeburg

� This process model was presented to ISO/IEC 14764 to be used to update the current process model. Their answer was:

‘This comment is out of scope with the NWI which is tomerge the content of the IEEE 1219 into ISO/IEC 14764. This comment will be placed in a "deferred comment database" for the future revision.’

3- Proposal to ISO/JTC1 SC7

Page 21: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

21Otto-von-Guericke

Universität Magdeburg

3- Alignment to CMMi Arch.

SMCMM Process Domains

Process Management

Maintenance Request

Management

Evolution Engineering

Support to

Evolution

Engineering

S3m Process Domains

Process Management

Maintenance RequestManagement

Evolution Engineering

Support toEvolution

Engineering

CMMi Process Domains

Process Management

Support

Project Management

Engineering

CMMi Process Domains

Process Management

Support

Project Management

Engineering

Page 22: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

22Otto-von-Guericke

Universität Magdeburg

3 - S3m – Resulting KPA’s

Key Process Areas of Software MaintenanceKey Process Areas of Software Maintenance

1-Maintenance ProcessFocus2-Maintenance Process/Service definition3-Maintenance Training4-Maintenance ProcessPerformance5-Maintenance Innovation anddeployment

1-Maintenance ProcessFocus2- Maintenance Process/Service definition3- Maintenance Training4- Maintenance Process Performance5- Maintenance Innovation and deployment

1-Request& Event Management2-Maintenance Planning3-Monitoring & Control ofmaintenance requests4-SLA & Supplier Management5-

1- Request & Event Management2- Maintenance Planning3- Monitoring & Control of maintenance requests4- SLA & Supplier Management

1-Transition2-OperationnalSupport3-Evolution & Correction ofsoftware4-VerificationandValidation

1- Predelivery and Transition2- Operational Support Services3- Software Evolution & Correction Services 4- Verification and Validation

1-Configuration Management2-ProcessandProductQualityAssurance3-Measurement, Decision Aanalysis4-4-Rejuvenation/Retirement Engineering

1- Configuration and Version Management2- Process and Product Quality Assurance3- Measurement, Decision Analysis4- Problem Resolution and Causal Analysis5- Software Rejuvenation, Migration and Retirement

SMCMM Process Domains

Process Management

Maintenance Request

Management

Evolution Engineering

Support to

Evolution

Engineering

S3m Process Domains

Process Management

Maintenance RequestManagement

Evolution Engineering

Support toEvolution

Engineering

Page 23: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

23Otto-von-Guericke

Universität Magdeburg

Part 4 – Validation (Pre-Release and Post-Release)

Page 24: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

24Otto-von-Guericke

Universität Magdeburg

Pre-release validation

�Formalise some components of software maintenace maturity model [Wang 2000]

�Use the notation proposed by [Dumke 2005]

�Software Product Maintained�Software Maintenance Process/Activities�Software Maintenance Resources

Page 25: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

25Otto-von-Guericke

Universität Magdeburg

Software Maintenance Ontology

SoftwareMaintenance

SoftwareProduct

SizeAgeMaturityCompositionApplication typeQuality caract.

MaintenanceProcesses

TypeInputOutcomePerformanceQuality caract.

MaintenanceResources

TypeDescriptionRequirementsPerformanceQuality caract

SoftwareMaintenance

SoftwareProduct

SizeAgeMaturityCompositionApplication typeQuality caract.

MaintenanceProcesses

TypeInputOutcomePerformanceQuality caract.

MaintenanceResources

TypeDescriptionRequirementsPerformanceQuality caract

Kitchenham et alKitchenham et al

Page 26: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

26Otto-von-Guericke

Universität Magdeburg

Software product ontology

Page 27: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

27Otto-von-Guericke

Universität Magdeburg

Software product formalizationAt first, we define the software product as a (software) system as: SP = (MSP, RSP) =(artefacts, RSP) (1)(1)(1)(1)

= ({programs, documentations}, RSP)

where the two sets are divided in the following elements

programs ⊆ {sourceCode, objectCode, macro, plugIn} (2)(2)(2)(2)

documentations = (3)(3)(3)(3)

{userManual, referenceManual, developmentDocumentation} and RSP describes the set of the relations over the SP elements.

Page 28: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

28Otto-von-Guericke

Universität Magdeburg

Software product formalization

The given subsets could be described as follows:

developmentDocumentation = {documentationElements} (4)(4)(4)(4)

={productRequirements,productSpecification,productDesign,implementationDescription}

documentationElements ⊆ {model, chart, architecture, diagram, estimation, review,audit, verificationScript, testCase, testScript, pseudoCode, extensionDescription, qualityReport } (5)(5)(5)(5)

productRequirements = systemRequirement ⊆ {functionalRequirements, qualityRequirements,platformRequirements,processRequirements} (6)(6)(6)(6)

We define software products formally using this approach

Page 29: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

29Otto-von-Guericke

Universität Magdeburg

Maintenance Process Ontology

Modification

ImprovementCorrection

Changing Requirements

Preventing Problems Changing Implementation

Maintenance

Investigation Activity

Retirement

Eliminating Problems

Page 30: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

30Otto-von-Guericke

Universität Magdeburg

Maint. Process formalization

SM=(ASM,RSM)= ({maintenanceActivity, (7)(7)(7)(7)maintenanceResources} ∪ SP)

Therefore, we can define the software maintenance Therefore, we can define the software maintenance Therefore, we can define the software maintenance Therefore, we can define the software maintenance resources resources resources resources SR as follows:as follows:as follows:as follows:

SR = (M= (M= (M= (MSRSRSRSR, R, R, R, RSRSRSRSR) ) ) ) = ({= ({= ({= ({peoplewareResourcespeoplewareResourcespeoplewareResourcespeoplewareResources, , , , (12)(12)(12)(12)softwareResourcessoftwareResourcessoftwareResourcessoftwareResources, , , , platformResourcesplatformResourcesplatformResourcesplatformResources}, R}, R}, R}, RSRSRSRSR))))peoplewareResourcespeoplewareResourcespeoplewareResourcespeoplewareResources = = = = (13)(13)(13)(13){maintainer, analyst, developer, customer, user}{maintainer, analyst, developer, customer, user}{maintainer, analyst, developer, customer, user}{maintainer, analyst, developer, customer, user}We define software maintenance resources formally using this approach

Page 31: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

31Otto-von-Guericke

Universität Magdeburg

Maint. Process formalization

SM=(ASM,RSM)= ({maintenanceActivites, maintenanceResources} ∪ SPM,RSM)

Where:maintenanceActivities = {investigationActivity, modification,

retirement} (9.11)(9.11)(9.11)(9.11)

modification = {corrective, improvement} (9.12)(9.12)(9.12)(9.12)

improvement = {adaptive, perfective, preventive} (9.13)(9.13)(9.13)(9.13)

Page 32: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

32Otto-von-Guericke

Universität Magdeburg

Maint. Process formalization

The definition of a corrective service can be expressed as the requirements identified on a specific SSSSupport RRRRequest that describes what has to be corrected = correctiveRequirements with the use of the operational corrective workflow resulting in a software that is corrected:

r ∈ RSM: SPm

× correctiveRequirements (9.15)(9.15)(9.15)(9.15)

× maintenanceCorrectionWorkflow → SPm

(corrected)

We define software activities, resources and product formally using this approach

)( corrective

SM

Page 33: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

33Otto-von-Guericke

Universität Magdeburg

Maintenance Resource Ontology

administrator

PeoplewareResources

Analyst

Designer

Maintenance Human Resources

Client Human Resource

SystemProgrammer

User Customer

Maint Engineer Maint Manager

SE-Communities

MaintenanceResources

SoftwareResources

COTS ICASE

UCase

CARE CAME CASE

LCase

PlatformResources

administrator

PeoplewareResources

Analyst

Designer

Maintenance Human Resources

Client Human Resource

SystemProgrammer

User Customer

Maint Engineer Maint Manager

SE-Communities

MaintenanceResources

SoftwareResources

COTS ICASE

UCase

CARE CAME CASE

LCase

PlatformResources

Page 34: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

34Otto-von-Guericke

Universität Magdeburg

Typical Post-release validation

� ISO/IEC 15504 (SPICE) - 1994� 35 Case studies (20:Europe, 14:Pacific Rim and 1: Canada);� Questionnaires (3), rating forms & report (3);� Demographic Analysis and questionnaire analysis.

� IT Service CMM (Dr. Niessink) – 2000� 2 case studies (a quick scan, a 3 day on-site assessment);� Questionnaires analysis, KPA discussions.

� CM3 Corrective maint. MM (Dr. Kajko-Mattsson) - 2001� 17 case studies (14 non-ABB, 3ABB);� Checked if the CM3 proposed processes are present or absent ex: 14/17 document their problem management process;

Page 35: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

35Otto-von-Guericke

Universität Magdeburg

4 – Post-Release Validation

V&V1

Zitouni & Abranmodel

1995

Camélia

Maturity

Model

Maintenance

Experts

Zitouni & Abranmodel

1995

Maturity

Model

Maintenance

Experts

1999

SMmm v1.0model

ISO/IEC 14764

IEEE 1219

ISO/IEC 12207

V&V2

1999

S3m v1.0

model

ISO/IEC 14764

IEEE 1219

ISO/IEC 12207

V&V2

2002

CobiT

Malcolm-Baldrige

Update of theSMmm v1.5

model

ITIL

CMMi

V&V3

-Baldrige

mm

2002

CobiT

Malcolm

Update of theS3m v1.5

model

ITIL

CMMi

V&V3

2005

Update of theSMmm v2.0

model

CM3

IT Service CMM

Swebok

2005

Update of theS3

m v2.0model

CM3

IT Service CMM

Swebok

Trial in Canadian

telcomm. Case studies in Middle

east telecomm.

Last update with conclusions

of this thesis

Page 36: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

36Otto-von-Guericke

Universität Magdeburg

Page 37: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

37Otto-von-Guericke

Universität Magdeburg

4 – S3m Experimentation

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Matu

rity

Level

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Matu

rity

Level

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Matu

rity

Level

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Matu

rity

Level

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

� Consolidated Maturity Profile for Level 1 and 2 maturity

Page 38: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

38Otto-von-Guericke

Universität Magdeburg

4 – Middle-East Case Studies� S3m (April)

� 4 model V&V steps since 1999;� Experiment with 3 Case studies (Telecommunications Cie);� Four 3 days assessments with assessment plan;� Use the model, 1 context form & 1 observation/problem report form� Output:

� Consolidated Maturity Profile for Level 1 and 2 maturity;� Identification of 3 company process improvement projects;� Model improvement list.

� 3 Improvement Projects– 2000-2 (Published Results)1) Maintenance Process Measurement;2) Definition of a Maintenance Service Level Agreement (SLA);3) Software Product Measurement (source code measures).

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Ma

turi

ty L

ev

el

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Ma

turi

ty L

ev

el

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Ma

turi

ty L

evel

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

1

Managed

Processmanagement

Requestmanagement

EvolutionEngineering

Support toEvolution

Engineering

Performed

Ma

turi

ty L

evel

SM

MM

2

FullyAchieved

LargelyAchieved

Partiallyachieved

Notachieved

12

Page 39: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

39Otto-von-Guericke

Universität Magdeburg

4 – S3m Case Studies� Model strenght and weaknesses

Rank Comments +/-

1 There are important areas that the

model does not address (ITIL, Cobit

and Malcolm Baldrige)

-

2 The model accurately portrayed the

process state of the organization

+

3 The model was useful for identifying

what has to be improved

+

4 Model has too many practices to be

used in a small maintenance

organization

-

5 Some KPAs have too many practices

in order to achieve the level

-

Page 40: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

40Otto-von-Guericke

Universität Magdeburg

Conclusions of research questions

2- Current Standards lack specific maintenance processes. We have made a proposal to ISO/IEC 14764 for a new process model.

1- Software maintenance is a specific domain of software engineering and its specific processes/activities are published in SWEBOK.

3- No maturity model proposal covers the entire set of software maintenance unique activities as proposed by SWEBOK.

4- We have presented the proposed architecture of a capability maturity model that could address the entire set of software maintenance unique activities.

5- We have validated the model and shown how the model was used in practice to support the improvement of software maintenance.

Page 41: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

41Otto-von-Guericke

Universität Magdeburg

Future Work

� Full model release in a French Book – February 2006

� Discussions on the English/German versions

� Evaluation tool built by Msc student

� Knowledge Based to support training

� Progress is posted on my WEB site at: Http://profs.logti.etsmtl.ca/aapril/English/Autres/index.html

Page 42: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

42Otto-von-Guericke

Universität Magdeburg

SMAssess tool

11 22

33

Page 43: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

43Otto-von-Guericke

Universität Magdeburg

SMAssess tool

44

Page 44: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

44Otto-von-Guericke

Universität Magdeburg

SMAssess tool

55

Page 45: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

45Otto-von-Guericke

Universität Magdeburg

Related Publication1- Software Measurement Conference (FESMA-AEMES), Madrid, Spain,

October 18-20, 2000.2- Fourth European Software Measurement Conference (FESMA2001),

Technologish Instituut vzw, Heidleberg, Germany, 2001.3- Internal Technical Report 02-001, Montréal, ÉTS Software Engineering

Laboratory, 10-11-2002.4- Internal Technical Report 02-002 , Montreal, ÉTS Software Engineering

Laboratory, 30-12-2002. 5- 13th International Workshop on Software Measurement – IWSM

Montréal (Canada), 2003.6- 11th International Workshop on Software Technology and Engineering

Practice - STEP 2003, Amsterdam, Sept. 2003.7- Maintenance Journal, 17(1), February 2004.8- Preprint, Faculty of Informatic, University of Magdeburg, November 2004.

Page 46: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

46Otto-von-Guericke

Universität Magdeburg

Related Publication9- (IASTED 2004) conference on Software Engineering, Innsbruck (Austria),

Feb. 16-19, 2004.10- 8th European Conference on Software Maintenance and Reengineering

(CSMR2004). Tampere (Finland), Mar. 24-26, 200411- Conference on Process Assessment and Improvement, Critical Software

SA, (SPICE2004). Lisbon, Portugal, Apr. 27-99, 200412- International Conference on Software Measurement (IWSM/MetriKon

2004), Königs Wusterhausen, Germany, 2004;13- Maintenance and asset management journal, Conference

Communication, Surrey, England, 20(2):Summer 2005:32−37.14- Journal of Software Maintenance and Evolution: Research and Practice,

17(3): May/June 2005:197−223.15 - Guide to the Software Engineering Body of Knowledge - Iron Man

version – SWEBOK, IEEE Computer Society Press, 2005.16- 15th International Workshop on Software Measurement (IWSM2005),

September 12-14, Montréal, Canada, 2005:95−102.

Page 47: S3 m :Model to Evaluate and :Model to Evaluateand Improve ...s3.amazonaws.com/publicationslist.org/data/a.april/ref-196/pres-1108.pdfmerge the content of the IEEE 1219 into ISO/IEC

47Otto-von-Guericke

Universität Magdeburg

Related Publication17- InformationTechnology Conference 2005, Statistics Canada, Ottawa,

Canada, April 6-7 2005.18- 7th International Conference on Enterprise Information Systems

(ICEIS2005), May 24-28, Miami Florida, USA, 2005:142−147.19- Maintenance and asset management journal, Conference Communication,

Surrey, England, 20(2):Summer 2005:32−37.

Accepted

20 -The Fifth IASTED International Conference on Web-Based eduscation, Puerto-Vallarta, Mexico, January 23−25, 2006.

21 - Amélioration de la maintenance du logiciel, developed for a M.Eng. course book, to appear, Loze-Dion publisher, Longueuil, Canada, 2006.