SlideShare a Scribd company logo
I hate Maintenance !

Maintenance SUCKS !
Agile Maintenance


     Naresh Jain

   Copyright © ThoughtWorks, 2005
Agenda of this discussion
   Glossary
   Why maintain software
   Types of Software Maintenance
   Traditional v/s Agile Maintenance Approach
   Agile Testing
   Agile Release Management
   Why maintenance is so expensive (and can be destructive)
   Agile Maintenance Best Practices
   Conclusion
   Q&A
                                                              3
Glossary
Software maintenance is defined as the process of modifying
a software system or component after delivery to correct
faults, improve performance or other attributes, or adapt to a
changed environment [IEEE 1990]


                 Iterative Agile Development


What’s the difference between Maintenance and Support?


            ADD MAX VALUE TO THE CLIENT !
                                                                 4
Why maintain software?
Stephen R Schach summarizes:

• Model of reality. As the reality changes, the software must adapt or die.


• Pressures from satisfied users, to extend the functionality of the
  product.


• Software is much easier to change than hardware. As a result, changes
  are made to the software whenever possible.


• Successful software survives well beyond the lifetime of the
  environment for which it was written.
                                                                              5
Types of Software Maintenance
 • Corrective maintenance is maintenance performed to correct faults
   in hardware or software [IEEE 1990]

 • Adaptive maintenance is software maintenance performed to make
   a computer program usable in a changed environment [IEEE 1990].

 • Perfective maintenance is software maintenance performed to
   improve the performance, maintainability, or other attributes of a
   computer program. [IEEE 1990]

 • Preventative maintenance is maintenance preformed for the
   purpose of preventing problems before they occur [IEEE 1990]

                                                                        6
The Frequency of Each Type of
Maintenance
                Types of Maintenance
           4%

     17%

                              Corrective (fixing faults)

                              Perfective (new functionality)

                              Adaptive (environmental changes)
   18%                61%
                              Other




                                                                 7
Traditional v/s Agile Maintenance
Approach
 Traditional approach Agile approach
 1.   Massive projects with waterfall model    1.   Small projects with agile model
 2.   CR Form                                  2.   Bug reports / story cards
 3.   Change control board [CCB]
 4.   CCB approves and prioritizes the bugs    3.   Developers estimate
                                               4.   Customer prioritizes the bugs
 5.   Summary of the bugs handed over to       5.   Common bug tracking database
      the developers – loss of context
 6.   Developers jump to the code and fix it   6.  QAs test and write functional
 7.   Update all the design documents              acceptance tests
                                               7. Developers write failing unit tests
                                               8. Developers fix it and run unit &
                                                   functional tests
 8.   Regression testing                       9. Regression testing
 9.   Patch release                            10. New release


                                                                                        8
Quick Fix or Iterative Development
 •   Quick fix is often used in emergency, corrective maintenance.
     Emergency maintenance is unscheduled corrective maintenance
     performed to keep a system operational [IEEE 1998]. Also called
     Code & Fix

 •   Iterative development process is based on the Evolutionary
     development paradigm [Takang and Grubb 1996] or Extreme
     Programming paradigm.

 •   Iterative enhancement involves a five-staged cycle:
      Analysis (simulation)
      User acceptance tests and Unit tests
      Redesign and implementation
      Regression tests
      Release
                                                                       9
Agile Maintenance Testing

  • Acceptance Testing – xUnit, FIT, …

  • Unit Tests – Black box functional unit tests

  • Regression testing is selective retesting of a system or
    component to verify that modifications have not caused
    unintended effects and that the system or component still
    complies with its specified requirements [IEEE 1990]




                                                                10
Agile Release Management
 Software release management, also known as software
   configuration management, is the management of activities
   surrounding release of one or more versions of software to one
   or more customers. Release management includes defining
   acceptable quality levels for release, authority to authorize the
   release, release procedures, and so on [IEEE 1990].


 Best practices:
 • Automated release creation and verification process
 • Automated management of application specific configuration
 • Simulation of target deployment environments and automated
   testing
 • Release creation from the QA environment
                                                                       11
Maintenance Smells
 • A lot of regression bugs

 • Less than 50% of the time is dedicated to refactoring

 • Developers not pairing 100%

 • Test coverage not improving with time

 • Lack of team outings

 • People getting stuck on the project for more than a year
                                                              12
Why Maintenance Is So Expensive
(and Can Be Destructive)?
  • Team stability
 • Contractual responsibility
 • Staff skills
 • Transition plan for team members
 • Program age and structure
 • Stressful nature of work
 • Fluctuation in the workload and resourcing problems
 • Planning
                                                         13
Agile Maintenance Best Practices
  •   Automated regression testing
  •   Continuous integration
  •   Coding standard
  •   Developers can focus on maintainability -
      Refactoring
  •   Pair programming
  •   Application logs
  •   Bug Tracking database – Knowledge repository
  •   Retrospectives
                                                     14
Agile Maintenance Best
•  Practices…
  QA – Developer pairing
• Debugging is parallelizable
• Involve your customer – Daily status, Project Wiki
  in Customer environment, IM conversations, IPM,
• Constantly improve the test coverage
• Use some acceptance test framework
• QA smoke test on the developer machine for
  immediate feedback
• Short releases
                                                       15
My 0.02
 • Source code is the king


 • Untrustworthy documentation


 • The bug-tracking database stores knowledge


 • Reproduction is essential to obtaining a
   solution

                                                16
Retrospective




                17
Thank you!


    email: njain@thoughtworks.com
    blog: http://jroller.com/page/njain

More Related Content

What's hot

Lean transformation
Lean transformationLean transformation
Lean transformation
Anand Subramaniam
 
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Amazon Web Services
 
HowTo Design your kanban board
HowTo Design your kanban boardHowTo Design your kanban board
HowTo Design your kanban boardJo Seibert
 
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
Ravi Tadwalkar
 
Understand your Business processes
Understand your Business processesUnderstand your Business processes
Understand your Business processes
Gaurav Kumar
 
AgileBA® - Agile Business Analysis - Foundation
AgileBA® - Agile Business Analysis - FoundationAgileBA® - Agile Business Analysis - Foundation
AgileBA® - Agile Business Analysis - Foundation
Mirosław Dąbrowski C-level IT manager, CEO, Agile, ICF Coach, Speaker
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
Intland Software GmbH
 
The Role of the Business Analyst in Benefits
The Role of the Business Analyst in BenefitsThe Role of the Business Analyst in Benefits
The Role of the Business Analyst in Benefits
IIBA UK Chapter
 
What is Scaled Agile Framework | Edureka
What is Scaled Agile Framework | EdurekaWhat is Scaled Agile Framework | Edureka
What is Scaled Agile Framework | Edureka
Edureka!
 
Iiba cbap
Iiba cbapIiba cbap
Software Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid MethodSoftware Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid Method
Intland Software GmbH
 
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEEHenrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Agileee
 
Agile transformation Explanined
Agile transformation ExplaninedAgile transformation Explanined
Agile transformation Explanined
LeadingAgile
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
IndicThreads
 
Hirschmann: Automotive SPICE Requirements for development process and tools
Hirschmann: Automotive SPICE Requirements for development process and tools Hirschmann: Automotive SPICE Requirements for development process and tools
Hirschmann: Automotive SPICE Requirements for development process and tools
Intland Software GmbH
 
Agile 101
Agile 101Agile 101
Agile 101
beLithe
 
Shingo Prize for Operational Excellence
Shingo Prize for Operational ExcellenceShingo Prize for Operational Excellence
Shingo Prize for Operational Excellence
Mohammed Hamed Ahmed Soliman
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
Sebastian Radics
 
SAFe portfolio management @ Knowit nov 28
SAFe portfolio management @ Knowit nov 28SAFe portfolio management @ Knowit nov 28
SAFe portfolio management @ Knowit nov 28
Knowit_TM
 
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Jens Wilke
 

What's hot (20)

Lean transformation
Lean transformationLean transformation
Lean transformation
 
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
Four Strategies to Create a DevOps Culture & System that Favors Innovation & ...
 
HowTo Design your kanban board
HowTo Design your kanban boardHowTo Design your kanban board
HowTo Design your kanban board
 
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)Advanced kanban overview for waterfall & scrum practitioners  (16x9 deck)
Advanced kanban overview for waterfall & scrum practitioners (16x9 deck)
 
Understand your Business processes
Understand your Business processesUnderstand your Business processes
Understand your Business processes
 
AgileBA® - Agile Business Analysis - Foundation
AgileBA® - Agile Business Analysis - FoundationAgileBA® - Agile Business Analysis - Foundation
AgileBA® - Agile Business Analysis - Foundation
 
SAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practiceSAFe® - scaled agile framework in practice
SAFe® - scaled agile framework in practice
 
The Role of the Business Analyst in Benefits
The Role of the Business Analyst in BenefitsThe Role of the Business Analyst in Benefits
The Role of the Business Analyst in Benefits
 
What is Scaled Agile Framework | Edureka
What is Scaled Agile Framework | EdurekaWhat is Scaled Agile Framework | Edureka
What is Scaled Agile Framework | Edureka
 
Iiba cbap
Iiba cbapIiba cbap
Iiba cbap
 
Software Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid MethodSoftware Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid Method
 
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEEHenrik Kniberg: Lean from the Trenches keynote @ AgileEE
Henrik Kniberg: Lean from the Trenches keynote @ AgileEE
 
Agile transformation Explanined
Agile transformation ExplaninedAgile transformation Explanined
Agile transformation Explanined
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Hirschmann: Automotive SPICE Requirements for development process and tools
Hirschmann: Automotive SPICE Requirements for development process and tools Hirschmann: Automotive SPICE Requirements for development process and tools
Hirschmann: Automotive SPICE Requirements for development process and tools
 
Agile 101
Agile 101Agile 101
Agile 101
 
Shingo Prize for Operational Excellence
Shingo Prize for Operational ExcellenceShingo Prize for Operational Excellence
Shingo Prize for Operational Excellence
 
Agile metrics
Agile metricsAgile metrics
Agile metrics
 
SAFe portfolio management @ Knowit nov 28
SAFe portfolio management @ Knowit nov 28SAFe portfolio management @ Knowit nov 28
SAFe portfolio management @ Knowit nov 28
 
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)
 

Viewers also liked

Evolution Of Team Interaction Models
Evolution Of Team Interaction ModelsEvolution Of Team Interaction Models
Evolution Of Team Interaction Models
Naresh Jain
 
Managing Iterations
Managing IterationsManaging Iterations
Managing Iterations
Naresh Jain
 
Software Development The Trekkers Way
Software Development The Trekkers WaySoftware Development The Trekkers Way
Software Development The Trekkers Way
Naresh Jain
 
Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
Naresh Jain
 
XP And Scrum Practices
XP And Scrum PracticesXP And Scrum Practices
XP And Scrum Practices
Naresh Jain
 
Continuous Deployment Demystified
Continuous Deployment DemystifiedContinuous Deployment Demystified
Continuous Deployment Demystified
Naresh Jain
 
The Limited Red Society
The Limited Red SocietyThe Limited Red Society
The Limited Red Society
Naresh Jain
 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Directi Group
 
Refactoring Fest
Refactoring FestRefactoring Fest
Refactoring Fest
Naresh Jain
 
Distributed Agile
Distributed AgileDistributed Agile
Distributed Agile
Naresh Jain
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Naresh Jain
 
TDD Overview
TDD OverviewTDD Overview
TDD Overview
Naresh Jain
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
Naresh Jain
 
Waterfall to Agile Demo
Waterfall to Agile DemoWaterfall to Agile Demo
Waterfall to Agile Demo
Naresh Jain
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
Naresh Jain
 
MVP Hacks
MVP HacksMVP Hacks
MVP Hacks
Naresh Jain
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
Naresh Jain
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
Naresh Jain
 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
Naresh Jain
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
Naresh Jain
 

Viewers also liked (20)

Evolution Of Team Interaction Models
Evolution Of Team Interaction ModelsEvolution Of Team Interaction Models
Evolution Of Team Interaction Models
 
Managing Iterations
Managing IterationsManaging Iterations
Managing Iterations
 
Software Development The Trekkers Way
Software Development The Trekkers WaySoftware Development The Trekkers Way
Software Development The Trekkers Way
 
Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
 
XP And Scrum Practices
XP And Scrum PracticesXP And Scrum Practices
XP And Scrum Practices
 
Continuous Deployment Demystified
Continuous Deployment DemystifiedContinuous Deployment Demystified
Continuous Deployment Demystified
 
The Limited Red Society
The Limited Red SocietyThe Limited Red Society
The Limited Red Society
 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
 
Refactoring Fest
Refactoring FestRefactoring Fest
Refactoring Fest
 
Distributed Agile
Distributed AgileDistributed Agile
Distributed Agile
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
TDD Overview
TDD OverviewTDD Overview
TDD Overview
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
 
Waterfall to Agile Demo
Waterfall to Agile DemoWaterfall to Agile Demo
Waterfall to Agile Demo
 
Pair Programming
Pair ProgrammingPair Programming
Pair Programming
 
MVP Hacks
MVP HacksMVP Hacks
MVP Hacks
 
ATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven DevelopmentATDD - Acceptance Test Driven Development
ATDD - Acceptance Test Driven Development
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Is the New Waterfall
Agile Is the New WaterfallAgile Is the New Waterfall
Agile Is the New Waterfall
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 

Similar to Agile Maintenance

Презентация
ПрезентацияПрезентация
Презентация
guest22d71d
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
guestc990b6
 
Unified Process
Unified ProcessUnified Process
Unified Process
guy_davis
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
Robbie Minshall
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
SUBHENDU KARMAKAR
 
Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptDr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.ppt
Phial
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
kim.mens
 
Maintenance: the cost for software vendors and what it means to your organiza...
Maintenance: the cost for software vendors and what it means to your organiza...Maintenance: the cost for software vendors and what it means to your organiza...
Maintenance: the cost for software vendors and what it means to your organiza...
nick_hans
 
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdfContinuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
kalichargn70th171
 
Process model rup
Process model rupProcess model rup
Process model rup
Aryan Ajmer
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
ssuserd0fdaa
 
01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.
mailtoahmedhassan
 
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
TEST Huddle
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013
TEST Huddle
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
Indium Software
 
Continuous Delivery Presentation
Continuous Delivery PresentationContinuous Delivery Presentation
Continuous Delivery Presentation
Mauricio Ferreyra
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
RapidValue
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
bharathanche
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
Soumen Sarkar
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptx
AbalBoot
 

Similar to Agile Maintenance (20)

Презентация
ПрезентацияПрезентация
Презентация
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptDr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.ppt
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
 
Maintenance: the cost for software vendors and what it means to your organiza...
Maintenance: the cost for software vendors and what it means to your organiza...Maintenance: the cost for software vendors and what it means to your organiza...
Maintenance: the cost for software vendors and what it means to your organiza...
 
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdfContinuous Automation and its Impact on the CI_CD Pipeline.pdf
Continuous Automation and its Impact on the CI_CD Pipeline.pdf
 
Process model rup
Process model rupProcess model rup
Process model rup
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.01- Lecture -Introduction to IT Agile Development.
01- Lecture -Introduction to IT Agile Development.
 
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
John Fodeh - Adventures in Test Automation-Breaking the Boundaries of Regress...
 
John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013John Fodeh Adventures in Test Automation - EuroSTAR 2013
John Fodeh Adventures in Test Automation - EuroSTAR 2013
 
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENTROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
ROLE OF iSAFE/iMobi IN SEAMLESS INTEGRATION OF THE DEVOPS ENVIRONMENT
 
Continuous Delivery Presentation
Continuous Delivery PresentationContinuous Delivery Presentation
Continuous Delivery Presentation
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
 
DevOps Engineering.pptx
DevOps Engineering.pptxDevOps Engineering.pptx
DevOps Engineering.pptx
 

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
Naresh Jain
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
Naresh Jain
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
Naresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
Naresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
Naresh Jain
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
Naresh Jain
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
Naresh Jain
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
Naresh Jain
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Naresh Jain
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Naresh Jain
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
Naresh Jain
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
Naresh Jain
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
Naresh Jain
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
Naresh Jain
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
Naresh Jain
 
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimGetting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Naresh Jain
 

More from Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
No Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo KimGetting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
Getting2Alpha: Turbo-charge your product with Game Thinking by Amy Jo Kim
 

Recently uploaded

Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7
Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7 Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7
Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7
shaankumar98663
 
The-National-Commission-for-Culture-and-the-Arts.ppt
The-National-Commission-for-Culture-and-the-Arts.pptThe-National-Commission-for-Culture-and-the-Arts.ppt
The-National-Commission-for-Culture-and-the-Arts.ppt
rubensimborio1
 
一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理
一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理
一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理
asukqco
 
KYC Compliance: A Cornerstone of Global Crypto Regulatory Frameworks
KYC Compliance: A Cornerstone of Global Crypto Regulatory FrameworksKYC Compliance: A Cornerstone of Global Crypto Regulatory Frameworks
KYC Compliance: A Cornerstone of Global Crypto Regulatory Frameworks
Any kyc Account
 
Vadhavan Port Development _ What to Expect In and Beyond (1).pdf
Vadhavan Port Development _ What to Expect In and Beyond (1).pdfVadhavan Port Development _ What to Expect In and Beyond (1).pdf
Vadhavan Port Development _ What to Expect In and Beyond (1).pdf
johnson100mee
 
快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样
快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样
快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样
yeuwffu
 
Budgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptx
Budgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptxBudgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptx
Budgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptx
Godwin Emmanuel Oyedokun MBA MSc PhD FCA FCTI FCNA CFE FFAR
 
China's Investment Leader - Dr. Alyce SU
China's Investment Leader - Dr. Alyce SUChina's Investment Leader - Dr. Alyce SU
China's Investment Leader - Dr. Alyce SU
msthrill
 
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
ahmedendrise81
 
Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...
Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...
Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...
rosankumar564363
 
Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...
Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...
Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...
khannsohil539
 
Accounting Information Systems (AIS).pptx
Accounting Information Systems (AIS).pptxAccounting Information Systems (AIS).pptx
Accounting Information Systems (AIS).pptx
TIZITAWMASRESHA
 
What Lessons Can New Investors Learn from Newman Leech’s Success?
What Lessons Can New Investors Learn from Newman Leech’s Success?What Lessons Can New Investors Learn from Newman Leech’s Success?
What Lessons Can New Investors Learn from Newman Leech’s Success?
Newman Leech
 
Call Girls Chennai 🎉 7339748667 🎉 With No Advance Payment
Call Girls Chennai 🎉 7339748667 🎉 With No Advance PaymentCall Girls Chennai 🎉 7339748667 🎉 With No Advance Payment
Call Girls Chennai 🎉 7339748667 🎉 With No Advance Payment
prijesh mathew
 
一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理
一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理
一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理
vpqasyb
 
BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...
BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...
BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...
Neil Day
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
ProexportColombia1
 
Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...
Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...
Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...
Alexander Belyaev
 
Macroeconomic-digest-of-Ukraine-0624-Eng.pdf
Macroeconomic-digest-of-Ukraine-0624-Eng.pdfMacroeconomic-digest-of-Ukraine-0624-Eng.pdf
Macroeconomic-digest-of-Ukraine-0624-Eng.pdf
olaola5673
 
PM pre reads for the product manager framework
PM pre reads for the product manager frameworkPM pre reads for the product manager framework
PM pre reads for the product manager framework
KishoreKatta6
 

Recently uploaded (20)

Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7
Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7 Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7
Call Girls Bangalore 9024918724 Verified Service Available Near Me 24x7
 
The-National-Commission-for-Culture-and-the-Arts.ppt
The-National-Commission-for-Culture-and-the-Arts.pptThe-National-Commission-for-Culture-and-the-Arts.ppt
The-National-Commission-for-Culture-and-the-Arts.ppt
 
一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理
一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理
一比一原版(cwu毕业证书)美国中央华盛顿大学毕业证如何办理
 
KYC Compliance: A Cornerstone of Global Crypto Regulatory Frameworks
KYC Compliance: A Cornerstone of Global Crypto Regulatory FrameworksKYC Compliance: A Cornerstone of Global Crypto Regulatory Frameworks
KYC Compliance: A Cornerstone of Global Crypto Regulatory Frameworks
 
Vadhavan Port Development _ What to Expect In and Beyond (1).pdf
Vadhavan Port Development _ What to Expect In and Beyond (1).pdfVadhavan Port Development _ What to Expect In and Beyond (1).pdf
Vadhavan Port Development _ What to Expect In and Beyond (1).pdf
 
快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样
快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样
快速办理(RWTH毕业证书)德国亚琛工业大学毕业证录取通知书一模一样
 
Budgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptx
Budgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptxBudgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptx
Budgeting as a Control Tool in Govt Accounting in Nigeria Prof Oyedokun.pptx
 
China's Investment Leader - Dr. Alyce SU
China's Investment Leader - Dr. Alyce SUChina's Investment Leader - Dr. Alyce SU
China's Investment Leader - Dr. Alyce SU
 
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
美洲杯投注-美洲杯投注买球官方官网-美洲杯投注比赛投注官网|【​网址​🎉ac10.net🎉​】
 
Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...
Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...
Call Girls in Mumbai (Maharashtra) call me [🔝9967824496🔝] Escort In Jaipur se...
 
Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...
Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...
Independent Call Girls Visakhapatnam 8800000000 Low Rate HIgh Profile Visakha...
 
Accounting Information Systems (AIS).pptx
Accounting Information Systems (AIS).pptxAccounting Information Systems (AIS).pptx
Accounting Information Systems (AIS).pptx
 
What Lessons Can New Investors Learn from Newman Leech’s Success?
What Lessons Can New Investors Learn from Newman Leech’s Success?What Lessons Can New Investors Learn from Newman Leech’s Success?
What Lessons Can New Investors Learn from Newman Leech’s Success?
 
Call Girls Chennai 🎉 7339748667 🎉 With No Advance Payment
Call Girls Chennai 🎉 7339748667 🎉 With No Advance PaymentCall Girls Chennai 🎉 7339748667 🎉 With No Advance Payment
Call Girls Chennai 🎉 7339748667 🎉 With No Advance Payment
 
一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理
一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理
一比一原版宾夕法尼亚大学毕业证(UPenn毕业证书)学历如何办理
 
BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...
BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...
BIHC Briefing June 2024 from Bank+Insurance Hybrid Capital in association wit...
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
 
Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...
Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...
Calculation of compliance cost: Veterinary and sanitary control of aquatic bi...
 
Macroeconomic-digest-of-Ukraine-0624-Eng.pdf
Macroeconomic-digest-of-Ukraine-0624-Eng.pdfMacroeconomic-digest-of-Ukraine-0624-Eng.pdf
Macroeconomic-digest-of-Ukraine-0624-Eng.pdf
 
PM pre reads for the product manager framework
PM pre reads for the product manager frameworkPM pre reads for the product manager framework
PM pre reads for the product manager framework
 

Agile Maintenance

  • 1. I hate Maintenance ! Maintenance SUCKS !
  • 2. Agile Maintenance Naresh Jain Copyright © ThoughtWorks, 2005
  • 3. Agenda of this discussion Glossary Why maintain software Types of Software Maintenance Traditional v/s Agile Maintenance Approach Agile Testing Agile Release Management Why maintenance is so expensive (and can be destructive) Agile Maintenance Best Practices Conclusion Q&A 3
  • 4. Glossary Software maintenance is defined as the process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment [IEEE 1990] Iterative Agile Development What’s the difference between Maintenance and Support? ADD MAX VALUE TO THE CLIENT ! 4
  • 5. Why maintain software? Stephen R Schach summarizes: • Model of reality. As the reality changes, the software must adapt or die. • Pressures from satisfied users, to extend the functionality of the product. • Software is much easier to change than hardware. As a result, changes are made to the software whenever possible. • Successful software survives well beyond the lifetime of the environment for which it was written. 5
  • 6. Types of Software Maintenance • Corrective maintenance is maintenance performed to correct faults in hardware or software [IEEE 1990] • Adaptive maintenance is software maintenance performed to make a computer program usable in a changed environment [IEEE 1990]. • Perfective maintenance is software maintenance performed to improve the performance, maintainability, or other attributes of a computer program. [IEEE 1990] • Preventative maintenance is maintenance preformed for the purpose of preventing problems before they occur [IEEE 1990] 6
  • 7. The Frequency of Each Type of Maintenance Types of Maintenance 4% 17% Corrective (fixing faults) Perfective (new functionality) Adaptive (environmental changes) 18% 61% Other 7
  • 8. Traditional v/s Agile Maintenance Approach Traditional approach Agile approach 1. Massive projects with waterfall model 1. Small projects with agile model 2. CR Form 2. Bug reports / story cards 3. Change control board [CCB] 4. CCB approves and prioritizes the bugs 3. Developers estimate 4. Customer prioritizes the bugs 5. Summary of the bugs handed over to 5. Common bug tracking database the developers – loss of context 6. Developers jump to the code and fix it 6. QAs test and write functional 7. Update all the design documents acceptance tests 7. Developers write failing unit tests 8. Developers fix it and run unit & functional tests 8. Regression testing 9. Regression testing 9. Patch release 10. New release 8
  • 9. Quick Fix or Iterative Development • Quick fix is often used in emergency, corrective maintenance. Emergency maintenance is unscheduled corrective maintenance performed to keep a system operational [IEEE 1998]. Also called Code & Fix • Iterative development process is based on the Evolutionary development paradigm [Takang and Grubb 1996] or Extreme Programming paradigm. • Iterative enhancement involves a five-staged cycle: Analysis (simulation) User acceptance tests and Unit tests Redesign and implementation Regression tests Release 9
  • 10. Agile Maintenance Testing • Acceptance Testing – xUnit, FIT, … • Unit Tests – Black box functional unit tests • Regression testing is selective retesting of a system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified requirements [IEEE 1990] 10
  • 11. Agile Release Management Software release management, also known as software configuration management, is the management of activities surrounding release of one or more versions of software to one or more customers. Release management includes defining acceptable quality levels for release, authority to authorize the release, release procedures, and so on [IEEE 1990]. Best practices: • Automated release creation and verification process • Automated management of application specific configuration • Simulation of target deployment environments and automated testing • Release creation from the QA environment 11
  • 12. Maintenance Smells • A lot of regression bugs • Less than 50% of the time is dedicated to refactoring • Developers not pairing 100% • Test coverage not improving with time • Lack of team outings • People getting stuck on the project for more than a year 12
  • 13. Why Maintenance Is So Expensive (and Can Be Destructive)? • Team stability • Contractual responsibility • Staff skills • Transition plan for team members • Program age and structure • Stressful nature of work • Fluctuation in the workload and resourcing problems • Planning 13
  • 14. Agile Maintenance Best Practices • Automated regression testing • Continuous integration • Coding standard • Developers can focus on maintainability - Refactoring • Pair programming • Application logs • Bug Tracking database – Knowledge repository • Retrospectives 14
  • 15. Agile Maintenance Best • Practices… QA – Developer pairing • Debugging is parallelizable • Involve your customer – Daily status, Project Wiki in Customer environment, IM conversations, IPM, • Constantly improve the test coverage • Use some acceptance test framework • QA smoke test on the developer machine for immediate feedback • Short releases 15
  • 16. My 0.02 • Source code is the king • Untrustworthy documentation • The bug-tracking database stores knowledge • Reproduction is essential to obtaining a solution 16
  • 18. Thank you! email: njain@thoughtworks.com blog: http://jroller.com/page/njain