Agile with Legacy ProductCopyright 2013Suradet Jitprapaikulsarnwww.ajarnsuradet.com
Revision 1.0 Agile with Legacy Product 2Creative Commons License 3.0This work is licensed under the CreativeCommons Attrib...
Revision 1.0 Agile with Legacy Product 3You are free:to Share — to copy, distribute and transmit the workto Remix — to ada...
Revision 1.0 Agile with Legacy Product 4With the understanding that:• Waiver — Any of the above conditions can be waived i...
Revision 1.0 Agile with Legacy Product 5About Presenter• Suradet Jitprapaikulsarn, Ph.D.• Lecturer• Department of Electric...
Revision 1.0 Agile with Legacy Product 6About Me (Cont.)• Apply PSP since 1997• Apply TDD since 1999• 1stThai ScrumMaster,...
Revision 1.0 Agile with Legacy Product 7Topics• What is a Legacy Product?• Typical Problems• Why change?• Issues• An Appro...
Revision 1.0 Agile with Legacy Product 8What is a Legacy Product?• Any system currently in production uponwhich a business...
Revision 1.0 Agile with Legacy Product 9Typical Problems• Production system• No documents• Developers gone• Third party pr...
Revision 1.0 Agile with Legacy Product 10Why change• Fix• Optimize• Sustain• Re-platform• Decommission• Refactor• Consolid...
Revision 1.0 Agile with Legacy Product 11Impacts of changes• Functionality• Quality Attributes• Structure• Resource Usage
Revision 1.0 Agile with Legacy Product 12Issues• Technical• Management• Organizational
Revision 1.0 Agile with Legacy Product 13An Approach• Identify the change types• Identify the interactions of the changes•...
Revision 1.0 Agile with Legacy Product 14A Legacy Code Change Algorithm• Identify change points• Find test points• Break d...
Revision 1.0 Agile with Legacy Product 15Tools• Documentation tools• Refactoring tools• Unit testing tools• General testin...
Revision 1.0 Agile with Legacy Product 16Techniques• Breaking Dependencies• Seam model– A place where behavior can be alte...
Upcoming SlideShare
Loading in …5
×

Agile with legacy product

872 views

Published on

For Agile Thailand 2013, June 2, 2013

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
872
On SlideShare
0
From Embeds
0
Number of Embeds
356
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile with legacy product

  1. 1. Agile with Legacy ProductCopyright 2013Suradet Jitprapaikulsarnwww.ajarnsuradet.com
  2. 2. Revision 1.0 Agile with Legacy Product 2Creative Commons License 3.0This work is licensed under the CreativeCommons Attribution-NonCommercial-ShareAlike 3.0 Unported License.To view a copy of this license, visithttp://creativecommons.org/licenses/by-nc-sa/3.0/orsend a letter to Creative Commons, 171 SecondStreet, Suite 300, San Francisco, California,94105, USA.
  3. 3. Revision 1.0 Agile with Legacy Product 3You are free:to Share — to copy, distribute and transmit the workto Remix — to adapt the workUnder the following conditions:Attribution — You must attribute the work in themanner specified by the author or licensor (but not inany way that suggests that they endorse you or youruse of the work).Noncommercial — You may not use this work forcommercial purposes.Share Alike — If you alter, transform, or build uponthis work, you may distribute the resulting work onlyunder the same or similar license to this one.
  4. 4. Revision 1.0 Agile with Legacy Product 4With the understanding that:• Waiver — Any of the above conditions can be waived ifyou get permission from the copyright holder.• Public Domain — Where the work or any of itselements 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 rightsaffected by the license:– Your fair dealing or fair use rights, or other applicable copyrightexceptions and limitations;– The authors moral rights;– Rights other persons may have either in the work itself or in howthe work is used, such as publicity or privacy rights.Notice — For any reuse or distribution, you must makeclear to others the license terms of this work. The bestway to do this is with a link to this web page.
  5. 5. Revision 1.0 Agile with Legacy Product 5About Presenter• Suradet Jitprapaikulsarn, Ph.D.• Lecturer• Department of Electrical and ComputerEngineering, Naresuan University,Phitsanulok• Email: suradet.j@gmail.com• Facebook: Suradet Jitprapaikulsarn
  6. 6. Revision 1.0 Agile with Legacy Product 6About Me (Cont.)• Apply PSP since 1997• Apply TDD since 1999• 1stThai ScrumMaster, since 2009• Was the only authorized PSP instructor inSoutheast Asia• 1stThai Certified PSP developer• 5 times CMMI appraisal team member• Only Asian instructor invited for SoftwareArchitecture workshop at SEI, 7 year in a row(2006 – 2012)
  7. 7. Revision 1.0 Agile with Legacy Product 7Topics• What is a Legacy Product?• Typical Problems• Why change?• Issues• An Approach• Tools & Techniques
  8. 8. Revision 1.0 Agile with Legacy Product 8What is a Legacy Product?• Any system currently in production uponwhich a business process depends– Kent J. McDonald, Legacy System Migrationin an Agile Manner, 2008• Product without tests– Michael Feathers, Working Effectively withLegacy Code, 2005An existing product that needs changesSuradet, 2013
  9. 9. Revision 1.0 Agile with Legacy Product 9Typical Problems• Production system• No documents• Developers gone• Third party products
  10. 10. Revision 1.0 Agile with Legacy Product 10Why change• Fix• Optimize• Sustain• Re-platform• Decommission• Refactor• Consolidate• Extend/Enhance• Migrate• ReplaceAdapted from Capgemini,Agile Legacy Lifecycle, 2011andMichael Feathers, WorkingEffectively with Legacy Code, 2005
  11. 11. Revision 1.0 Agile with Legacy Product 11Impacts of changes• Functionality• Quality Attributes• Structure• Resource Usage
  12. 12. Revision 1.0 Agile with Legacy Product 12Issues• Technical• Management• Organizational
  13. 13. Revision 1.0 Agile with Legacy Product 13An Approach• Identify the change types• Identify the interactions of the changes• Identify the legacy assets• Analyze the interaction• Keep it agile
  14. 14. Revision 1.0 Agile with Legacy Product 14A Legacy Code Change Algorithm• Identify change points• Find test points• Break dependencies• Write tests• Make changes and refactorMichael Feathers, WorkingEffectively with Legacy Code, 2005
  15. 15. Revision 1.0 Agile with Legacy Product 15Tools• Documentation tools• Refactoring tools• Unit testing tools• General testing tools
  16. 16. Revision 1.0 Agile with Legacy Product 16Techniques• Breaking Dependencies• Seam model– A place where behavior can be altered withoutediting the code at the point of change• Sprout Method• Wrapper

×