SlideShare uma empresa Scribd logo
1 de 76
Managing the Evolution of Software Systems

T he Old, the New and W hat’s
Consistently Tr ue:

Managing the Evolution
of Softwar e Systems

By Joe Hessmiller

CA1
I

Computer Aid, Inc. ®
Managing the Evolution of Software Systems

Why Focus on Maintenance?

Incident
Handling

End User
Call Support

Work
Requests

Admin.
& Other Costs
Managing the Evolution of Software Systems

Maintenance Is Where the
Money Is
• Maintenance and Support Makes Up
50-80% of Software Management
Budgets
• And, 100% of the Software Actually
Used By the Organization
Software
Budget
65%

Maintenance
and Support
Development

Software
Supporting
Business
100%
Managing the Evolution of Software Systems

The Old
Software Development and Support Has
Enormous Room for Improvement
Managing the Evolution of Software Systems

1969 NATO Report on Software
Engineering
• Documented problems in
– Requirements, Design, Coding
– Estimates, Monitoring
Progress, Communication
– Productivity (26:1), Reliability
(Bugs)
– Hardware Dependencies,
Reuse
– Maintenance Costs

• Sound familiar??
Managing the Evolution of Software Systems

A Generation After NATO Report
• 34% of Projects Completed On-Time, On-Budget
• 48% of Required Features Missing in
“Successfully Completed” Projects
• 43% Average Cost Overrun
• 82% Average Schedule Overrun
“So many software projects fail in some major way
that we have had to redefine success to keep
everyone from becoming despondent...”
Source: Tom DeMarco in the book, Controlling Software Projects
Source: Standish Group, Chaos Report, 2003
Managing the Evolution of Software Systems

Individual Performance Variation
• Performance Differences
– 10 to 1 Difference in Productivity with
Same Level of Experience
•
•
•
•
•
•
•

Sackman, Erikson and Grant, 1981
Curtis, 1981
Mills, 1983
Demarco and Lister, 1985
Curtis, et al, 1986
Card, 1987
Calett and McGarry, 1989
Managing the Evolution of Software Systems

Team Performance Variation
“Productivity of
the 90th percentile
teams is four
times higher
than that of the 15th
percentile teams”
Source: Barry Boehm. Software Engineering
Economics. Englewood Cliffs, NJ: Prentice
Hall
Managing the Evolution of Software Systems

What’s Possible?
• Software quality can improve at 15%
to as much as 40% PER YEAR
• Software development productivity
can improve at rates of 5% to 20%
PER YEAR

• Software maintenance
productivity can improve
at rates of 10% to 40% PER
YEAR
- Capers Jones, Calculating the Value of PI, 2000
Managing the Evolution of Software Systems

What’s Been Accomplished?
• HP

– 10X reduction in defect rate, average time to fix a defect was cut in
half in one business unit, reduced time to market by 5X over 5 year
period in another business unit

• IBM Toronto

– 10X reduction in delivered defect rates, productivity up by 240%,

rework reduced by 80%
• General Dynamics Decision Systems Division

– rework percent dropped from 23.2% to 6.8%; customer reported
defect rate dropped from 3.20 to 0.19 defects/KSLOC; productivity
rose 2.9X
Managing the Evolution of Software Systems

CAI Experience with Productivity
Improvement
Managing the Evolution of Software Systems
Productivity Increased in Wide
Variety of Scope-Headcount-Cost
Situations
Managing the Evolution of Software Systems

The New
Lessons from Modern Manufacturing for
Application Development and MAINTENANCE
Managing the Evolution of Software Systems

Why Manufacturing?
• Importance of Thinking “Outside the
Box”
• Applicability of Modern
Manufacturing Lessons to Software
Development and Maintenance
• Participate in the Continuous
Evolution of “Production” Ideas
Managing the Evolution of Software Systems

Manufacturing Productivity
Outpaces Services
Real Output per Full-Time Equivalent Worker, 1977-2001
Managing the Evolution of Software Systems

First: Think Out of the Box
The definition of insanity is doing the
same thing over and over and
expecting different results.
- Benjamin Franklin
Managing the Evolution of Software Systems

Thinking Outside of the Box
The Fremont Story

• 1982 - GM shutters Fremont assembly plant
– Worst quality and productivity in GM network
– Absenteeism of 20%

• 1984 - GM-Toyota JV (NUMMI)
– Hired 5000 former workers (including union leadership)
– Implements TPS (later called “Lean”)

• 1986 – Fremont Plant is:
– one of the most efficient plants in North America
– producing highest rated car in terms of quality in GM
– Absenteeism of 3%
Managing the Evolution of Software Systems

Evolution of Manufacturing
•19th Century – Craft Production
•20th Century – Mass Production
•21st Century – Lean Production
Mass
Production

Craft
Production

Low Cost Per Unit,
Rigid

Flexible,
High Cost Per Unit

Lean
Production

Flexible,
Low Cost Per Unit
Managing the Evolution of Software Systems

Software “Shortcut” to Lean
•19th Century – Craft Production
•20th Century – Mass Production
•21st Century – Lean Production
Craft
Production

Flexible,
High Cost Per Unit

Lessons

Lean
Production

Flexible,
Low Cost Per Unit

Mass
Production

Rigid,
Low Cost Per Unit
Managing the Evolution of Software Systems

What IS Lean Thinking?
The Five Lean Enterprise
Principles
– Value Focus on What Adds Value for the
Customer

– Value Stream Understand How Value Is
Created

– Flow Maximize Speed to Value
– Pull Work on Just-In-Time Basis
– Perfection Continuously Improve
Performance

Drive Out Waste
Managing the Evolution of Software Systems

Lean Makes Powerful Impact in
Administrative Areas
“ We were doubly shocked when we
realized they [144 Japanese firms
benchmarked] were also four times
more productive per person [than peers
in North American companies] in the
administrative area.”
- George Koenigsaecker, CME, 2003
Managing the Evolution of Software Systems

Why Lean Works
In reality, companies had come to
recognize that combinations of
efficiency and flexibility allowed
them to meet various and changing
customer needs more effectively than
simply maximizing one dimension.”
- Michael Cusumano, Japan's Software Factories, 1991
Managing the Evolution of Software Systems

What’s Consistently True
Process, Metrics and People
Managing the Evolution of Software Systems

High Performance Organization
Characteristics
“High performance IT organizations across
all industries share common process
characteristics:
– Processes are clear;
– The link between process and performance
goals is well understood; and
– The performance of processes is well
measured and properly supported.”
Page and Pearson, Transforming the IT Workforce,
Outlook 2004, Number 2
Managing the Evolution of Software Systems

Process
Process, Metrics and People
Managing the Evolution of Software Systems
Process Should Support Different
Motivation and Management Systems
• Douglas McGregor (1960)
– Theory X
• Average person dislikes work and will avoid it if possible
• People must be forced to work toward organizational goals
• People prefer to be directed and avoid responsibility

– Theory Y
• Effort in work is natural
• People will apply self-control in pursuit of organizational objectives
• People seek responsibility

• William Ouchi (1981)
– Theory Z
• Implicit, Informal Control
• Explicit, Formalized Measures
Managing the Evolution of Software Systems

Why Is Standard Process
Important?
Enables …
• Common Language to Communicate
Activity, Status, Issues
Managing the Evolution of Software Systems

Why Is Standard Process
Important?
Enables …
• Common Language
• Quality Plans and Improvement Strategies
– Discrete Components for Performance
Specification and Impact Assessment
– Meaningful Process Metrics
Managing the Evolution of Software Systems

Why Is Standard Process
Important?
Enables …
• Common Language
• Quality Plans and Improvement Strategies
• Tool Usage Benefit Maximization
– Deployment of Tool Across Organization
– Feedback/Tuning Experience
Managing the Evolution of Software Systems

Why Is Standard Process
Important?
Enables …
• Common Language
• Quality Plans and Improvement Strategies
• Tool Usage Benefit Maximization
• Successful Partnering
– Common Expectations
– Clear Interaction Process
Managing the Evolution of Software Systems

High Performance Organization
Characteristics
“High performance IT organizations across
all industries share common process
characteristics:
– Processes are clear;
– The link between process and performance
goals is well understood; and
– The performance of processes is well
measured and properly supported.”
Page and Pearson, Transforming the IT Workforce,
Outlook 2004, Number 2
Managing the Evolution of Software Systems

What Are the Maintenance
Processes?

Incident
Handling

End User
Call Support

Work
Requests

Admin.
& Other Costs
Managing the Evolution of Software Systems

What Are the Maintenance
Processes?

ISO 1764, IEEE 1219
Managing the Evolution of Software Systems

Key Process Areas Mapped
Production Incident Process Flow

Work Request (WR) Process Flow
1

52

4

1
WR Received

Time Sheet
Tracking

Preliminary
Estimate

53
a
15

Print Time
Sheets

Prioritize

54

55

Time Entry

20

Print Weekly
Time Audit

36
Development

2

40
Implementation

Documentation

48 Customer Sat.

4

3

5
WR Log-In
Tracking

6
Acknowledge
WR Receipt

7

8

9

Identify
Resources

Create WR
Estimate Task
Assign Est.
Resources

Define
Requirements

16

17
18

User Group
Meeting

Update WR
Priority
Print WR
Status Report

19 Distribute WR
32

Determine
Solutions

Develop
Project Plan

22

Work Request
Scope Change
Update WR
Scope Change

25

26

28

Create WR
Tasks/Estimate

29
30

Notify Memo

14

Estimate
Approval

39

Production
Notification

Application
Bulletin
Application
Documentation

41
42
43

User
W/R Received
Approval

Production
W/R Request
MoveReceived
Move
Source/Object

44

31

WR Design &
Specification

Specification
QC
DB Change
Request
Code/Unit
Testing
Program QC
(System Test)
Update WR
QC/CMPL. Dates

User Acceptance
Test (Date)

34
35

Work Request
Issue Form

45
a
46

Update WR
Issue Tracking

47

2

5
On-Line Program

Feedback Form

13

50 User Returns Cust.

7
Incident Issue
Form

8
14

Sat. Feedback Form

Update Incident
Issue Tracking

23

15

9 Incident Log-In

25

10

Assign
Resources

11

17
6

24

Job Monitor

Production Incident Process
Flow Legend
Legend

27

28

Incident Issue
Form

33

7

Enhancement

Manual Process Function

30

Update Incident
Issue Tracking

29

10

15

No Action
Required

35

31

16
36
87 Time-Entry 7

37
6

Support Issue
Form

Escalation
Process
Prioritize
Incident

16

Corrective
Action

32

Program Chng.
WR Steps (28-45)

17

Update Support
Issue Tracking

11

12

13
Escalation
Process

18

User Approval
(Close)

19

38

P04
39

Close Incident

Update WR
Close. Date

Tracking
User Approval
(Close)

18
Close
Incident

20

21

Work Request Process Flow
Legend
Main Process
Function
Manual Process
Function
Automated Process
Function

8

Incident
Notification

Fill Out Call
Support Ticket

Identify
Resources

Log-In Ticket
Tracking

Support Process Flow
Legend

Assign
Resources

Main Process Function

Update Incident
Tracking

14

Close WR
(Checklist Rev.)

Classify
Support

9

Function
Corrective
Action

Update Incident
Tracking

6

(Work Request)

34

Assign
Resources

Incident
Investigation

Night Support
Analyst

Identify Outside
Resources

Consulting

Automated Process
Program Chng.
WR Steps 28-45

Notify
Resources

Incident Log-In
Tracking

Main Process Function
Escalation
Process

12

Monitor
Production

Identify
Resources

5

3

26

Identify
Resources

Tracking

Log In
Feedback

After Hours

22

Capture Incident
Data

Notify
Resources

4
Business Hours

Batch Program

49 Print Customer Sat.

51

Call Support
Capture Incident
Data

Classify Incident

Program
Turnover

Resource

13 WR Estimate &

P02

Final Estimate

24 Assign Develop

Analysis

12

38

Estimate

27
11 Function -Point

37

Identify
Resources

23 Update WR Final

Report

33
10

21

21

Feedback Form
6

2

Non-ABEND
Incident

1

ABEND/
Job Abort

3
Job Abort

Support Process Flow
20

Incident
Notification

Manual Process Function

Consulting/
Investigation

Automated Process
Function

User Approval
(Close)

Update Ticket
Tracking

Close Call
Support Ticket

Figure X.X

P03

19
Time Entry
Managing the Evolution of Software Systems

Work Request Process Mapped
Work Request (WR) Process Flow
52

4

1
WR Received

2
3

5
WR Log-In
Tracking

6
Acknowledge
WR Receipt

7

8

9

Time Sheet
Tracking

Preliminary
Estimate

Identify
Resources

Create WR
Estimate Task
Assign Est.
Resources

Define
Requirements

53
a
15
16

17
18
19

Print Time
Sheets

Prioritize

User Group
Meeting

Update WR
Priority
Print WR
Status Report

Distribute WR
Report

32
Determine
Solutions

33
10

Develop
Project Plan

Work Request
Scope Change
Update WR
Scope Change

54

20

21
22

26

Analysis

28

Create WR
Tasks/Estimate

29

13 WR Estimate &

30

12

Notify Memo

P02

14

Estimate
Approval

37
38

Final Estimate

39

Final

Estimate

25

31

Specification
QC
DB Change
Request
Code/Unit
Testing

Program QC
(System Test)
Update WR
QC/CMPL. Dates

User Acceptance
Test (Date)

Production
Notification

Application
Bulletin
Application
Documentation

48
Implementation

41
42
43

User
W/R Received
Approval

Production
W/R Request
MoveReceived

Move
Source/Object

44

Assign Develop
Resource

WR Design &
Specification

40
Documentation

Identify
Resources

23 Update WR
24

Print Weekly
Time Audit

36
Development

27
11 Function -Point

55

Time Entry

34
35

Work Request
Issue Form

45
a
46

Update WR
Issue Tracking

47

Program
Turnover
Monitor
Production
Close WR
(Checklist Rev.)

Update WR
Close. Date

Work Request Process Flow
Legend
Main Process
Function
Manual Process
Function
Automated Process
Function

Customer Sat.
Feedback Form

49 Print Customer Sat.
Feedback Form

50
51

User Returns Cust.
Sat. Feedback Form

Log In
Feedback
Managing the Evolution of Software Systems

Process Step Map
Managing the Evolution of Software Systems

Metrics
Process, Metrics and People
Managing the Evolution of Software Systems

What Maintenance Management
Measures
• Volume of Service – Measured by the number of
units of services and the number of services
delivered per unit of time.
• Quality – Measured by defect rates, standards
compliance, technical quality, services
availability, and service satisfaction.
• Responsiveness – Measured by time to
acknowledge, time to implement, and services
backlog.
• Efficiency – Measured by cost per unit of
service delivered
Managing the Evolution of Software Systems
High Performance Organization
Characteristics
“High performance IT organizations across
all industries share common process
characteristics:
– Processes are clear;
– The link between process and performance
goals is well understood; and
– The performance of processes is well
measured and properly supported.”
Page and Pearson, Transforming the IT Workforce,
Outlook 2004, Number 2
Managing the Evolution of Software Systems

Quality Management Performance Over Time
Managing the Evolution of Software Systems
Customer Satisfaction Management
Managing the Evolution of Software Systems
Quality Management Rework Management
Managing the Evolution of Software Systems

Quality Management Defect Management

Identify Incident Causes Data Errors: 34 Hours

Drill Down into Root Causes –
Repeated Data Errors within the Order
Processing System
Managing the Evolution of Software Systems
Productivity Management Efficiency Management
Managing the Evolution of Software Systems
Productivity Management Effectiveness Management
Managing the Evolution of Software Systems
Productivity Objective: More Time Focused
on Value Adding Activities
Analysis ofof Previous MonthHours
Analysis Total Year-to-Date

Hours

Analysis of Total Year-to-Date Hours
Analysis of Previous Month

Hours

Admin, 47

Admin, 57
Work
Requests, 381

Work
Requests, 173
Call Support,
102

Call Support,
113

Incidents, 104

Admin
Call Support
Incidents
Incidents, 229

Work Requests

Admin
Call Support
Incidents
Work Requests
Managing the Evolution of Software Systems

People
Process, Metrics and People
Managing the Evolution of Software Systems

Motivation is KEY to Productivity
Improvement
• Most productivity studies have found
that motivation has a stronger
influence on productivity than any
other factor.
- Barry Boehm, 1981
Managing the Evolution of Software Systems

Achievement and Recognition
Recognition of Achievement is VERY
Important to Developers

Accurate, Objective Metrics Meet People’s Needs.
Managing the Evolution of Software Systems

Motivating Developers
•
•
•
•
•

The Work Itself
Achievement
Advancement
Compensation
Recognition
- Cougar, Zawacki, Opperman, MIS Quarterly
Managing the Evolution of Software Systems

What Motivates Developers?
Managing the Evolution of Software Systems

Getting People to Use the
System
• Threaten Them
• Incent Them
– Make Job
Easier Through
Automation
– Ensure
Recognition
Through
Metrics

How to Herd Cats
Managing the Evolution of Software Systems

High Performance Organization
Characteristics
“High performance IT organizations across
all industries share common process
characteristics:
– Processes are clear;
– The link between process and performance
goals is well understood; and
– The performance of processes is well
measured and properly supported.”
Page and Pearson, Transforming the IT Workforce,
Outlook 2004, Number 2
Managing the Evolution of Software Systems
Assignment Management
Managing the Evolution of Software Systems

Task Management
Managing the Evolution of Software Systems
Estimation Management
Managing the Evolution of Software Systems

Issue Management
Managing the Evolution of Software Systems

Time Management
Managing the Evolution of Software Systems

Change (Scope) Management
Managing the Evolution of Software Systems

Quality Management – Step
Level
Managing the Evolution of Software Systems

How to Implement
Setting Achievable Goals, Objectively
Measuring Performance
Managing the Evolution of Software Systems

Improved Capability Level

How They Did It:
Three-Phase Implementation Model

OPTIMIZATION
Streamline & Craft
Work Processes

CONTROL
VISIBILITY
Classify and Capture
Work, Metrics,
Resources and Time

Implement Workflow
Processes
Managing the Evolution of Software Systems

Visibility
• To “Shine a Light” on What is Being
Done By Whom and How
• To Capture Performance Metrics;
Baseline, Operational and Systemic
Managing the Evolution of Software Systems

Control
• To Produce Meaningful Process and
Product Management Metrics
• To Ensure That Performance Meets
Customer Expectations (and React
Quickly and Effectively To Variation )
• To Provide a Stable Platform for Process
Improvement Experiments and
Improvement Deployment
Managing the Evolution of Software Systems

Optimization
• To Identify Efficiency Improvement
Opportunities
• To Identify Effectiveness
Improvement Opportunities
Managing the Evolution of Software Systems

What We Need: Maintenance and
the Three Principles
IN

CS

WR

Visibility

What is
causing error?

What problems
are being
experienced?

What are
people working
on?

Control

Are errors
being closed
within SLAs?

Are problems
being resolved
within SLAs?

Are WR being
completed
within
SLAs/Estimates
?

Optimization

What errors
are recurring?
Are the
corrective
actions
working?

What calls are
recurring? Are
corrective
actions
working?

What’s causing
us to miss
estimates? Are
corrective
actions
working?
Managing the Evolution of Software Systems

Next Steps
A Best Practice Assessment is Your First
Step Toward Realizing the Benefits of Best
Practices Organization…
– Visibility
– Control
– Optimization
Managing the Evolution of Software Systems
Best Practice Assessment
Process
The Best Practice Assessment Helps You
Answer …
Where Are We?

1. Identify Current State

Is Current State = Best Practice?

2. Analyze Gap

Where Do We Want To Be?

3. Develop Future State Vision

How Should We Get There?

4. Prepare Recommendation
Managing the Evolution of Software Systems

CAI Profile
World Leader in IT Process and Productivity
Managing the Evolution of Software Systems

CAI Company Profile
• Founded 1980
• 2000+ Employees
• Offices in US, Europe, Canada, and Philippines
• 70% of Revenue from Managed Services
Partnerships
• Fortune-1000 Customer Base
• World-Class Solution Centers
• Long-term Strategic Partnership Focused
Managing the Evolution of Software Systems
Managing the Evolution of Software Systems

CAI Product Of ferings
• Application Support & Maintenance
– Managed Maintenance

• Application Development
– Construction Management

• Desktop Services & Help Desk
– Help Desk, Workstation Support, IMAC

• Staff Augmentation - T&M Consulting
Managing the Evolution of Software Systems

The CAI Value Proposition
CAI enables its clients to:
• Track and measure the right activities in the IT function
• Compare IT performance vs. benchmark data
• Optimize IT performance, using data to make decisions
• Achieve double-digit % gains in IT productivity
• Establish objective measures of IT worker performance

This is made possible through the use of:
• A unique metrics-based methodology – “Managed Maintenance”
• The proprietary TRACER® software tool and data repository
Managing the Evolution of Software Systems

Closing Thoughts
Embrace Change
Managing the Evolution of Software Systems

Thoughts on Change
It is not necessary to change. Survival is not mandatory.
W. Edwards Deming

Beware becoming change-averse change agents.
Barry Boehm, SEI Symposium 2000

In theory, there is no difference between theory and practice.
In practice there is.
Lawrence Peter Berra
Managing the Evolution of Software Systems

Excellent IT Reference Site
www.itmpi.org

Mais conteúdo relacionado

Mais procurados

Software evolution -- Good practices
Software evolution -- Good practicesSoftware evolution -- Good practices
Software evolution -- Good practicesNicolas Anquetil
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process ImprovementBilal Shah
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
SII-News Letter - source_3Q15
SII-News Letter - source_3Q15SII-News Letter - source_3Q15
SII-News Letter - source_3Q15THONG DUONG
 
Presentation on Software process improvement in GSD
Presentation on Software process improvement in GSDPresentation on Software process improvement in GSD
Presentation on Software process improvement in GSDRafi Ullah
 
Enterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesEnterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesJohn Cachat
 
Configuration management24
Configuration management24Configuration management24
Configuration management24al-wahidi
 
QAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction pptQAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction pptQAIites
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategyRahat Chowdhury
 
Analysis & Design of Business Systems - 5
Analysis & Design of Business Systems - 5Analysis & Design of Business Systems - 5
Analysis & Design of Business Systems - 5Jitendra Tomar
 
HR Software - Find Your Match
HR Software - Find Your MatchHR Software - Find Your Match
HR Software - Find Your MatchCascadeHR
 
Comparison of it governance framework-COBIT, ITIL, BS7799
Comparison of it governance framework-COBIT, ITIL, BS7799Comparison of it governance framework-COBIT, ITIL, BS7799
Comparison of it governance framework-COBIT, ITIL, BS7799Meghna Verma
 

Mais procurados (20)

Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Ch28
Ch28Ch28
Ch28
 
Software evolution -- Good practices
Software evolution -- Good practicesSoftware evolution -- Good practices
Software evolution -- Good practices
 
CMMi
CMMiCMMi
CMMi
 
Advanced Metering Infrastructure (AMI) Overview
Advanced Metering Infrastructure (AMI) OverviewAdvanced Metering Infrastructure (AMI) Overview
Advanced Metering Infrastructure (AMI) Overview
 
Software Process Improvement
Software Process ImprovementSoftware Process Improvement
Software Process Improvement
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
SII-News Letter - source_3Q15
SII-News Letter - source_3Q15SII-News Letter - source_3Q15
SII-News Letter - source_3Q15
 
Presentation on Software process improvement in GSD
Presentation on Software process improvement in GSDPresentation on Software process improvement in GSD
Presentation on Software process improvement in GSD
 
Lecture 6 recording
Lecture 6 recordingLecture 6 recording
Lecture 6 recording
 
Enterprise system implementation strategies and phases
Enterprise system implementation strategies and phasesEnterprise system implementation strategies and phases
Enterprise system implementation strategies and phases
 
CMMi & IT Governance
CMMi & IT GovernanceCMMi & IT Governance
CMMi & IT Governance
 
Configuration management24
Configuration management24Configuration management24
Configuration management24
 
QAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction pptQAI - Cmmi Overview - Induction ppt
QAI - Cmmi Overview - Induction ppt
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
 
Analysis & Design of Business Systems - 5
Analysis & Design of Business Systems - 5Analysis & Design of Business Systems - 5
Analysis & Design of Business Systems - 5
 
HR Software - Find Your Match
HR Software - Find Your MatchHR Software - Find Your Match
HR Software - Find Your Match
 
Comparison of it governance framework-COBIT, ITIL, BS7799
Comparison of it governance framework-COBIT, ITIL, BS7799Comparison of it governance framework-COBIT, ITIL, BS7799
Comparison of it governance framework-COBIT, ITIL, BS7799
 
Meter Operations in a Post AMI World
Meter Operations in a Post AMI WorldMeter Operations in a Post AMI World
Meter Operations in a Post AMI World
 
CMMI V2.0
CMMI V2.0CMMI V2.0
CMMI V2.0
 

Semelhante a Managing the Evolution of Software Systems

Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii yearPreeti Mishra
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineeringtanni821216
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Understanding and Improving Software Productivity
Understanding and Improving Software ProductivityUnderstanding and Improving Software Productivity
Understanding and Improving Software Productivityssuser2be5eb
 
Information systems, course project
Information systems, course projectInformation systems, course project
Information systems, course projectJoseph Attakorah
 
Software Engineering
Software EngineeringSoftware Engineering
Software EngineeringMohamed Essam
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economicsmeena466141
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...GaytriMate
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxnohaaalrajhi
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionTom Mens
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.pptHODCOMPUTER10
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spmPrakash Poudel
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ IntroductionThenmozhiK5
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 

Semelhante a Managing the Evolution of Software Systems (20)

Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
SRS.pdf
SRS.pdfSRS.pdf
SRS.pdf
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Understanding and Improving Software Productivity
Understanding and Improving Software ProductivityUnderstanding and Improving Software Productivity
Understanding and Improving Software Productivity
 
Information systems, course project
Information systems, course projectInformation systems, course project
Information systems, course project
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Lect4 software economics
Lect4 software economicsLect4 software economics
Lect4 software economics
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
SWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptxSWE-610-Lec-1-Software-Intro duction(1).pptx
SWE-610-Lec-1-Software-Intro duction(1).pptx
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software Evolution
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.ppt
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
Software Engineering _ Introduction
Software Engineering _ IntroductionSoftware Engineering _ Introduction
Software Engineering _ Introduction
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
ERP Solutions UK
ERP Solutions UKERP Solutions UK
ERP Solutions UK
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Intro
IntroIntro
Intro
 

Mais de Joe Hessmiller

Comprehensive risk management for a cyber secure organization
Comprehensive risk management for a cyber secure organizationComprehensive risk management for a cyber secure organization
Comprehensive risk management for a cyber secure organizationJoe Hessmiller
 
Tale of the Four Missing Metrics
Tale of the Four Missing MetricsTale of the Four Missing Metrics
Tale of the Four Missing MetricsJoe Hessmiller
 
Driving Innovative IT Metrics (Project Management Institute Presentation)
Driving Innovative IT Metrics (Project Management Institute Presentation)Driving Innovative IT Metrics (Project Management Institute Presentation)
Driving Innovative IT Metrics (Project Management Institute Presentation)Joe Hessmiller
 
Leadership is Simple. Followership is a Challenge. Lehigh University Guest L...
Leadership is Simple.  Followership is a Challenge. Lehigh University Guest L...Leadership is Simple.  Followership is a Challenge. Lehigh University Guest L...
Leadership is Simple. Followership is a Challenge. Lehigh University Guest L...Joe Hessmiller
 
Why Do CIOs Get Fired? A Look at the Numbers and Insights by Joe Hessmiller
Why Do CIOs Get Fired? A Look at the Numbers and Insights by Joe HessmillerWhy Do CIOs Get Fired? A Look at the Numbers and Insights by Joe Hessmiller
Why Do CIOs Get Fired? A Look at the Numbers and Insights by Joe HessmillerJoe Hessmiller
 
Automation of Information (Cyber) Security by Joe Hessmiller
Automation of Information (Cyber) Security by Joe HessmillerAutomation of Information (Cyber) Security by Joe Hessmiller
Automation of Information (Cyber) Security by Joe HessmillerJoe Hessmiller
 
Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...
Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...
Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...Joe Hessmiller
 
Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...
Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...
Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...Joe Hessmiller
 

Mais de Joe Hessmiller (8)

Comprehensive risk management for a cyber secure organization
Comprehensive risk management for a cyber secure organizationComprehensive risk management for a cyber secure organization
Comprehensive risk management for a cyber secure organization
 
Tale of the Four Missing Metrics
Tale of the Four Missing MetricsTale of the Four Missing Metrics
Tale of the Four Missing Metrics
 
Driving Innovative IT Metrics (Project Management Institute Presentation)
Driving Innovative IT Metrics (Project Management Institute Presentation)Driving Innovative IT Metrics (Project Management Institute Presentation)
Driving Innovative IT Metrics (Project Management Institute Presentation)
 
Leadership is Simple. Followership is a Challenge. Lehigh University Guest L...
Leadership is Simple.  Followership is a Challenge. Lehigh University Guest L...Leadership is Simple.  Followership is a Challenge. Lehigh University Guest L...
Leadership is Simple. Followership is a Challenge. Lehigh University Guest L...
 
Why Do CIOs Get Fired? A Look at the Numbers and Insights by Joe Hessmiller
Why Do CIOs Get Fired? A Look at the Numbers and Insights by Joe HessmillerWhy Do CIOs Get Fired? A Look at the Numbers and Insights by Joe Hessmiller
Why Do CIOs Get Fired? A Look at the Numbers and Insights by Joe Hessmiller
 
Automation of Information (Cyber) Security by Joe Hessmiller
Automation of Information (Cyber) Security by Joe HessmillerAutomation of Information (Cyber) Security by Joe Hessmiller
Automation of Information (Cyber) Security by Joe Hessmiller
 
Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...
Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...
Knowledge Management - It's Not a Good Idea If It Can't Be Implemented by Joe...
 
Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...
Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...
Estimating the Economic Value of Software Maintenance Improvement by Joe Hess...
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Managing the Evolution of Software Systems

  • 1. Managing the Evolution of Software Systems T he Old, the New and W hat’s Consistently Tr ue: Managing the Evolution of Softwar e Systems By Joe Hessmiller CA1 I Computer Aid, Inc. ®
  • 2. Managing the Evolution of Software Systems Why Focus on Maintenance? Incident Handling End User Call Support Work Requests Admin. & Other Costs
  • 3. Managing the Evolution of Software Systems Maintenance Is Where the Money Is • Maintenance and Support Makes Up 50-80% of Software Management Budgets • And, 100% of the Software Actually Used By the Organization Software Budget 65% Maintenance and Support Development Software Supporting Business 100%
  • 4. Managing the Evolution of Software Systems The Old Software Development and Support Has Enormous Room for Improvement
  • 5. Managing the Evolution of Software Systems 1969 NATO Report on Software Engineering • Documented problems in – Requirements, Design, Coding – Estimates, Monitoring Progress, Communication – Productivity (26:1), Reliability (Bugs) – Hardware Dependencies, Reuse – Maintenance Costs • Sound familiar??
  • 6. Managing the Evolution of Software Systems A Generation After NATO Report • 34% of Projects Completed On-Time, On-Budget • 48% of Required Features Missing in “Successfully Completed” Projects • 43% Average Cost Overrun • 82% Average Schedule Overrun “So many software projects fail in some major way that we have had to redefine success to keep everyone from becoming despondent...” Source: Tom DeMarco in the book, Controlling Software Projects Source: Standish Group, Chaos Report, 2003
  • 7. Managing the Evolution of Software Systems Individual Performance Variation • Performance Differences – 10 to 1 Difference in Productivity with Same Level of Experience • • • • • • • Sackman, Erikson and Grant, 1981 Curtis, 1981 Mills, 1983 Demarco and Lister, 1985 Curtis, et al, 1986 Card, 1987 Calett and McGarry, 1989
  • 8. Managing the Evolution of Software Systems Team Performance Variation “Productivity of the 90th percentile teams is four times higher than that of the 15th percentile teams” Source: Barry Boehm. Software Engineering Economics. Englewood Cliffs, NJ: Prentice Hall
  • 9. Managing the Evolution of Software Systems What’s Possible? • Software quality can improve at 15% to as much as 40% PER YEAR • Software development productivity can improve at rates of 5% to 20% PER YEAR • Software maintenance productivity can improve at rates of 10% to 40% PER YEAR - Capers Jones, Calculating the Value of PI, 2000
  • 10. Managing the Evolution of Software Systems What’s Been Accomplished? • HP – 10X reduction in defect rate, average time to fix a defect was cut in half in one business unit, reduced time to market by 5X over 5 year period in another business unit • IBM Toronto – 10X reduction in delivered defect rates, productivity up by 240%, rework reduced by 80% • General Dynamics Decision Systems Division – rework percent dropped from 23.2% to 6.8%; customer reported defect rate dropped from 3.20 to 0.19 defects/KSLOC; productivity rose 2.9X
  • 11. Managing the Evolution of Software Systems CAI Experience with Productivity Improvement
  • 12. Managing the Evolution of Software Systems Productivity Increased in Wide Variety of Scope-Headcount-Cost Situations
  • 13. Managing the Evolution of Software Systems The New Lessons from Modern Manufacturing for Application Development and MAINTENANCE
  • 14. Managing the Evolution of Software Systems Why Manufacturing? • Importance of Thinking “Outside the Box” • Applicability of Modern Manufacturing Lessons to Software Development and Maintenance • Participate in the Continuous Evolution of “Production” Ideas
  • 15. Managing the Evolution of Software Systems Manufacturing Productivity Outpaces Services Real Output per Full-Time Equivalent Worker, 1977-2001
  • 16. Managing the Evolution of Software Systems First: Think Out of the Box The definition of insanity is doing the same thing over and over and expecting different results. - Benjamin Franklin
  • 17. Managing the Evolution of Software Systems Thinking Outside of the Box The Fremont Story • 1982 - GM shutters Fremont assembly plant – Worst quality and productivity in GM network – Absenteeism of 20% • 1984 - GM-Toyota JV (NUMMI) – Hired 5000 former workers (including union leadership) – Implements TPS (later called “Lean”) • 1986 – Fremont Plant is: – one of the most efficient plants in North America – producing highest rated car in terms of quality in GM – Absenteeism of 3%
  • 18. Managing the Evolution of Software Systems Evolution of Manufacturing •19th Century – Craft Production •20th Century – Mass Production •21st Century – Lean Production Mass Production Craft Production Low Cost Per Unit, Rigid Flexible, High Cost Per Unit Lean Production Flexible, Low Cost Per Unit
  • 19. Managing the Evolution of Software Systems Software “Shortcut” to Lean •19th Century – Craft Production •20th Century – Mass Production •21st Century – Lean Production Craft Production Flexible, High Cost Per Unit Lessons Lean Production Flexible, Low Cost Per Unit Mass Production Rigid, Low Cost Per Unit
  • 20. Managing the Evolution of Software Systems What IS Lean Thinking? The Five Lean Enterprise Principles – Value Focus on What Adds Value for the Customer – Value Stream Understand How Value Is Created – Flow Maximize Speed to Value – Pull Work on Just-In-Time Basis – Perfection Continuously Improve Performance Drive Out Waste
  • 21. Managing the Evolution of Software Systems Lean Makes Powerful Impact in Administrative Areas “ We were doubly shocked when we realized they [144 Japanese firms benchmarked] were also four times more productive per person [than peers in North American companies] in the administrative area.” - George Koenigsaecker, CME, 2003
  • 22. Managing the Evolution of Software Systems Why Lean Works In reality, companies had come to recognize that combinations of efficiency and flexibility allowed them to meet various and changing customer needs more effectively than simply maximizing one dimension.” - Michael Cusumano, Japan's Software Factories, 1991
  • 23. Managing the Evolution of Software Systems What’s Consistently True Process, Metrics and People
  • 24. Managing the Evolution of Software Systems High Performance Organization Characteristics “High performance IT organizations across all industries share common process characteristics: – Processes are clear; – The link between process and performance goals is well understood; and – The performance of processes is well measured and properly supported.” Page and Pearson, Transforming the IT Workforce, Outlook 2004, Number 2
  • 25. Managing the Evolution of Software Systems Process Process, Metrics and People
  • 26. Managing the Evolution of Software Systems Process Should Support Different Motivation and Management Systems • Douglas McGregor (1960) – Theory X • Average person dislikes work and will avoid it if possible • People must be forced to work toward organizational goals • People prefer to be directed and avoid responsibility – Theory Y • Effort in work is natural • People will apply self-control in pursuit of organizational objectives • People seek responsibility • William Ouchi (1981) – Theory Z • Implicit, Informal Control • Explicit, Formalized Measures
  • 27. Managing the Evolution of Software Systems Why Is Standard Process Important? Enables … • Common Language to Communicate Activity, Status, Issues
  • 28. Managing the Evolution of Software Systems Why Is Standard Process Important? Enables … • Common Language • Quality Plans and Improvement Strategies – Discrete Components for Performance Specification and Impact Assessment – Meaningful Process Metrics
  • 29. Managing the Evolution of Software Systems Why Is Standard Process Important? Enables … • Common Language • Quality Plans and Improvement Strategies • Tool Usage Benefit Maximization – Deployment of Tool Across Organization – Feedback/Tuning Experience
  • 30. Managing the Evolution of Software Systems Why Is Standard Process Important? Enables … • Common Language • Quality Plans and Improvement Strategies • Tool Usage Benefit Maximization • Successful Partnering – Common Expectations – Clear Interaction Process
  • 31. Managing the Evolution of Software Systems High Performance Organization Characteristics “High performance IT organizations across all industries share common process characteristics: – Processes are clear; – The link between process and performance goals is well understood; and – The performance of processes is well measured and properly supported.” Page and Pearson, Transforming the IT Workforce, Outlook 2004, Number 2
  • 32. Managing the Evolution of Software Systems What Are the Maintenance Processes? Incident Handling End User Call Support Work Requests Admin. & Other Costs
  • 33. Managing the Evolution of Software Systems What Are the Maintenance Processes? ISO 1764, IEEE 1219
  • 34. Managing the Evolution of Software Systems Key Process Areas Mapped Production Incident Process Flow Work Request (WR) Process Flow 1 52 4 1 WR Received Time Sheet Tracking Preliminary Estimate 53 a 15 Print Time Sheets Prioritize 54 55 Time Entry 20 Print Weekly Time Audit 36 Development 2 40 Implementation Documentation 48 Customer Sat. 4 3 5 WR Log-In Tracking 6 Acknowledge WR Receipt 7 8 9 Identify Resources Create WR Estimate Task Assign Est. Resources Define Requirements 16 17 18 User Group Meeting Update WR Priority Print WR Status Report 19 Distribute WR 32 Determine Solutions Develop Project Plan 22 Work Request Scope Change Update WR Scope Change 25 26 28 Create WR Tasks/Estimate 29 30 Notify Memo 14 Estimate Approval 39 Production Notification Application Bulletin Application Documentation 41 42 43 User W/R Received Approval Production W/R Request MoveReceived Move Source/Object 44 31 WR Design & Specification Specification QC DB Change Request Code/Unit Testing Program QC (System Test) Update WR QC/CMPL. Dates User Acceptance Test (Date) 34 35 Work Request Issue Form 45 a 46 Update WR Issue Tracking 47 2 5 On-Line Program Feedback Form 13 50 User Returns Cust. 7 Incident Issue Form 8 14 Sat. Feedback Form Update Incident Issue Tracking 23 15 9 Incident Log-In 25 10 Assign Resources 11 17 6 24 Job Monitor Production Incident Process Flow Legend Legend 27 28 Incident Issue Form 33 7 Enhancement Manual Process Function 30 Update Incident Issue Tracking 29 10 15 No Action Required 35 31 16 36 87 Time-Entry 7 37 6 Support Issue Form Escalation Process Prioritize Incident 16 Corrective Action 32 Program Chng. WR Steps (28-45) 17 Update Support Issue Tracking 11 12 13 Escalation Process 18 User Approval (Close) 19 38 P04 39 Close Incident Update WR Close. Date Tracking User Approval (Close) 18 Close Incident 20 21 Work Request Process Flow Legend Main Process Function Manual Process Function Automated Process Function 8 Incident Notification Fill Out Call Support Ticket Identify Resources Log-In Ticket Tracking Support Process Flow Legend Assign Resources Main Process Function Update Incident Tracking 14 Close WR (Checklist Rev.) Classify Support 9 Function Corrective Action Update Incident Tracking 6 (Work Request) 34 Assign Resources Incident Investigation Night Support Analyst Identify Outside Resources Consulting Automated Process Program Chng. WR Steps 28-45 Notify Resources Incident Log-In Tracking Main Process Function Escalation Process 12 Monitor Production Identify Resources 5 3 26 Identify Resources Tracking Log In Feedback After Hours 22 Capture Incident Data Notify Resources 4 Business Hours Batch Program 49 Print Customer Sat. 51 Call Support Capture Incident Data Classify Incident Program Turnover Resource 13 WR Estimate & P02 Final Estimate 24 Assign Develop Analysis 12 38 Estimate 27 11 Function -Point 37 Identify Resources 23 Update WR Final Report 33 10 21 21 Feedback Form 6 2 Non-ABEND Incident 1 ABEND/ Job Abort 3 Job Abort Support Process Flow 20 Incident Notification Manual Process Function Consulting/ Investigation Automated Process Function User Approval (Close) Update Ticket Tracking Close Call Support Ticket Figure X.X P03 19 Time Entry
  • 35. Managing the Evolution of Software Systems Work Request Process Mapped Work Request (WR) Process Flow 52 4 1 WR Received 2 3 5 WR Log-In Tracking 6 Acknowledge WR Receipt 7 8 9 Time Sheet Tracking Preliminary Estimate Identify Resources Create WR Estimate Task Assign Est. Resources Define Requirements 53 a 15 16 17 18 19 Print Time Sheets Prioritize User Group Meeting Update WR Priority Print WR Status Report Distribute WR Report 32 Determine Solutions 33 10 Develop Project Plan Work Request Scope Change Update WR Scope Change 54 20 21 22 26 Analysis 28 Create WR Tasks/Estimate 29 13 WR Estimate & 30 12 Notify Memo P02 14 Estimate Approval 37 38 Final Estimate 39 Final Estimate 25 31 Specification QC DB Change Request Code/Unit Testing Program QC (System Test) Update WR QC/CMPL. Dates User Acceptance Test (Date) Production Notification Application Bulletin Application Documentation 48 Implementation 41 42 43 User W/R Received Approval Production W/R Request MoveReceived Move Source/Object 44 Assign Develop Resource WR Design & Specification 40 Documentation Identify Resources 23 Update WR 24 Print Weekly Time Audit 36 Development 27 11 Function -Point 55 Time Entry 34 35 Work Request Issue Form 45 a 46 Update WR Issue Tracking 47 Program Turnover Monitor Production Close WR (Checklist Rev.) Update WR Close. Date Work Request Process Flow Legend Main Process Function Manual Process Function Automated Process Function Customer Sat. Feedback Form 49 Print Customer Sat. Feedback Form 50 51 User Returns Cust. Sat. Feedback Form Log In Feedback
  • 36. Managing the Evolution of Software Systems Process Step Map
  • 37. Managing the Evolution of Software Systems Metrics Process, Metrics and People
  • 38. Managing the Evolution of Software Systems What Maintenance Management Measures • Volume of Service – Measured by the number of units of services and the number of services delivered per unit of time. • Quality – Measured by defect rates, standards compliance, technical quality, services availability, and service satisfaction. • Responsiveness – Measured by time to acknowledge, time to implement, and services backlog. • Efficiency – Measured by cost per unit of service delivered
  • 39. Managing the Evolution of Software Systems High Performance Organization Characteristics “High performance IT organizations across all industries share common process characteristics: – Processes are clear; – The link between process and performance goals is well understood; and – The performance of processes is well measured and properly supported.” Page and Pearson, Transforming the IT Workforce, Outlook 2004, Number 2
  • 40. Managing the Evolution of Software Systems Quality Management Performance Over Time
  • 41. Managing the Evolution of Software Systems Customer Satisfaction Management
  • 42. Managing the Evolution of Software Systems Quality Management Rework Management
  • 43. Managing the Evolution of Software Systems Quality Management Defect Management Identify Incident Causes Data Errors: 34 Hours Drill Down into Root Causes – Repeated Data Errors within the Order Processing System
  • 44. Managing the Evolution of Software Systems Productivity Management Efficiency Management
  • 45. Managing the Evolution of Software Systems Productivity Management Effectiveness Management
  • 46. Managing the Evolution of Software Systems Productivity Objective: More Time Focused on Value Adding Activities Analysis ofof Previous MonthHours Analysis Total Year-to-Date Hours Analysis of Total Year-to-Date Hours Analysis of Previous Month Hours Admin, 47 Admin, 57 Work Requests, 381 Work Requests, 173 Call Support, 102 Call Support, 113 Incidents, 104 Admin Call Support Incidents Incidents, 229 Work Requests Admin Call Support Incidents Work Requests
  • 47. Managing the Evolution of Software Systems People Process, Metrics and People
  • 48. Managing the Evolution of Software Systems Motivation is KEY to Productivity Improvement • Most productivity studies have found that motivation has a stronger influence on productivity than any other factor. - Barry Boehm, 1981
  • 49. Managing the Evolution of Software Systems Achievement and Recognition Recognition of Achievement is VERY Important to Developers Accurate, Objective Metrics Meet People’s Needs.
  • 50. Managing the Evolution of Software Systems Motivating Developers • • • • • The Work Itself Achievement Advancement Compensation Recognition - Cougar, Zawacki, Opperman, MIS Quarterly
  • 51. Managing the Evolution of Software Systems What Motivates Developers?
  • 52. Managing the Evolution of Software Systems Getting People to Use the System • Threaten Them • Incent Them – Make Job Easier Through Automation – Ensure Recognition Through Metrics How to Herd Cats
  • 53. Managing the Evolution of Software Systems High Performance Organization Characteristics “High performance IT organizations across all industries share common process characteristics: – Processes are clear; – The link between process and performance goals is well understood; and – The performance of processes is well measured and properly supported.” Page and Pearson, Transforming the IT Workforce, Outlook 2004, Number 2
  • 54. Managing the Evolution of Software Systems Assignment Management
  • 55. Managing the Evolution of Software Systems Task Management
  • 56. Managing the Evolution of Software Systems Estimation Management
  • 57. Managing the Evolution of Software Systems Issue Management
  • 58. Managing the Evolution of Software Systems Time Management
  • 59. Managing the Evolution of Software Systems Change (Scope) Management
  • 60. Managing the Evolution of Software Systems Quality Management – Step Level
  • 61. Managing the Evolution of Software Systems How to Implement Setting Achievable Goals, Objectively Measuring Performance
  • 62. Managing the Evolution of Software Systems Improved Capability Level How They Did It: Three-Phase Implementation Model OPTIMIZATION Streamline & Craft Work Processes CONTROL VISIBILITY Classify and Capture Work, Metrics, Resources and Time Implement Workflow Processes
  • 63. Managing the Evolution of Software Systems Visibility • To “Shine a Light” on What is Being Done By Whom and How • To Capture Performance Metrics; Baseline, Operational and Systemic
  • 64. Managing the Evolution of Software Systems Control • To Produce Meaningful Process and Product Management Metrics • To Ensure That Performance Meets Customer Expectations (and React Quickly and Effectively To Variation ) • To Provide a Stable Platform for Process Improvement Experiments and Improvement Deployment
  • 65. Managing the Evolution of Software Systems Optimization • To Identify Efficiency Improvement Opportunities • To Identify Effectiveness Improvement Opportunities
  • 66. Managing the Evolution of Software Systems What We Need: Maintenance and the Three Principles IN CS WR Visibility What is causing error? What problems are being experienced? What are people working on? Control Are errors being closed within SLAs? Are problems being resolved within SLAs? Are WR being completed within SLAs/Estimates ? Optimization What errors are recurring? Are the corrective actions working? What calls are recurring? Are corrective actions working? What’s causing us to miss estimates? Are corrective actions working?
  • 67. Managing the Evolution of Software Systems Next Steps A Best Practice Assessment is Your First Step Toward Realizing the Benefits of Best Practices Organization… – Visibility – Control – Optimization
  • 68. Managing the Evolution of Software Systems Best Practice Assessment Process The Best Practice Assessment Helps You Answer … Where Are We? 1. Identify Current State Is Current State = Best Practice? 2. Analyze Gap Where Do We Want To Be? 3. Develop Future State Vision How Should We Get There? 4. Prepare Recommendation
  • 69. Managing the Evolution of Software Systems CAI Profile World Leader in IT Process and Productivity
  • 70. Managing the Evolution of Software Systems CAI Company Profile • Founded 1980 • 2000+ Employees • Offices in US, Europe, Canada, and Philippines • 70% of Revenue from Managed Services Partnerships • Fortune-1000 Customer Base • World-Class Solution Centers • Long-term Strategic Partnership Focused
  • 71. Managing the Evolution of Software Systems
  • 72. Managing the Evolution of Software Systems CAI Product Of ferings • Application Support & Maintenance – Managed Maintenance • Application Development – Construction Management • Desktop Services & Help Desk – Help Desk, Workstation Support, IMAC • Staff Augmentation - T&M Consulting
  • 73. Managing the Evolution of Software Systems The CAI Value Proposition CAI enables its clients to: • Track and measure the right activities in the IT function • Compare IT performance vs. benchmark data • Optimize IT performance, using data to make decisions • Achieve double-digit % gains in IT productivity • Establish objective measures of IT worker performance This is made possible through the use of: • A unique metrics-based methodology – “Managed Maintenance” • The proprietary TRACER® software tool and data repository
  • 74. Managing the Evolution of Software Systems Closing Thoughts Embrace Change
  • 75. Managing the Evolution of Software Systems Thoughts on Change It is not necessary to change. Survival is not mandatory. W. Edwards Deming Beware becoming change-averse change agents. Barry Boehm, SEI Symposium 2000 In theory, there is no difference between theory and practice. In practice there is. Lawrence Peter Berra
  • 76. Managing the Evolution of Software Systems Excellent IT Reference Site www.itmpi.org

Notas do Editor

  1. Which is crazy, given the apparent excellence of many individuals. Why can’t we leverage the knowledge of the top tier?
  2. Also shows that there is TWICE the opportunity in maintenance as in development
  3. Process management must reflect whatever management styles are in place in an organization. And often, multiple styles are present in differnet parts of the same organization. The most modern – Theory Z – applies most to our next topic, Lean
  4. Education, Tracking, Artifact Assistance if artifacts available
  5. Value – Staying on Top of How the Customer Feels about the value being delivered.
  6. Tracer data for incidents can be analyzed for commonly occurring events. Root cause analysis of those events and remediation can remove the time attributed to those events from the incident category. This makes more time available for customer directed activity (i.e. enhancements)
  7. Here’s what its all about. CAI is about reducing time spent on non-strategic work (calls and incidents) in order to increase the time available for strategic work (enhancements). This in effect provides the customer a capacity increase which they can then manage as they choose. Non-strategic work can be reduced by analyzing and reviewing the detailed Tracer data composing the calls and incidents pieces to the pie chart.
  8. VALUE – What are we doing to create value for our customers
  9. Value Stream – How are we creating value for our customers
  10. What is the value going to take (expectation setting, value in reliability)
  11. Flow – Identifying and eliminating obstacles to workflow.
  12. Value – Making sure that what is being done is what adds value – right now – for the customer.
  13. Flow – Making sure that what is expected to happen, happens
  14. CAI’s application support methodology is more than a three ring binder and a tool. It is a structured approach to maintaining software collected from best practice in more than 100 engagements over 15 years. It offers a time proven lifecycle for transitioning the client from the “as is” to the “to be” environment. The Tracer tool, which accompanies the methodology, reinforces the defined application support disciplines. In addition, seasoned CAI consultants assure an effective transition to the CAI process in addition to the successful execution of the CAI support process.