Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to face legacy projects

How to face legacy projects

Qualquer profissional é capaz de deixar seu legado no lugar onde atua, e no universo da tecnologia da informação não é diferente. Dia-a-dia termos o desafio de manter aplicações que possuem uma estrutura que não foi definida por nós mas que devem ser sustentáveis para os envolvidos. Nessa talk entenda como uma aplicação legado pode influenciar negativamente a saude do projeto e como previnir esse tipo de comportamento para que projeto legado não seja um problema e continue sendo solução.

Rurik Pinheiro

February 19, 2020
Tweet

More Decks by Rurik Pinheiro

Other Decks in Technology

Transcript

  1. How to face Legacy Projects Learn what to do when

    legacy codes become an enemy of the project
  2. NO

  3. Definitions of legacy codes • Legacy code is source code

    that relates to a no-longer supported or manufactured operating system or other computer technology. • All Code Is Legacy Code. • A legacy code is a undocumented or untested code that doesn't have any quality assurance and understanding.
  4. • Your time is a box • Make sure your

    task is compatible #1 - Know how to use your time
  5. #2 - Let's monitoring • Sonarqube - Code Quality and

    Security • Elasticsearch - APM Server • Refactoring based on feeling is a risk
  6. #3 - Test cases are welcome Your implementation needs to

    be solid and the tests will be ensure the other parts of the system keep working.
  7. #4 - Make Patterns your best friends Patterns are important

    to keep the consistency and understanding of the project. • Repository Pattern • Singleton Pattern • Factory Pattern • S.O.L.I.D • Linter's
  8. #5 - Learn to say "NO" Some time it's important

    to be incisive and to say "no" to some tasks.
  9. #6 - Have a Good Communication Keep your team, your

    leader and customer known about your decisions. Bring exemples, other perspectives to solution the problem. You need to be simple, transparent and honest with the project and yourself.
  10. Opacity The motive of the project is not clean. It

    is confused and incomprehensible.
  11. Technical Debt • This is a debt that is assumed

    when choosing a design or an easy approach in the short time but with a negative impact on the long time. • “A dívida técnica é similar à dívida financeira. Assim como a dívida financeira, a dívida técnica exige o pagamento de juros. Estes vêm na forma de esforço extra, que devem ser pagos em desenvolvimentos futuros por conta da escolha de um design mais rápido e de baixa qualidade." (Martin Fowler)