↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Modernising legacy code with SOA and Agile

The article argues that a full rewrite of the legacy CRM would have been too risky and too slow for the business. Instead, it describes a path that kept the application running while gradually improving maintainability and delivery.

Reading notes
#

  • The team faced a long-maintained Delphi CRM, a separate C# delivery application, and pressure from business growth and changing priorities.
  • The Delphi codebase was hard to extend, had no unit tests, sparse documentation, and was increasingly difficult to staff.
  • A complete rewrite was presented as risky because it could fail, miss feature parity, lose historical data, or take years to complete.
  • The article uses the Mozilla rewrite of Netscape as an example of a rewrite that took longer and cost more than expected.
  • A cited alternative translated Delphi code into C# with a rules engine, allowing continued development on the existing product.
  • The proposed approach for the company was to build new functionality as services in a service-oriented architecture and refactor existing code toward those services.
  • Scrum was introduced to handle shifting business priorities, define user stories and acceptance criteria, and deliver a new build every fortnight.
  • The article says the combination of SOA and Scrum improved developer focus, business confidence, transparency, and regular delivery.