gio wiederhold cs446 maint --1 cs446 maintenance gio wiederhold
TRANSCRIPT
Gio Wiederhold CS446
Maint--1
CS446
MaintenanceGio 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
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
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??
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
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
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
Gio Wiederhold CS446
Maint--8
Systems with Mediators
Applications . . . .
Mediators . . . . . .
Data Resources . . .
Gio Wiederhold. 1995
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
Gio Wiederhold CS446
Maint--10
Growth through Reuse
New Application
Prior & Revised Mediators
Extended Data Resources
Gio Wiederhold. 1995
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
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
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 ?
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
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
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
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
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
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 ?
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
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
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