34
Offering Software Maintenance as an Offshore Service Keynote Address by Harry M. Sneed ANECON GmbH, Wien Universität Regensburg 24th International Conference on Software Maintenance ICSM 2008 Beijing, September 2008

Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

  • Upload
    vunhi

  • View
    226

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Offering Software Maintenanceas an Offshore Service

Keynote Address by

Harry M. SneedANECON GmbH, Wien

Universität Regensburg

24th International Conference on Software MaintenanceICSM 2008

Beijing, September 2008

Page 2: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Offering Software Maintenanceas an Offshore Service

1. What is Software Maintenance

2. The Legacy Software Trap

3. Rationale for outsourcing Maintenance

4. Negotiating a Service Level Agreement

5. Establishing a Maint. Infrastructure

6. Setting up a Maintenance Process

7. Automating the Maintenance Process

8. Servicing Multiple Customers

9. International Competition for OutsourcedSoftware Services

ICSM2008 Sneed-1

Page 3: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Maintenanceand

evolution

InitialDevelopment

usable?

outdated?

30%

70%

Grave

yes

no

Live Cycle of a Software Productaccording to N. Zwegintzov

ICSM2008 Sneed-21. What is Software Maintenance

Page 4: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Life Cycle of a Software Productaccording to Gerish Parikh

Birth Death

God of conservation

Reencarnation =Recycling

Development Redemption

God of creation

Brahmathe developer

God of re-use

Shivathe reengineer

Vishnuthe maintainer

Hindu teaching of the Holy Trinity

Evolution Conservation

ICSM2008 Sneed-31. What is Software Maintenance

Page 5: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

CnceptionPhase

DevelopmentPhase

EvolutionPhase

ConservationPhase

Redem-ption

Phase

Time

Costs

Birth

Burial

Product Management

Corrections,changes,

Improvements,Enhancements

5%

10%

10%

20%

25%

40%

55%

25%

5%

5%

Corrections,Changes

Phase outDisplacement

FirstRelease

The Software Life Cycle Model

ICSM2008 Sneed-4

according to Bennett and Rajlik

1. What is Software Maintenance

Page 6: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Maintenance Activites

according to Lientz and Swanson

ICSM2008 Sneed-5

Enhancement Change

Perfection Stabilization

FunctionalEvolution

ProgressiveActivities

Stabilization ConservingActivities

1. What is Software Maintenance

Page 7: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

The Legacy Software Trap

• Organization has lost the knowledgecontained in the application and youngdevelopers do not comprehend the code;

• Organization cannot afford to maintain theexisting systems and, at the same time,develop new ones;

• Organization has neither the capacity notthe funds to redevelop the software

• Scientific community has so far offered noreal solution to the problem.

ICSM2008 Sneed-62. The Legacy Software Trap

Page 8: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

48 MillionStatements

80 MillionLOCs

20 %Assembler

20 %PL/I

10 %4GLs

30 %COBOL

10 %C++

10 %Java

Software Profile of a Financial Service Provider

Sneed-7

360Programmers

ICSM20082. The Legacy Software Trap

Page 9: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Metrics from the Legacy Code Base• 7,854 PLI Programs• 13,530 PLI Includes• 17,151 COBOL Programs• 24,712 COBOL Copies• 8,975 Assember Programs• 9,597 Assembler Macros• 3,077 Easytrieve Programs• 3,353 Pseudo Code Modules• 3,270 IMS Datenbanken• 4,416 DB2 Tables• 31,476 IMS-DC Maps• 22,090 JCL Procedures• 2,977 C++ Classes• 1,977 Java Classes

2. The Legacy Software Trap

+--------------------------------------------------------------+| C O D E Q U A N T I T Y M E T R I C S || Number of Sources analyzed =======> 93321 || Number of Source Lines in all =======> 70752999 || Number of Genuine Code Lines =======> 52048897 || Number of Comment Lines =======> 26349104 || S T R U C T U R A L Q U A N T I T Y M E T R I C S || Number of Modules =======> 33616 || Number of Copy/Includes =======> 430028 || Number of Entry Points =======> 102645 || Number of Exit Points =======> 209614 || Number of Sections/Procedures =======> 633900 || Number of Labels/Paragraphs/Code Blocks =======> 1365186 || Number of Reusable Code Blocks =======> 583818 || Number of Data Structures/Objects =======> 2098429 || Number of Reusable Data Objects =======> 778125 || P R O C E D U R A L Q U A N T I T Y M E T R I C S || Number of Statements =======> 42677337 || Number of Macro Statements =======> 591353 || Number of Procedural Statements =======> 22760888 || Number of Convertable Statements =======> 18913227 || Number of Input Operations =======> 88742 || Number of Output Operations =======> 266829 || Number of Foreign Modules called =======> 114236 || Number of Call Statements =======> 644132 || Number of Perform Statements =======> 1738020 || Number of Selections (If & Case) =======> 3567905 || Number of Loop Statements (Until/While) =======> 398877 || Number of GOTO Branches =======> 789364 || Number of all Control Statements =======> 7498184 || Number of Control Flow Branches =======> 7103089 || Number of Literals in Statements =======> 5362729 || Number of Constants in Statements =======> 4723285 || Number of Test Cases required =======> 1173467 || Number of Function-Points =======> 704918 |+--------------------------------------------------------------+

Sneed-8ICSM2008

Page 10: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

009210 VERA. DGREORG009220 IF ANTWORT NOT = '1' PERFORM UPDGSEQ THRU EXDGSEQ DGREORG009230 GO TO AUS-VERA. DGREORG010010 IF ZSTORNO NOT = LOW-VALUE GO TO VERA-DSTNR. DGREORG010020 IF EDSTNR NOT = ZERO GO TO VERA-FEHLER. DGREORG010030 MOVE ESTORNO TO ZSTORNO. DGREORG010040 IF ESTORNO = HIGH-VALUE GO TO VERA-STORNO. DGREORG010050 IF EAUSL = SPACE GO TO VERA-AUSG. DGREORG IF EAUSL = '4' DGREORG010070 MOVE 'D1' TO ASART DGREORG010080 MOVE '05' TO AVSTR DGREORG010090 MOVE ZERO TO AUNR1 DGREORG010100 MOVE EUNR TO AUNR2 DGREORG010110 MOVE EAUSL TO AAUSL DGREORG010120 MOVE EGVTR TO AGVTR DGREORG010130 PERFORM UPHVBAND THRU EXHVBAND DGREORG010140 MOVE SPACE TO EAUSL DGREORG

1 GO TO VERA-AUSG. DGREORG

012190 VERA-DSTNR. DGREORG012200 IF EDSTNR = ZERO GO TO VERA-FEHLER. DGREORG012210 IF ZSTORNO = HIGH-VALUE ADD 1 TO RFANZ (5) DGREORG012220 GO TO AUS-VERA. DGREORG012230 IF ESTORNO = HIGH-VALUE ADD 1 TO RFANZ (5) DGREORG012240 GO TO AUS-VERA. DGREORG013010 VERA-AUSG. DGREORG013020 PERFORM UPDGSEQ THRU EXDGSEQ. DGREORG013030 AUS-VERA. DGREORG013040 PERFORM UPDGALT THRU EXDGALT. DGREORG013050 IF EUNR = ZUNR GO TO VERA. DGREORG013060 GO TO GRBEG. DGREORG013070 VERA-FEHLER. DGREORG013080 DISPLAY 'ORD = ' EUNR EDSTNR UPON CONSOLE. DGREORG013090 STOP 'SATZFOLGE FALSCH PROG. WIRD ABGEBROCHEN' DGREORG013100 STOP RUN. DGREORG EOF-SICHERN. DGREORG

Legacy COBOL Code of Austrian State Pension Fund ICSM2008 Sneed-9

2. The Legacy Software Trap

Page 11: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Status of Information Technology in Germany

According to Chairman of German Software Initiative:• 70% of all business applications are in a legacy

language• Daily more than 30 billion transactions are made with

legacy systems• In Germany 10 billion Euros are spent per year on

the maintenance of legacy systems• The number of COBOL code lines in Germany is

estimated to be 240 billion• To upgrade this code base would cost at least 960

billion Euros, more than the economy can afford• There is no alternative to maintaining this code.

2. The Legacy Software TrapSneed-10ICSM2008

Page 12: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Programmer Distribution according to Capers Jones

Year Programmers in Programmers in % in Maint.

Development Maintenance

1950 90 10 10%

1960 8,500 1,500 13%

1970 65,000 35,000 38%

1980 1,200,000 800,000 40%

1990 3,000,000 4,000,000 57%

2000 4,000,000 6,000,000 60%

2010 5,000,000 9,000,000 64%

2020 7,000,000 14,000,000 67%

2. The Legacy Software TrapSneed-11ICSM2008

Page 13: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Alternate Solutionsto the Maintenance Problem

• Standard Software (ERP)

• Renovation / Reengineering

• Redevelopment

• Outsourcing the Maintenance Operation

• Migration and Wrapping do not solvethe Maintenance Problem, they onlycompound it.

Sneed-12ICSM20083. Rationale for outsourcing Maintenance

Page 14: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

UserDepartment

UserDepartment

UserDepartment

UserDepartment

UserDepartment

Enterprisedata

Host

ChangeRequests

Endless QueueBottleneck

IT-DepartmentSet of disgruntled oldAssembler-, PL/I-, COBOLProgrammers

Adding new functions Changing existing functions

outdated, complex,monolithic, unstructured,intertwined Programs

Complex, hierarchical,interwoven Data structures

Legacy Systems

centralistic,host-oriented,

unflexibleSystems

Overloaded Databases

3. Rationale for outsourcing MaintenanceICSM2008 Sneed-13

Page 15: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

User

IT

Operations

Outsourced

Software

Maintenance

Operation

ServiceLevel

Agreement

Rights

Obligations

Outsourcing as a long range Solution

Sneed-14ICSM20083. Rationale for outsourcing Maintenance

Page 16: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Request for ChangeRegistration, RfC ID

EstimationInfluence, Consequences

Resources, Costs

AuthorizedChange

ImplementationTests und Quality

Assurance necessary

Review afterImplementation

Expectations satisfied?

Change Completion

End

ChangeManagement

CM

DB

Def

init

ive

So

ftw

are

Lib

rary

(D

SL

)

Release Building andSW Distribution

HW Versions withDocumentation

Reports andConfiguration Audits for

Environment Check

Reports aboutaffected Cls,

Documents and Roles

Update of CMRecords

Release of SWfrom DSL UND

Update DSL andCM Records

Check of all CMRecords after

Update

ReleaseManagement

ConfigurationManagement

4. Negotiating a Service Level Agreement

Defining Maintenance Services

ICSM2008 Sneed-15

Page 17: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Points covered in a Maintenance SLA

• Release Intervals (3, 6, 12 months)

• Error correction times (8, 24, 48 hours)

• System recovery times (15, 30, 60 minutes)

• System availability (22 hours a day)

• Maximum error rates (3 errors per kilo Trans.)

• Charging change requests (by impactdomain)

• Charging additional functionality (by FCPT)

• Help Desk Availability (18 hours per day)

4. Negotiating a Service Level AgreementICSM2008 Sneed-16

Page 18: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

APLA

APLB

APLC

Application Areas

User ITOperations

ProjectA

ProjectB

ProjectC

Projects

MaintenanceOperations

NewRequs

ChangeRequs

ErrorReports

Common Workflow Components

Common Service Components

Software Architecture

ProductA

ProductB

ProductC

Maintenance Orders

Software Maintenance Organisation

5. Establishing a Maintenance InfrastructureSneed-17ICSM2008

Page 19: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

SoftwareProduct Management

ProductSupport

Product Maintenanceand Evolution

ProductTest

Config.Mgt.

ProductService

Customer Service

Bug Tracking

Emergency Fixes

Hot Fix Release

Routine Fixes

Changes

Enhancements

Renovations

Analysis

Measurement

Test

Retest

Configuration

Documentation

Data Administration

Rollout

Repository Metric datenbank Quality Mgt. Tools

Structure of a Software Maintenance Shop

5. Establishing a Maintenance InfrastructureSneed-18ICSM2008

Page 20: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Significance of the Software Architecturefor Software Maintenance

• Division in application components and technicalcomponents

• Framework for communication and data storage• Separation of data access logic from application logic• Separation of user interfaces from application logic• Hierarchical structure of application components• Collection of common functions in a service level• Separation of global and local functions• Implementation of self contained components with a

minimum of dependence on other components• Restricted use of inheritance

Sneed-19ICSM20085. Establishing a Maintenance Infrastructure

Page 21: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Release-Implemen-

tatonCode

CodeDocument

ation

ArchitecturalEvolution Release

RegressionTest

ReleaseRollout

Test Cases

SoftwareMetrics

ReleaseSpecification

Release-Planning

ChangeRequests

ProblemReports

NewRequire-

ments

Software Maintenance Process

CodeAnalysis

Data

6. Setting up a Maintenance ProcessSneed-20ICSM2008

Page 22: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Use Case

Test Case

ChangeRequest

Function/Method

Function/Methodaffects

invokes

Component

GUI

DB-Table

HeadersImports

includes

is implemented by

is tested by

tests

ImpactDomain ofRequest

Dialog,Batch,Service,Report,Interface

includes

contains

Impact Analysis of Change Requests

accesses

uses

MaintenanceCost

Estimation

6. Setting up a Maintenance ProcessSneed-21ICSM2008

Page 23: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

MaintenanceRequest A

CodeExtractor

Maintenance Request B

CodeExtractor

TotalSource Code

ImpactedCode

ImpactDomain

ImpactAnalysis

ImpactAnalysis

25.000Stmts

10.000Stmts

Change

Correction

Use CaseA

UseCaseB

Use Cases

Extracting the impacted Code

6. Setting up a Maintenance ProcessSneed-22ICSM2008

Page 24: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Software

Doc

umen

tatio

nT

ools

Reengineering

Tools

Maintenance

Environment

CM QS

Off-Loaded Maintenance

Main-WS

Main-WS

Main-WS

Main-WS

Regression Test Tools

Software Repository

Software Maintenance Workbench

7. Automating the Maintenance Process Sneed-23ICSM2008

Page 25: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

RequestAnalysis

FunktionalSpec.

Retest

TestProtocols

MaintenanceRequests

MaintenanceStatistics

Analysis

EffortEstimation

SoftwareAnalysis

ImpactDocuments

Design

Techn.Spec.

Acceptance

AcceptanceReports

Contents of a Software Maintenance Repository

7. Automating the Maintenance Process Sneed-24ICSM2008

Page 26: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Dash Board for monitoring Software Status

Growth Rate

10%

20%

0%16%

5% 15%

8%

4% 12%

0%Change Rate

8

4

2 6

0Error DensitySystem Availability

90%

100%80%

85% 95%

System Volatility

0,1

0,201

0,5

0System Complexity

1

0,5

0System QualitySystem Size

1500

20001000

Product Status

sufficient

topAlarm

goodpoor

System Functionality

Fcpts

Ist

Soll

System Stability

Soll

Ist

CorrectlyexecutedTrans-actions

redArea

Planned

Maintenance Costs

Actual

Errors Reports

Correction Status

Corrections

Change Requests

Change Status

Changes

New Requirements

Requirement Status

Implemented

GreenArea

YellowArea

7. Automating the Maintenance ProcessSneed-25ICSM2008

Page 27: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Synergie of a Software Maintenance Shop

• Common Hardware Plattform

• Common Software Tools

• Common Pools of Specialists

• Common Technical Infrastructure

• Common Technical Knowledge Base

• Common Help Desk

• Unified Maintenance Process

8. Servicing Multiple CustomersICSM2008 Sneed-26

Page 28: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Indian Offshore Vendors grow and growTransaction volume with Software and Services

(in Billions of Dollars)

16,7

22,530,3

39,5

52,0

34,7%34,6%

30,4%31,6%

2004 2005 2006 2007 2008

9. International Competition for

Outsourced Software Services

ICSM2008 Sneed-27

Page 29: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

80 Percent of Indian Software and Services are exportedDevelopment of the Indian IT-Industry from 2004 to 2008

9. International Competition for

Outsourced Software Services

ICSM2008 Sneed-28

Distribution of Indian Exports

Page 30: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

0,0 % 5,0 % 10,0 % 15,0 % 20,0 %

Comparison of competing Countries as of 2004Export percentage of IT and other business oriented services

9. International Competition for

Outsourced Software Services

ICSM2008 Sneed-29

Proportion of IT Services of total Exports

Page 31: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Rating of Offshore Partners by perceived Competence( 210 German companies asked, in Percent)

9. International Competition for

Outsourced Software Services

ICSM2008 Sneed-30

Rating of Offshore Suppliers by Competence

Page 32: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Only in regard to innovation is India ahead of China( 210 German companies asked, in Percent)

9. International Competition for

Outsourced Software Services

ICSM2008 Sneed-31

Satisfaction with Offshore Suppliers

Page 33: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

World employment marketDevelopment of the number of employees and the global real gross domestic product within

the Industry and Service Areas (2006)

1970Still mostlyisolated markets

265,5

1,2Trillion

85,5 62,0 30,4

1990Collapse of the EasternacceleratedGlobalization, Pressureof Competition foremostfrom China

362,626,2

Trillion

85,5 62,0 30,4

2005The global employmentMarkets are in directcompetition

416,944,4

Trillion

412,5

220,6 41,0

China IndiaEasternEurope

IndustrialCountries

World Economyglobal grossdomestic productin Dollar

9. International Competition for Outsourced Software Services

ICSM2008 Sneed-32

Page 34: Offering Software Maintenance as an Offshore Service · Offering Software Maintenance as an Offshore Service ... Offering Software Maintenance as an Offshore Service 1. ... • 3,077

Keynote Conclusion

• Most money is earned by relieving others of theirdire problems

• Software Maintenance has become for many IT usersin the old industrialized countries a dire problem.They cannot cope with it.

• Taking over the maintenance for these users willrelieve them of their problem and promise a steadyflow of income.

• Users will become dependent on the outsourcingpartner for the continuity of their IT service.

• At the same time the outsourcing partner will be ableto absorb the knowledge encapulated in the software.

• The user will be freed of the burden of maintenanceand the outsourcing partner will become rich andknowlegable.

• Today‘s Servants will become tomorrow’s Masters.

10. Capitalizing on Other‘s ProblemsICSM2008 Sneed-33