StranglerApplication Pattern

A legacy frontend use case

Ego Slide

f.strazzullo@extrategy.net

@TheStrazz86

https://github.com/francesco-strazzullo

https://medium.com/@TheStrazz86

https://slides.com/francescostrazzullo

What Makes a Codebase "Legacy"?

Fear to modify the code

"European CV or letter of recommendation?"

Legacy Code is Valuable

Code is legacy when is not easily adaptable to new business needs

Let me tell you a story...

In 2013 we started a new greenfield project

The porting of a desktop business-management software to a SPA

And we chose AngularJS

It was a good choice

It was a de facto standard

It was an experimental business

Quick feedback

Our client needed Velocity

So we chose the framework that we knew better

The software is now a commercial success

It's the core business of our client

Now Velocity is not our top priority...

Now what our client needs is Longevity

Legacy Anyone?

Let's Change Framework!

What Framework should we use?

Frameworkless

How?

Rewriting everything from scratch?

Our client is actually making money from the software

StranglerApplication

What did we learn?

Don't be rational; be reasonable.

Gerald Weinberg

...when designing a new application you should design it in such a way as to make it easier for it to be strangled in the future

Martin Fowler

Tech Decisions based on business needs

How's it going?

One Simple Rule

Never Commit on the old application

Thanks!

StranglerApplication Pattern: A legacy frontend use case - IJS Munich 2018

By Francesco Strazzullo

StranglerApplication Pattern: A legacy frontend use case - IJS Munich 2018

  • 1,914