• Stars
    star
    109
  • Rank 307,866 (Top 7 %)
  • Language
  • License
    Creative Commons ...
  • Created about 2 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A curated list of awesome resources and links about tackling legacy systems that gives hope.

Awesome Legacy Systems Awesome

A curated list of awesome resources and links about tackling legacy systems that gives hope.

Hi! My name is Markus Harrer. I created this repository to share a set of resources and links that I found valuable and inspiring while working with legacy systems. I hope that you'll like it, too!

Image source: Ancient scroll vector created by upklyak - www.freepik.com

Legacy Systems are systems that you might be too afraid of to change. But they are necessary because they make all the money for your company. Thus, developers often have to maintain these older systems whether they want or not.

Legacy systems have their own fascinations and challenges that can be much more interesting than just gluing together some frameworks in a green-field project. But the lack of knowledge about how to tackle legacy systems is a big problem. Most developers just learn how to create new systems initially and not how to maintain existing ones or even evolve those systems. This list tries to close these gaps.

Contents

The resources are ordered alphabetically the first author's surname for books and articles or the name of the resource for all the other resources)

Books

Blogs

Blog Posts

Microsites

Podcasts

  • legacycode.rocks - A podcast (and community) created by Andrea Goulet and M. Scott Ford from Corgibytes about the world of modernizing existing software applications.
  • maintainable.fm - A podcast by Robby Russell interviewing seasoned practitioners that know how to work with technical debt and legacy code.

Podcast Episodes

Talks

Conferences

  • MenderCon - A full-day virtual conference (and unconference) about modernizing and improving software systems.
  • The Legacy of SoCraTes - An irregular online conference where speakers share their insights on how to approach legacy systems in a successful way. Plenty of talks from various directions make this resource valuable for people tackling legacy systems.

Courses

Lists of Tools

There are plenty of tools out there that can help you with your legacy systems. This section lists existing lists so that you can find your tool that fit to your specific needs:

  • Analysis-Tools.dev - Static analysis tools for many programming languages, build tools, config files and more.
  • Awesome Open Source - Profilers - Tools for in-depth runtime analysis.
  • OpenAPM - Lists various Application Performance Management tools that can help you to find performance problems.

Other Languages

This list focusses on contant in English. But there is also content out there in other languages.

  • German: Großartige Bestandssysteme - Eine kuratierte Liste mit großartigen Ressourcen und Links zum Umgang mit Altsystemen, die Hoffnung macht.

Learning Paths

There is so much to learn as a software developer that wants to improve legacy systems and code. Here you can find some personal recommendations from others:

Markus Harrer

Social: markusharrer.de

Background: Java developer, software evolutionist, software development analyst, CDO (Code Deletion Officer)

My top 5 recommendations

  1. Marianne Bellotti: Kill It with Fire
  2. Michael Feathers: Working Effectively with Legacy Code
  3. legacycode.rocks Podcast
  4. Serge Demeyer, Stéphane Ducasse and Oscar Nierstrasz: Object-Oriented Reengineering Patterns
  5. Architecture Improvement Method aim42

Related Awesome Lists

This section lists other awesome lists in the area of legacy systems.

  • Awesome Legacy Code - A curated list of legacy systems with publicly available source code.
  • Awesome Modernization - Awesome legacy system modernization tools. (partly in Chinese)
  • Awesome Software Analytics - A curated list of awesome resources and links about Software Analytics – a discipline that tries to analyze software data to get ideas about improving legacy systems.
  • Awesome Technical Debt - a curated list of Technical Debt talks, articles, and books. (there might be some overlaps with this list)

Contributing

Did you like this list? Contributions are very welcome! Read the contribution guidelines first and add your ideas!

More Repositories

1

awesome-software-analytics

Curated list of awesome resources and links about Software Analytics
64
star
2

software-analytics

A repository with my data analysis results of software artifacts
Jupyter Notebook
38
star
3

software-analytics-workshop

Interactive tutorials for introducing new people to the world of Software Analytics with Jupyter, Python, pandas and Co.
Jupyter Notebook
17
star
4

wardley-maps-audiobook

An audio version of Simon Wardley's book "Wardley Maps", generated with Amazon Polly
Jupyter Notebook
14
star
5

software-component-canvas

A canvas for getting a quick overview over a system landscape
12
star
6

software-analytics-katas

Small challenges designed to train analytical thinking and the use of data-driven software analysis techniques.
9
star
7

software-analytics-workshop-guided

A repository with interactive lessons that gets you started with software analytics!
Jupyter Notebook
5
star
8

ozapfdis

Open Zippy Analysis Project For Data In Software
Python
4
star
9

software-analytics-katas-de

Kleine Ãœbungen, welche das analytische Denken und den Umgang mit datengetriebenen Softwareanalysen schulen sollen.
2
star
10

agile3min

This is a translation project of Amitai Schleier’s „Agile in 3 minutes“
1
star
11

designsmells

Software with a bad taste regarding design...
Java
1
star
12

foundation-level-glossary

This is Markus Harrer's version of the iSAQB® glossary. It focuses on the terms and concepts of the CPSA-F® curriculum.
Groovy
1
star
13

wardley-maps-hoerbuch

Deutsche Version eines generierten Hörbuchs von Simon Wardleys "Wardley Maps" Buch.
1
star