SlideShare uma empresa Scribd logo
1 de 16
Agile with Legacy Product
Copyright 2013
Suradet Jitprapaikulsarn
www.ajarnsuradet.com
Revision 1.0 Agile with Legacy Product 2
Creative Commons License 3.0
This work is licensed under the Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License.
To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/
or
send a letter to Creative Commons, 171 Second
Street, Suite 300, San Francisco, California,
94105, USA.
Revision 1.0 Agile with Legacy Product 3
You are free:
to Share — to copy, distribute and transmit the work
to Remix — to adapt the work
Under the following conditions:
Attribution — You must attribute the work in the
manner specified by the author or licensor (but not in
any way that suggests that they endorse you or your
use of the work).
Noncommercial — You may not use this work for
commercial purposes.
Share Alike — If you alter, transform, or build upon
this work, you may distribute the resulting work only
under the same or similar license to this one.
Revision 1.0 Agile with Legacy Product 4
With the understanding that:
• Waiver — Any of the above conditions can be waived if
you get permission from the copyright holder.
• Public Domain — Where the work or any of its
elements is in the public domain under applicable law,
that status is in no way affected by the license.
• Other Rights — In no way are any of the following rights
affected by the license:
– Your fair dealing or fair use rights, or other applicable copyright
exceptions and limitations;
– The author's moral rights;
– Rights other persons may have either in the work itself or in how
the work is used, such as publicity or privacy rights.
Notice — For any reuse or distribution, you must make
clear to others the license terms of this work. The best
way to do this is with a link to this web page.
Revision 1.0 Agile with Legacy Product 5
About Presenter
• Suradet Jitprapaikulsarn, Ph.D.
• Lecturer
• Department of Electrical and Computer
Engineering, Naresuan University,
Phitsanulok
• Email: suradet.j@gmail.com
• Facebook: Suradet Jitprapaikulsarn
Revision 1.0 Agile with Legacy Product 6
About Me (Cont.)
• Apply PSP since 1997
• Apply TDD since 1999
• 1st
Thai ScrumMaster, since 2009
• Was the only authorized PSP instructor in
Southeast Asia
• 1st
Thai Certified PSP developer
• 5 times CMMI appraisal team member
• Only Asian instructor invited for Software
Architecture workshop at SEI, 7 year in a row
(2006 – 2012)
Revision 1.0 Agile with Legacy Product 7
Topics
• What is a Legacy Product?
• Typical Problems
• Why change?
• Issues
• An Approach
• Tools & Techniques
Revision 1.0 Agile with Legacy Product 8
What is a Legacy Product?
• Any system currently in production upon
which a business process depends
– Kent J. McDonald, Legacy System Migration
in an Agile Manner, 2008
• Product without tests
– Michael Feathers, Working Effectively with
Legacy Code, 2005
An existing product that needs changes
Suradet, 2013
Revision 1.0 Agile with Legacy Product 9
Typical Problems
• Production system
• No documents
• Developers gone
• Third party products
Revision 1.0 Agile with Legacy Product 10
Why change
• Fix
• Optimize
• Sustain
• Re-platform
• Decommission
• Refactor
• Consolidate
• Extend/Enhance
• Migrate
• Replace
Adapted from Capgemini,
Agile Legacy Lifecycle, 2011
and
Michael Feathers, Working
Effectively with Legacy Code, 2005
Revision 1.0 Agile with Legacy Product 11
Impacts of changes
• Functionality
• Quality Attributes
• Structure
• Resource Usage
Revision 1.0 Agile with Legacy Product 12
Issues
• Technical
• Management
• Organizational
Revision 1.0 Agile with Legacy Product 13
An Approach
• Identify the change types
• Identify the interactions of the changes
• Identify the legacy assets
• Analyze the interaction
• Keep it agile
Revision 1.0 Agile with Legacy Product 14
A Legacy Code Change Algorithm
• Identify change points
• Find test points
• Break dependencies
• Write tests
• Make changes and refactor
Michael Feathers, Working
Effectively with Legacy Code, 2005
Revision 1.0 Agile with Legacy Product 15
Tools
• Documentation tools
• Refactoring tools
• Unit testing tools
• General testing tools
Revision 1.0 Agile with Legacy Product 16
Techniques
• Breaking Dependencies
• Seam model
– A place where behavior can be altered without
editing the code at the point of change
• Sprout Method
• Wrapper

Mais conteúdo relacionado

Semelhante a Agile with legacy product

Introduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesIntroduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesAndreea Visanoiu
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsSudipta Lahiri
 
Agile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri
Agile Gurugram 2017 | DevOps > CI + CD | Sudipta LahiriAgile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri
Agile Gurugram 2017 | DevOps > CI + CD | Sudipta LahiriAgileNetwork
 
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Impetus Technologies
 
Prototypemodel in SDLC ppt
Prototypemodel  in SDLC pptPrototypemodel  in SDLC ppt
Prototypemodel in SDLC pptsoni singh
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentnikhil sreeni
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdfBinNguynVn3
 
Software prototyping
Software prototyping  Software prototyping
Software prototyping Huda Seyam
 
1 rapid prototyping model
1 rapid prototyping model1 rapid prototyping model
1 rapid prototyping modeldelaco
 
ITFT - Software prototyping
ITFT -  Software prototypingITFT -  Software prototyping
ITFT - Software prototypingShruti Kunwar
 
Scrum workshop for Project Managers
Scrum workshop for Project ManagersScrum workshop for Project Managers
Scrum workshop for Project ManagersJesse Houwing
 

Semelhante a Agile with legacy product (20)

Necessary but not sufficient
Necessary but not sufficientNecessary but not sufficient
Necessary but not sufficient
 
Thesis proposal checklist
Thesis proposal checklistThesis proposal checklist
Thesis proposal checklist
 
Using tdd to understand legacy codes
Using tdd to understand legacy codesUsing tdd to understand legacy codes
Using tdd to understand legacy codes
 
Magic of agile
Magic of agileMagic of agile
Magic of agile
 
Introduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesIntroduction to Agile Values & Principles
Introduction to Agile Values & Principles
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 
Agile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management TrainingAgile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management Training
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 
PROTOTYPE MODEL
PROTOTYPE MODELPROTOTYPE MODEL
PROTOTYPE MODEL
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
Agile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri
Agile Gurugram 2017 | DevOps > CI + CD | Sudipta LahiriAgile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri
Agile Gurugram 2017 | DevOps > CI + CD | Sudipta Lahiri
 
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
Addressing Performance Testing Challenges in Agile: Process and Tools: Impetu...
 
Prototypemodel in SDLC ppt
Prototypemodel  in SDLC pptPrototypemodel  in SDLC ppt
Prototypemodel in SDLC ppt
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
0121_RESOURCE_SoftwareDevelopmentLifecycles.pdf
 
Types of models
Types of modelsTypes of models
Types of models
 
Software prototyping
Software prototyping  Software prototyping
Software prototyping
 
1 rapid prototyping model
1 rapid prototyping model1 rapid prototyping model
1 rapid prototyping model
 
ITFT - Software prototyping
ITFT -  Software prototypingITFT -  Software prototyping
ITFT - Software prototyping
 
Scrum workshop for Project Managers
Scrum workshop for Project ManagersScrum workshop for Project Managers
Scrum workshop for Project Managers
 

Último

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Agile with legacy product

  • 1. Agile with Legacy Product Copyright 2013 Suradet Jitprapaikulsarn www.ajarnsuradet.com
  • 2. Revision 1.0 Agile with Legacy Product 2 Creative Commons License 3.0 This work is licensed under the Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
  • 3. Revision 1.0 Agile with Legacy Product 3 You are free: to Share — to copy, distribute and transmit the work to Remix — to adapt the work Under the following conditions: Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Noncommercial — You may not use this work for commercial purposes. Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
  • 4. Revision 1.0 Agile with Legacy Product 4 With the understanding that: • Waiver — Any of the above conditions can be waived if you get permission from the copyright holder. • Public Domain — Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. • Other Rights — In no way are any of the following rights affected by the license: – Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; – The author's moral rights; – Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. Notice — For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page.
  • 5. Revision 1.0 Agile with Legacy Product 5 About Presenter • Suradet Jitprapaikulsarn, Ph.D. • Lecturer • Department of Electrical and Computer Engineering, Naresuan University, Phitsanulok • Email: suradet.j@gmail.com • Facebook: Suradet Jitprapaikulsarn
  • 6. Revision 1.0 Agile with Legacy Product 6 About Me (Cont.) • Apply PSP since 1997 • Apply TDD since 1999 • 1st Thai ScrumMaster, since 2009 • Was the only authorized PSP instructor in Southeast Asia • 1st Thai Certified PSP developer • 5 times CMMI appraisal team member • Only Asian instructor invited for Software Architecture workshop at SEI, 7 year in a row (2006 – 2012)
  • 7. Revision 1.0 Agile with Legacy Product 7 Topics • What is a Legacy Product? • Typical Problems • Why change? • Issues • An Approach • Tools & Techniques
  • 8. Revision 1.0 Agile with Legacy Product 8 What is a Legacy Product? • Any system currently in production upon which a business process depends – Kent J. McDonald, Legacy System Migration in an Agile Manner, 2008 • Product without tests – Michael Feathers, Working Effectively with Legacy Code, 2005 An existing product that needs changes Suradet, 2013
  • 9. Revision 1.0 Agile with Legacy Product 9 Typical Problems • Production system • No documents • Developers gone • Third party products
  • 10. Revision 1.0 Agile with Legacy Product 10 Why change • Fix • Optimize • Sustain • Re-platform • Decommission • Refactor • Consolidate • Extend/Enhance • Migrate • Replace Adapted from Capgemini, Agile Legacy Lifecycle, 2011 and Michael Feathers, Working Effectively with Legacy Code, 2005
  • 11. Revision 1.0 Agile with Legacy Product 11 Impacts of changes • Functionality • Quality Attributes • Structure • Resource Usage
  • 12. Revision 1.0 Agile with Legacy Product 12 Issues • Technical • Management • Organizational
  • 13. Revision 1.0 Agile with Legacy Product 13 An Approach • Identify the change types • Identify the interactions of the changes • Identify the legacy assets • Analyze the interaction • Keep it agile
  • 14. Revision 1.0 Agile with Legacy Product 14 A Legacy Code Change Algorithm • Identify change points • Find test points • Break dependencies • Write tests • Make changes and refactor Michael Feathers, Working Effectively with Legacy Code, 2005
  • 15. Revision 1.0 Agile with Legacy Product 15 Tools • Documentation tools • Refactoring tools • Unit testing tools • General testing tools
  • 16. Revision 1.0 Agile with Legacy Product 16 Techniques • Breaking Dependencies • Seam model – A place where behavior can be altered without editing the code at the point of change • Sprout Method • Wrapper