SlideShare a Scribd company logo
1 of 17
An Introduction To Software
Development Using Python
Spring Semester, 2015
Class #24:
Software Support and
Maintenance
Yea! We’re Done – Or Are We?
• It feels great to complete the final iteration
• Now the real work starts – supporting a product lasts many
times longer than the developing the product took (years)
• The success of the product is based on real user’s experience
with the software.
• Products can be released with bugs and missing features.
• You had better understand and prepare for post release
customer support.
Image Credit: www.playbuzz.com
What Is Customer Support?
• Customer support consists of two main activities:
– Product defect support
– Product nondefect support and services
• Support is not free – customers are charged a fee:
10% - 20% of the purchase price for 1 year of support
• Paying customers expect a professional level of
support and regular maintenance updates.
Image Credit: www.ddssupport.com
User Problem Arrival Rate
• When software is released, there is usually a surge in customer questions
and support requests.
• Initially customers find all of the easy to find bugs.
• Expect problem reports to decrease over time
• If you don’t see a surge in issues, then there is a good chance the your
customers are not using the software the you just delivered to them.
Preparing To Support A Product
• Support preparation has to start before the software is
released.
• Problem arrival rate has to be estimated.
• The problem arrival curve will determine the number of
people required and the expected workload.
• Support staff have to be educated on the software product.
• Support staff can be made part of the testing effort in order to
provide them with an education on both the software and the
usage environment.
Image Credit: techsupportwindows.com
Every Product Dies
• Every product enters a sunset period and is eventually taken
off the market
• This can take a year or two and involves the following steps:
– Stop new feature releases
– Fix only high severity problems related to the product
– Announce a new replacement product
– Encourage existing users to migrate to the new product
– Notify remaining users of the planned termination of product support
– Pass on possible vendors who might continue to support old product
– Terminate support on announced date and withdraw product from the
market.
Image Credit: www.wpclipart.com
Customer Service Organizations
• Example of a customer service organization with two levels of service and
support.
• Outer layer interfaces with customers and inner layer of technical experts
diagnose and fix more difficult problems.
Image Credit: www.epilepsy-setn.org
What Does A Customer Support
Representative Do?
• Get the customer’s name and proof that they have paid for support
• Listen to and record a description of the problem
• Check the FAQ database to see if there is an existing solution to this
problem
• Provide customer with the solution if this is something that is in the FAQ
database
• Provide an expected fix date if this issue has already been reported
• If this is a new problem, provide a work-around. Agree with the customer
on a severity level for this issue. Provide customer with an estimated fix
date.
• Record the problem and issue a report to the technical fix team.
Image Credit: www.iqsol.biz
Technical Problem / Fix
• If support staff can’t fix a problem, then the technical analyst
is brought in.
• Based on the trouble ticket, the solution to the problem is
designed, coded, and tested.
Image Credit: techsupportwindows.com
Process For Fixing A
Customer Problem
• The problem description, priority, and other important information is
recorded in a problem report that is submitted to the technical fix group.
• The technical fix group will attempt to reproduce the problem.
• The technical fix group will then either accept or reject the problem.
• If the problem is rejected, the customer support team is immediately
notified; if it is accepted, then a change request is generated and it enters
the code change cycle.
• Depending on priority, a new code version may be created or the fix will
be scheduled to be part of a future release.
• The FAQ database is updated with information on this issue
Image Credit: www.innoforce.com
Why Is Software Support So Hard?
• Note that the design, code, test of software support is very
similar to the design, code, test of software development.
• The problem is that firms may not treat software support with
the same level of discipline because only 1 or 2 lines of code
may get fixed.
• People may be tempted to just fix a problem and then go on.
• However you need to remember to keep the requirements,
design, coding, and testing documents up-to-date.
• Code fixes often have to be propagated to
other versions of the code.
Image Credit: falcon1.net
Fix Deliveries & Fix Installs
• Periodic fix releases issued on a
regular schedule
• Contains code fixes made since
last release of the code
• Contains only those modules
affected by the code fixes
• Customer is expected to apply
fixes in sequential order
• High-priority emergency fixes
• Customer immediately applies fix
upon receiving it
• This fix may have to be backed up
before the next periodic fix is
applied
New Software Release
Image Credit: techsupportwindows.com
Product Maintenance Updates and
Release Cycles
• Product maintenance releases do not always just contain bug fixes.
• A version of the product that has fantastic new functionality is generally
sold to existing customers as a new product.
• Small additional features are included in maintenance releases and
provided for free (e.g. new printer support).
Image Credit: techsupportwindows.com
Change Control
• A customer service organization must be able to control the
changes that they are making no matter where they come
from.
• Generally, the scheduling of changes is based on customer
priority and the level of support resources.
• Change control is a process that manages the following
activities:
– Origination of a change request
– Approval of a change request
– Acting on a change request
– Tracking and closing a change request
Image Credit: web.pdo.co.om
The Change Request Form
• Information on what needs to be changed is captured on a
“change request form”.
• Every change request is given a tracking number, the date
created, who created it, and is assigned a priority (H,M,L).
• Impact analysis identifies part of the code that this change
will affect.
• Work estimates are created and added to the request form.
• Change requests forms can be studied
in order to get a better sense of what
problems customers are having
with the product.
What We Covered Today
1. Organization of customer
service groups.
2. How customer problems
are fixed.
3. Product Maintenance
Updates and Release
Cycles
4. Change control
Image Credit: http://www.tswdj.com/blog/2011/05/17/the-grooms-checklist/
What We’ll Be Covering Next Time
1. In-Class Team
Presentations!
Image Credit: http://merchantblog.thefind.com/2011/01/merchant-newsletter/resolve-to-take-advantage-of-these-5-e-commerce-trends/attachment/crystal-ball-fullsize/

More Related Content

Viewers also liked

An Introduction To Python - Working With Data
An Introduction To Python - Working With DataAn Introduction To Python - Working With Data
An Introduction To Python - Working With DataBlue Elephant Consulting
 
An Introduction To Python - Tables, List Algorithms
An Introduction To Python - Tables, List AlgorithmsAn Introduction To Python - Tables, List Algorithms
An Introduction To Python - Tables, List AlgorithmsBlue Elephant Consulting
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationBlue Elephant Consulting
 
An Introduction To Python - Functions, Part 2
An Introduction To Python - Functions, Part 2An Introduction To Python - Functions, Part 2
An Introduction To Python - Functions, Part 2Blue Elephant Consulting
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignBlue Elephant Consulting
 
An Introduction To Python - Python Midterm Review
An Introduction To Python - Python Midterm ReviewAn Introduction To Python - Python Midterm Review
An Introduction To Python - Python Midterm ReviewBlue Elephant Consulting
 

Viewers also liked (13)

An Introduction To Python - Files, Part 1
An Introduction To Python - Files, Part 1An Introduction To Python - Files, Part 1
An Introduction To Python - Files, Part 1
 
An Introduction To Python - Lists, Part 2
An Introduction To Python - Lists, Part 2An Introduction To Python - Lists, Part 2
An Introduction To Python - Lists, Part 2
 
An Introduction To Python - Working With Data
An Introduction To Python - Working With DataAn Introduction To Python - Working With Data
An Introduction To Python - Working With Data
 
An Introduction To Python - Lists, Part 1
An Introduction To Python - Lists, Part 1An Introduction To Python - Lists, Part 1
An Introduction To Python - Lists, Part 1
 
An Introduction To Python - Tables, List Algorithms
An Introduction To Python - Tables, List AlgorithmsAn Introduction To Python - Tables, List Algorithms
An Introduction To Python - Tables, List Algorithms
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
 
An Introduction To Python - Functions, Part 2
An Introduction To Python - Functions, Part 2An Introduction To Python - Functions, Part 2
An Introduction To Python - Functions, Part 2
 
An Introduction To Python - Dictionaries
An Introduction To Python - DictionariesAn Introduction To Python - Dictionaries
An Introduction To Python - Dictionaries
 
An Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed DesignAn Introduction To Software Development - Architecture & Detailed Design
An Introduction To Software Development - Architecture & Detailed Design
 
An Introduction To Python - Graphics
An Introduction To Python - GraphicsAn Introduction To Python - Graphics
An Introduction To Python - Graphics
 
An Introduction To Python - Python Midterm Review
An Introduction To Python - Python Midterm ReviewAn Introduction To Python - Python Midterm Review
An Introduction To Python - Python Midterm Review
 
An Introduction To Python - FOR Loop
An Introduction To Python - FOR LoopAn Introduction To Python - FOR Loop
An Introduction To Python - FOR Loop
 
An Introduction To Python - WHILE Loop
An Introduction To  Python - WHILE LoopAn Introduction To  Python - WHILE Loop
An Introduction To Python - WHILE Loop
 

Similar to An Introduction To Software Development - Software Support and Maintenance

Provide first level remote help desk support
Provide first level remote help desk supportProvide first level remote help desk support
Provide first level remote help desk supportGera Paulos
 
Problem statement
Problem statementProblem statement
Problem statementKanika Jain
 
Phases of software development
Phases of software developmentPhases of software development
Phases of software developmentCeline George
 
Dont Fear the Freemium
Dont Fear the FreemiumDont Fear the Freemium
Dont Fear the FreemiumNeil McCarthy
 
Software testing acceptance testing
Software testing  acceptance testingSoftware testing  acceptance testing
Software testing acceptance testingGaneshKumarKanthiah
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance pptAnas Usman
 
IBM Software Support and Subscription
IBM Software Support and SubscriptionIBM Software Support and Subscription
IBM Software Support and SubscriptionChris Sparshott
 
19c SCP Upgrade Proposal Final.pptx
19c SCP Upgrade Proposal Final.pptx19c SCP Upgrade Proposal Final.pptx
19c SCP Upgrade Proposal Final.pptxTran Duc Dai
 
Online platform for a leading American consumer electronic enterprise.
Online platform for a leading American consumer electronic enterprise.Online platform for a leading American consumer electronic enterprise.
Online platform for a leading American consumer electronic enterprise.Mindtree Ltd.
 
Project Mahhhhhhhhhhhhhhhhnagement ppt1.ppt
Project Mahhhhhhhhhhhhhhhhnagement ppt1.pptProject Mahhhhhhhhhhhhhhhhnagement ppt1.ppt
Project Mahhhhhhhhhhhhhhhhnagement ppt1.pptDarrajBrahim1
 
Partner Premier Success: Best Practices for Solving Platform Issues (October ...
Partner Premier Success: Best Practices for Solving Platform Issues (October ...Partner Premier Success: Best Practices for Solving Platform Issues (October ...
Partner Premier Success: Best Practices for Solving Platform Issues (October ...Salesforce Partners
 
Whole Product: Life Beyond MVP
Whole Product: Life Beyond MVPWhole Product: Life Beyond MVP
Whole Product: Life Beyond MVPDavid Nash
 

Similar to An Introduction To Software Development - Software Support and Maintenance (20)

SOFTWARE MAINTENANCE -1
SOFTWARE MAINTENANCE -1SOFTWARE MAINTENANCE -1
SOFTWARE MAINTENANCE -1
 
Provide first level remote help desk support
Provide first level remote help desk supportProvide first level remote help desk support
Provide first level remote help desk support
 
provide1923.pptx
provide1923.pptxprovide1923.pptx
provide1923.pptx
 
Problem statement
Problem statementProblem statement
Problem statement
 
Phases of software development
Phases of software developmentPhases of software development
Phases of software development
 
Five Steps in Problem Analysis
Five Steps in Problem AnalysisFive Steps in Problem Analysis
Five Steps in Problem Analysis
 
Dont Fear the Freemium
Dont Fear the FreemiumDont Fear the Freemium
Dont Fear the Freemium
 
Software testing acceptance testing
Software testing  acceptance testingSoftware testing  acceptance testing
Software testing acceptance testing
 
GRO n GO
GRO n GO GRO n GO
GRO n GO
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance ppt
 
IBM Software Support and Subscription
IBM Software Support and SubscriptionIBM Software Support and Subscription
IBM Software Support and Subscription
 
19c SCP Upgrade Proposal Final.pptx
19c SCP Upgrade Proposal Final.pptx19c SCP Upgrade Proposal Final.pptx
19c SCP Upgrade Proposal Final.pptx
 
Spm intro
Spm introSpm intro
Spm intro
 
Online platform for a leading American consumer electronic enterprise.
Online platform for a leading American consumer electronic enterprise.Online platform for a leading American consumer electronic enterprise.
Online platform for a leading American consumer electronic enterprise.
 
Project Mahhhhhhhhhhhhhhhhnagement ppt1.ppt
Project Mahhhhhhhhhhhhhhhhnagement ppt1.pptProject Mahhhhhhhhhhhhhhhhnagement ppt1.ppt
Project Mahhhhhhhhhhhhhhhhnagement ppt1.ppt
 
SRE.pptx
SRE.pptxSRE.pptx
SRE.pptx
 
Partner Premier Success: Best Practices for Solving Platform Issues (October ...
Partner Premier Success: Best Practices for Solving Platform Issues (October ...Partner Premier Success: Best Practices for Solving Platform Issues (October ...
Partner Premier Success: Best Practices for Solving Platform Issues (October ...
 
Whole Product: Life Beyond MVP
Whole Product: Life Beyond MVPWhole Product: Life Beyond MVP
Whole Product: Life Beyond MVP
 
Juniper Services and Support
Juniper Services and SupportJuniper Services and Support
Juniper Services and Support
 
SOFTWARE MAINTENANCE -3
SOFTWARE MAINTENANCE -3SOFTWARE MAINTENANCE -3
SOFTWARE MAINTENANCE -3
 

Recently uploaded

Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayMakMakNepo
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 

Recently uploaded (20)

Quarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up FridayQuarter 4 Peace-education.pptx Catch Up Friday
Quarter 4 Peace-education.pptx Catch Up Friday
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 

An Introduction To Software Development - Software Support and Maintenance

  • 1. An Introduction To Software Development Using Python Spring Semester, 2015 Class #24: Software Support and Maintenance
  • 2. Yea! We’re Done – Or Are We? • It feels great to complete the final iteration • Now the real work starts – supporting a product lasts many times longer than the developing the product took (years) • The success of the product is based on real user’s experience with the software. • Products can be released with bugs and missing features. • You had better understand and prepare for post release customer support. Image Credit: www.playbuzz.com
  • 3. What Is Customer Support? • Customer support consists of two main activities: – Product defect support – Product nondefect support and services • Support is not free – customers are charged a fee: 10% - 20% of the purchase price for 1 year of support • Paying customers expect a professional level of support and regular maintenance updates. Image Credit: www.ddssupport.com
  • 4. User Problem Arrival Rate • When software is released, there is usually a surge in customer questions and support requests. • Initially customers find all of the easy to find bugs. • Expect problem reports to decrease over time • If you don’t see a surge in issues, then there is a good chance the your customers are not using the software the you just delivered to them.
  • 5. Preparing To Support A Product • Support preparation has to start before the software is released. • Problem arrival rate has to be estimated. • The problem arrival curve will determine the number of people required and the expected workload. • Support staff have to be educated on the software product. • Support staff can be made part of the testing effort in order to provide them with an education on both the software and the usage environment. Image Credit: techsupportwindows.com
  • 6. Every Product Dies • Every product enters a sunset period and is eventually taken off the market • This can take a year or two and involves the following steps: – Stop new feature releases – Fix only high severity problems related to the product – Announce a new replacement product – Encourage existing users to migrate to the new product – Notify remaining users of the planned termination of product support – Pass on possible vendors who might continue to support old product – Terminate support on announced date and withdraw product from the market. Image Credit: www.wpclipart.com
  • 7. Customer Service Organizations • Example of a customer service organization with two levels of service and support. • Outer layer interfaces with customers and inner layer of technical experts diagnose and fix more difficult problems. Image Credit: www.epilepsy-setn.org
  • 8. What Does A Customer Support Representative Do? • Get the customer’s name and proof that they have paid for support • Listen to and record a description of the problem • Check the FAQ database to see if there is an existing solution to this problem • Provide customer with the solution if this is something that is in the FAQ database • Provide an expected fix date if this issue has already been reported • If this is a new problem, provide a work-around. Agree with the customer on a severity level for this issue. Provide customer with an estimated fix date. • Record the problem and issue a report to the technical fix team. Image Credit: www.iqsol.biz
  • 9. Technical Problem / Fix • If support staff can’t fix a problem, then the technical analyst is brought in. • Based on the trouble ticket, the solution to the problem is designed, coded, and tested. Image Credit: techsupportwindows.com
  • 10. Process For Fixing A Customer Problem • The problem description, priority, and other important information is recorded in a problem report that is submitted to the technical fix group. • The technical fix group will attempt to reproduce the problem. • The technical fix group will then either accept or reject the problem. • If the problem is rejected, the customer support team is immediately notified; if it is accepted, then a change request is generated and it enters the code change cycle. • Depending on priority, a new code version may be created or the fix will be scheduled to be part of a future release. • The FAQ database is updated with information on this issue Image Credit: www.innoforce.com
  • 11. Why Is Software Support So Hard? • Note that the design, code, test of software support is very similar to the design, code, test of software development. • The problem is that firms may not treat software support with the same level of discipline because only 1 or 2 lines of code may get fixed. • People may be tempted to just fix a problem and then go on. • However you need to remember to keep the requirements, design, coding, and testing documents up-to-date. • Code fixes often have to be propagated to other versions of the code. Image Credit: falcon1.net
  • 12. Fix Deliveries & Fix Installs • Periodic fix releases issued on a regular schedule • Contains code fixes made since last release of the code • Contains only those modules affected by the code fixes • Customer is expected to apply fixes in sequential order • High-priority emergency fixes • Customer immediately applies fix upon receiving it • This fix may have to be backed up before the next periodic fix is applied New Software Release Image Credit: techsupportwindows.com
  • 13. Product Maintenance Updates and Release Cycles • Product maintenance releases do not always just contain bug fixes. • A version of the product that has fantastic new functionality is generally sold to existing customers as a new product. • Small additional features are included in maintenance releases and provided for free (e.g. new printer support). Image Credit: techsupportwindows.com
  • 14. Change Control • A customer service organization must be able to control the changes that they are making no matter where they come from. • Generally, the scheduling of changes is based on customer priority and the level of support resources. • Change control is a process that manages the following activities: – Origination of a change request – Approval of a change request – Acting on a change request – Tracking and closing a change request Image Credit: web.pdo.co.om
  • 15. The Change Request Form • Information on what needs to be changed is captured on a “change request form”. • Every change request is given a tracking number, the date created, who created it, and is assigned a priority (H,M,L). • Impact analysis identifies part of the code that this change will affect. • Work estimates are created and added to the request form. • Change requests forms can be studied in order to get a better sense of what problems customers are having with the product.
  • 16. What We Covered Today 1. Organization of customer service groups. 2. How customer problems are fixed. 3. Product Maintenance Updates and Release Cycles 4. Change control Image Credit: http://www.tswdj.com/blog/2011/05/17/the-grooms-checklist/
  • 17. What We’ll Be Covering Next Time 1. In-Class Team Presentations! Image Credit: http://merchantblog.thefind.com/2011/01/merchant-newsletter/resolve-to-take-advantage-of-these-5-e-commerce-trends/attachment/crystal-ball-fullsize/

Editor's Notes

  1. New name for the class I know what this means Technical professionals are who get hired This means much more than just having a narrow vertical knowledge of some subject area. It means that you know how to produce an outcome that I value. I’m willing to pay you to do that.