19 maintenance and release management - 3
description
Transcript of 19 maintenance and release management - 3
Setting up and Managing Global Software Maintenance Teams:
Session 3: Maintenance Processes &Estimation
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
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
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)
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)
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)
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
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)
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
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
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
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
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
Adaptive maintenance Certification Enhancement Requests Preventive Maintenance Activities
Maintenance and Release Management - Session 3 14
Other Types Of Maintenance Activities
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
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
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
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,
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,
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
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
Outdated Information worse than no information!
Maintenance and Release Management - Session 3 22
Step 4: Keep the data updated
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
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
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