SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to 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
 

Similar to 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
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

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