Profile picture
Graham Lea @evolvable
, 23 tweets, 7 min read Read on Twitter
Special treat at #yownight with @daveathomas sharing his experience with using legacy transformation as an innovation opportunity.
Highlights to follow…
Some people’s code is legacy straight away if they write it in a way that no one understands it. #yownight
If you try to rewrite the whole legacy system in a new language you’ll join the club of hundreds of thousands of others that have thrown their company’s money away. Rewrites are not a happy story. #yownight
Avoid systemic changes: trying to change more than one of code, technology and people on a large scale system. #yownight
The key benefit from attacking legacy is to improve flow. The key book to read to understand flow is… The Principles of Product Development Flow: Second Generation Lean Product Development by Donald G. Reinertsen…
You need management buy-in which means you need a detailed ROI to get someone to care. #yownight
You need people who know new tech and people who are experts in the legacy tech. #yownight
Code sites with a high rate of change are good candidates for replacing with a rules engine. #yownight
Ultimately, the code is often not the best place to extract value, but instead you want to make the data more available. #yownight
Legacy innovation pattern #1:
Move complex rules out of code and into data (tables, rules, constraints) #yownight
If all the rules for the system are already written in tables in spreadsheets, why waste time re-writing them in code? Write an interpreter and engine instead.
Legacy innovation pattern #2:
Data hidden in proprietary protocols or hardware? Make it look like the web: HTTP/ATOM/REST/APIs
Legacy innovation pattern #3:
Don’t write an API interface for every new type of query. Expose the data with ODBC, LINQ, Rx or GraphQL. “The only API you need for most jobs is SELECT.”
Legacy innovation pattern #5:
Throw hardware at stuff. Most companies can fit all of their most important data in 1TB of memory for $3,000. What can you get out of a developer for $3,000?
Legacy innovation pattern #6:
Use simple data flow and microservices.
Legacy innovation pattern #7:
Leverage immutable data. Reduce the complexity of updates. Create replicated subsets for more specific uses.
Legacy innovation pattern #8:
TDD and friends.Big 👍 from Dave for Property-Based Testing.
Independent validation is great for high-stakes changes. Write the tests separately from the code, ideally with different people and/or language.
When we have hard nut to crack, we need to stand back and think of ways to attack it without throwing mountains of developers and code at it. #yownight
To make a difference in an organisation, you need to change the process - how things are done - not just the technologies things are done with. #yownight
Parting thought:
Write less code.
Delete more code.
Aim to have less code with each release.
Q&A: If you can pull something valuable out quickly, that’s a good win, much better than rewriting the whole thing. #yownight
Q&A: How to make systems more easily understood in the long term?
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Graham Lea
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!

This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!