19 maintenance and release management - 3

25
Global Software Maintenance Teams: Session 3: Maintenance Processes & Estimation [email protected]

description

 

Transcript of 19 maintenance and release management - 3

Page 1: 19 maintenance and release management - 3

Setting up and Managing Global Software Maintenance Teams:

Session 3: Maintenance Processes &Estimation

[email protected]

Page 2: 19 maintenance and release management - 3

To understand the processes that constitute support and maintenance activities

To look at a methodology of estimating key resources for maintenance

Maintenance and Release Management - Session 3 2

Session Objectives

Page 3: 19 maintenance and release management - 3

Roles in Support and Maintenance

Maintenance and Release Management - Session 3 3

Customer Side End Users (who

actually use the product and encounter problems)

“Product-in-charge” (point of contact from customer organization to vendor)

Vendor Side Support Analyst Maintenance Engineer Developer

Page 4: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 4

Customer Call Center

Expert LevelSupport

Defect Fixers

DefectTracking/CustomerRepository

SourceCode

Problem

Transfers to

Defect Report Resolution

Technical Articles

Problem Log

KnowledgeRepository

Resolution

Resolution

A High Level Workflow for Corrective Maintenance

© “Software Maintenance” Gopalaswamy Ramesh and Ramesh Bhattiprolu, Tata McGraw Hill, 2005 (exp)

Page 5: 19 maintenance and release management - 3

End UsersProduct In-chargein the customer organization

Encounters a “problem”Is there sufficientInfo about the problem?

Reports Problem Details

NO Requests Required Information

YES

Ascertain the businessImpact of the problem

Any obvious usage errors?

Provide solution to the end usersYES

NO

Understand business impact

Sources of Information About Known Problems

Any workarounds?

Close the loop with end usersYES

NO

Get the required Information to report toProduct organization

Maintenance and Release Management - Session 3 5

Customer Side Activities For Problem Reporting

© “Software Maintenance” Gopalaswamy Ramesh and Ramesh Bhattiprolu, Tata McGraw Hill, 2005 (exp)

Page 6: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 6

Product In-chargein the customer organization

Support Analystsin the product organization

Get the required Information to report toProduct organization

Customer Database

Customer SupportRepository

Logging the Problem(Or any updates)

Is the customerEligible for support?

Choose the right analyst

All the required infoavailable?

Problem Knowledgebase

Solution or workaroundFound?

DefectRepository

Req

uest

Fur

ther

Info

usi

ngD

iagn

ostic

Info

rmat

ion

Cap

ture

Too

ls

Reports Problem

Clo

se th

e lo

op w

ith th

e cu

stom

er

YES

YES

YES

NO

NO

(To next levels of support / development)

First Contacts With Vendor…

© “Software Maintenance” Gopalaswamy Ramesh and Ramesh Bhattiprolu, Tata McGraw Hill, 2005 (exp)

Page 7: 19 maintenance and release management - 3

Categorization of problem Prioritizing the problem Identifying the right resource Reproducing the problem Making and testing the fix

Maintenance and Release Management - Session 3 7

Problem Resolution Activities

Maintaining Accountability at all times for any problem

Page 8: 19 maintenance and release management - 3

Check in code changes to the appropriate branch as per organization policies

- latest version first - reported version first Ensure code changes propagate to all

relevant branches Non code change issues should be

documented,archived and easily searchable

Maintenance and Release Management - Session 3 8

Problem Resolution (cont’d)

Page 9: 19 maintenance and release management - 3

Choosing the method of distribution Distributing individual fixes Vs Patch Bundle

Minimize distribution of individual fixes Patch Bundle questions

What fixes to send? What frequency for the patch bundles?

Preparing the patch bundle Composing the fixes Ensuring documentation is updates

Testing the Shipment Unit All the fixes work together, without impacting each other No side effects

Making available the patch bundles Web hosting Notification

- Schedule of patches

Maintenance and Release Management - Session 3 9

Fix Distribution Activities & Scheduling

Page 10: 19 maintenance and release management - 3

Componentization and difficulty in assigning accountability

Hot Potato Syndrome! Need to follow processes in crunch mode Ensure relevant and correct metrics are

captured at every stage and evaluate them Achieving Continuous Improvement (covered

in the next two slides)

Maintenance and Release Management - Session 3 10

Process Challenges

Page 11: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 11

Achieving Continuous Improvement: #1: Better Design

Design for Diagnosability

• Self Checking Structures• User Activatable Conditions• M/c Readable Configurations

•Design for Maintainability

• Standardization • Documentation• Modularization

Design for Testability

• Expected Behavior Specifications • Exception Conditions • Scenario Specifications

Page 12: 19 maintenance and release management - 3

Introducing customer encountered test cases into regression suites

Using Customer Support Feedback in maintaining Regression Tests

Using Product Management Feedback in Regression Tests

Maintenance and Release Management - Session 3 12

Achieving Continuous Improvement: #2: Better Integration With Regression

Testing

Page 13: 19 maintenance and release management - 3

Self healing Self service E-Support Standard Configurations Hosted Models Process Automation - change propagation to other branches - patch build , testing and delivery

Maintenance and Release Management - Session 3 13

Futures of Maintenance

Page 14: 19 maintenance and release management - 3

Adaptive maintenance Certification Enhancement Requests Preventive Maintenance Activities

Maintenance and Release Management - Session 3 14

Other Types Of Maintenance Activities

Page 15: 19 maintenance and release management - 3

To understand the processes that constitute support and maintenance activities

To look at a methodology of estimating key resources for maintenance

Maintenance and Release Management - Session 3 15

Session Objectives

Page 16: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 16

So How To Estimate Maintenance Resources…

•Base of historical data•Complexity of product•Geographical distribution of Customers•Future product plans•Target maintenance group composition - depending on level of the team•Infrastructure available

Page 17: 19 maintenance and release management - 3

Maintenance workload Incoming Defects (by Priority / Severity) Turnaround times needed

Where to do maintenance Skill sets needed Socio-economic factors

Choice of work packages and handover Training times Sustenance times for releases

Maintenance and Release Management - Session 3 17

Step 0:Identify the key parameters to be

estimated

Page 18: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 18

Step 1: Identify the Key High Level Factors Affecting

The Parameters

Product SpecificFactors

Infrastructure SpecificFactors

Customer SpecificFactors

People RelatedFactors

© “Software Maintenance” Gopalaswamy Ramesh and Ramesh Bhattiprolu,

Page 19: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 19

Step 2: Identify the Key Questions in each of the

factors

Product SpecificFactors

Infrastructure SpecificFactors

Customer SpecificFactors

People RelatedFactors

• Is this a major release or a maintenance version?• For a new version, what is the levelof preparedness of Support staff?• What were the residual unfixed problems and their severities?• How many files have been modified in this release?• Is there a “Migration” phase that needs to be accounted for?• Are there seasonal variations in theproduct usage?• Have you classified the modules interms of usage or complexity?

© “Software Maintenance” Gopalaswamy Ramesh and Ramesh Bhattiprolu,

Page 20: 19 maintenance and release management - 3

Maintenance and Release Management - Session 3 20

Key Questions That Apply To Any Factor…

•Base of historical data•Complexity of product•Geographical distribution of Customers•Future product plans•Target maintenance group composition - depending on level of the team•Infrastructure available

Page 21: 19 maintenance and release management - 3

Use the Defect Repository , analyze it on all aspects

Use past data Listen to your customers Take the view points of the employees Use your intuition!

Maintenance and Release Management - Session 3 21

Step 3: Baseline the data for the key questions

Page 22: 19 maintenance and release management - 3

Outdated Information worse than no information!

Maintenance and Release Management - Session 3 22

Step 4: Keep the data updated

Page 23: 19 maintenance and release management - 3

Classification of past defects on - Product Components - Nature of defect and impact - Root cause and solution - Volumes – Time/Release related - Resolution point within

maintenance organization (first level , second level etc)

Maintenance and Release Management - Session 3 23

Estimation data points – quantifiable inputs

Page 24: 19 maintenance and release management - 3

Appropriate staffing at each level in maintenance organization

Estimation of CM resources required for maintenance versions

Hardware , Software resource requirements Pointers on skill levels within the

maintenance organization to identify training , reskilling exercises.

Maintenance and Release Management - Session 3 24

Outputs from estimation

Page 25: 19 maintenance and release management - 3

To understand the processes that constitute support and maintenance activities

To look at a methodology of estimating key resources for maintenance

Maintenance and Release Management - Session 3 25

Session Objectives - Recap