Slaying The Legacy Dragon: Practical Lessons in Replacing Old Software
by Tim Berglund
- 994 views
Everyone hates the legacy application and wants to replace it. You're tired of the brittle, untested code, the outdated frameworks, the platform nobody cares about anymore. You want to apply current ...
Everyone hates the legacy application and wants to replace it. You're tired of the brittle, untested code, the outdated frameworks, the platform nobody cares about anymore. You want to apply current practices and the productivity gains of today's tools. Usually this is just a frustrated dream, but every once in a while, you actually get to do it. That's great news, but it raises a question: how do you do that?
In this presentation, we'll examine the issues encountered by a business undertaking the enormous effort of replacing a key legacy application with a new technology stack. We'll explore the technology, business, and people problems that can result, looking at specific technology solutions for a slow and careful migration of business-critical functionality off of one system and on to another of a very different kind.
Accessibility
Categories
Upload Details
Uploaded via SlideShare as Apple Keynote
Usage Rights
© All Rights Reserved
Statistics
- Likes
- 2
- Downloads
- 0
- Comments
- 2
- Embed Views
- Views on SlideShare
- 993
- Total Views
- 994
1–2 of 2 previous next
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This talk is about legacy code like Feathers’ book. This talk does not dwell on technical details. It points to many tools and disciplines, but we can’t cover it all without making it a several-day workshop.
I’m an independent consultant, developer, trainer. Work with UGs and IASA in Denver. NFJS speaker.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
This is a large-scale action that you can’t sneak in like testing in Groovy.
Killing a dragon is great. You do a good thing, and people remember you. You learn a lot. You improve.
But it might hurt you! Be ready. Also, people usually won’t tolerate the risks unless they feel the pain.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Should be expressable in terms of some simple business abstraction (production cost, time to market, distribution, quality, etc.)
Probably not your job, but you’d better know these anyway.
Probably is bad, though. Resume-driven design is a moral failing.
Probably is bad, though. Resume-driven design is a moral failing.
BUT NOT ALWAYS. Can be good on large-scale stuff. Also, you should always play around with new technologies; just recognize the limitations in doing so.
BUT NOT ALWAYS. Can be good on large-scale stuff. Also, you should always play around with new technologies; just recognize the limitations in doing so.
It’s up to you to do the actual lancing of the beast, but there are some areas of interest we can discuss along the way.
It’s up to you to do the actual lancing of the beast, but there are some areas of interest we can discuss along the way.
It’s up to you to do the actual lancing of the beast, but there are some areas of interest we can discuss along the way.
Interestingly, Ambler also holds the key to true migration.
Interestingly, Ambler also holds the key to true migration.
Interestingly, Ambler also holds the key to true migration.
Interestingly, Ambler also holds the key to true migration.
Interestingly, Ambler also holds the key to true migration.
Interestingly, Ambler also holds the key to true migration.
Interestingly, Ambler also holds the key to true migration.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
If triggers won’t work, you can try ETL—with time constant constraints.
Also consider nontraditional NoSQL solutions.
Concurrency scenarios.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Much more to be said about relational systems as they apply to the workplace. Most of this is out of scope, but you *will* deal with anxious people if you’re refactoring a legacy system of any size.
Throw in all the things you thought of the first time. Only applies if the same architect is building the second one, or knew the first one very well.
You had to live with all of these problems all this time. And they were your fault! Finally things can be made right.
Related: the “now’s our chance” dynamic of sneaking functionality in. This can afflict anyone.