gio wiederhold cs446 maint --1 cs446 maintenance gio wiederhold

22
Gio Wiederhold CS446 Maint--1 CS446 Maintenance Gio Wiederhold

Upload: ambrose-underwood

Post on 31-Dec-2015

229 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--1

CS446

MaintenanceGio Wiederhold

Page 2: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--2

What is Maintenance ?• Definition: Unscheduled tasks to fix

errors in software (after delivery, often induced by growth in scope)

adapt to externally imposed changes (tax laws, regulations, interfaces, customer expectations, …)

adapt to internally imposed changes (mergers, corporate reorganization, new product lines, ...)

• Crucial leverage:– 70-90% of system costs are SW-maintenance

• If maintenance costs can decrease 25% we double our capability to develop innovative products

• If maintenance costs increase by 25% we loose any capability for innovation

– Affected by architectural paradigm changes

M

I

Page 3: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--3

Maintenance as a StrategyGood BENEFIT/COST wrt customer

Benefit is maximal relevant information,requires constant updating

Manage cost of change,don’t change system architecture, interfaces

We expect SW to be adapatable– enables change, growth– long liftetimes– regular, high maintenance

• Costs– initial– maintenance (70-90% for SW)

long lifetimelong lifetime

low depreciation 1 / lifetime

high maintenance cost

Page 4: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--4

Maintenance is good for you

automobile hardware softwareautomobile hardware software 5y5y 17%17% 20%/y20%/y 3y 3y 9%9% 33%/y33%/y 15y15y 80%80% 7%/y7%/ytotal 23.4%/ y total 16%/y total 12.3%/ ytotal 23.4%/ y total 16%/y total 12.3%/ y

rela

tive

an

nu

al

mai

nte

nan

ce c

ost

dep

reci

atio

n /

yea

r =

1 /

lif

etim

e

100%100%

4040

00

2020

7070

3030

1010

8080

9090

6060

5050

life

tim

eli

feti

me

yearsyears 10 10

44

22

77

33

11

88

99

66

55

1313

1111

1212??

Page 5: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--5

Cost Components :

• Determining what to fix clear architecture

good - as built - documentation

• Fixing itexperienced people -- often authors are gone

• Testingsee prior presentation, even a higher %tage

Page 6: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--6

Maintenance & Architecture• Integrated

– central responsibility– many hidden linkages

• distributed– remote responsibilities– many visible links

• client-server ?better structure

Same maintenance complexity

Page 7: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--7

Growing Systems: n modules

Federated: deal with many servers and clients

Fast build byresource reuse

changes (x) are difficultaffect many clients

Page 8: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--8

Systems with Mediators

Applications . . . .

Mediators . . . . . .

Data Resources . . .

Gio Wiederhold. 1995

Page 9: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--9

Functional Service Layers

Service Service interfaceinterface

Resource accessResource access interfaceinterface

User interfaceUser interface

Real-worldReal-world interfaceinterface

Human-computerHuman-computer InteractionInteraction

Application-Application- specific codespecific code

Domain-Domain- specific specific codecode

Source-Source- specificspecific codecode

MEDIATIONMEDIATION ServicesServices

Available Sources

Client

Page 10: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--10

Growth through Reuse

New Application

Prior & Revised Mediators

Extended Data Resources

Gio Wiederhold. 1995

Page 11: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--11

Incremental Maintenance1. New/Revised application neeeds more data

2. Mediator isolates other applications

3. New application checks out data and function

4. Other applications can join when feasible

versus

1. New/Revised application neeeds more data

2. Determine affected applications

3. Change affected codes, create test scaffolding

4. Plan for system-wide release at half-year cycle

5. Batch all other changes for that cycle

6. Perform critical, risky release of batch

Page 12: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--12

Mediated = linear O(n) Cost of Growth-- else O(n2)

Incremental change is enabled : - versus batching many changes delay, risk• Applications only use some mediators ;• Data changes only affect some mediators;

only in their domain

1. Prior version mediators can supply old information to n-1 prior applications

2. New version mediators provide better information to the new application

3. New applications, using the new version mediators, can be developed and inserted dynamically

4. Old applications can be updated to use new mediators when they are ready

2

7

In time, the old version mediators become superfluous

Page 13: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--13

Maintenance requires assignment of responsibility

Client ?

ApplicationInterface

Resource Interfaces

Owner / Creator Maintainer Lessor - Seller Advertiser

Changes ofuser needs

Domainchanges

Models, programs,rules, caches, . . .

Software & People

Resource changes

Server ?

Page 14: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--14

Assigning Maintenance Responsibility

a. Source data quality –supplier database, files, or web pages

b. Interface to the source – wrapper, supplier or vendor for supplier

c. Source selection – expert specialist in mediator

d. Source quality assessment – customer input to mediator

e. Semantic interoperation – specialist group providing input to the mediator

f. Consistency and metadata information – mediator service operation or warehouse

g. Informal, pragmatic integration – client services with customer input

h. User presentation formats – client services with customer input

Services

Sources

Customers

Page 15: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--15

New Metrics

• Productivity

Lines of code Time to asssemble a product• Time to Update Product

Several years 3/6 months• Satisfaction of

System Administrator Customer– -- missing:

• Performance based on

Detailed data Component / Service specs

Page 16: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--16

New Role for Consultants

Old

• Used at Design Time

and

• To Explain Failures

Future

• Available as a Service

• Responsible for

Interoperation Maintenance

Page 17: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--17

Summary

• Maintenance is a high cost item• Cost is incurred over many years

• if the product is successful• often by different people, org’s

• Should be planned for• in architectural decisions• in responsibility assignment

Good maintenance has a high valueand high leverage

Page 18: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--18

Technology Transition .

• Economic drivers have to be considered. • Three party model

• Industry: need-based invention• academia: formalization• innovators: new technology

• New Service models provide new Opportunities• supply innovative tools to industry• supply specialized information to industry

I i

a

Page 19: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--19

Understanding the other parties

Motivation is profit and loss avoidance of • Industry: investment --

– payoff to stockholders / retain value / stable • Academia: prestige -- (leads to continuing funding)

– visibility, not stability or reliability• Innovative businesses: leverage -- not sustainable

– low downside cost, high upside risk, – change expected and needed

• Government research: – technology dissemination & shelving service ?

Page 20: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--20

Notes from Stanford OTL

• SoE inventions – 31 % licensed / 29% waiting, 40%dropped– Large companies poor adopters, best are exclusive to startups– Center for Networking has an overll license, pay once + small annual

• New Licensed Field of Use: EPIC program– excludes software - but same pricing scheme– excluded are already active inventions– inventions co-developed outside of SoE– inventions not pursued by Stanford– base cost for membership 400K or 100K for 5 years– 100K non-exclusive license per inventions before patent is granted– 200K non-exclusive license per invention after patent is granted– easy access for 6-months– SOE gets base, can distribute to depts. Inventor gets license fees.– objective is better relationships.to large companies – not suitable for startups, small companies

Page 21: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--21

Research economy transfer paths

Pro

du

cts

Tool suppliers (TS) versus Product suppliers (PS)

high-valuemodest volume

Customers

Research

GovernmentTeaching

Ta

xes

highvolume

people results

Page 22: Gio Wiederhold CS446 Maint --1 CS446 Maintenance Gio Wiederhold

Gio Wiederhold CS446

Maint--22

Operating Systems

• Microsoft Windows, personal computer and WS.

proprietary product, no obligations to hardware,

rapidly adapted to new requirements • UNIX, an open systems, consensus and takes time.

• SUN servers• LINUX clients and servers, free, low entry cost• ….

• Mainframe operating systems, little growth expected• VMS (COMPAQ) reliable 24 hour / 7 day