aleixmorgadas’s avataraleixmorgadas’s Twitter Archive—№ 1,826

        1. 1/ #WardleyMapping and #DDD really challenged me regarding how I thought and addressed #Legacy Systems or #BigBullOfMud in the past In the past, I focused on "re-doing the same" but well done. Hexagonal Arch, SOLID, TDD, ... I focused on the technology ignoring the business
      1. …in reply to @aleixmorgadas
        2/ What I do today. 1. Honor the Legacy There's a lot of effort, pain, and learnings there, never underestimate it and honor previous people's best efforts. You know nothing about the specific situation they went through. Be humble, _always_.
    1. …in reply to @aleixmorgadas
      3/ 2. Understand how the business evolved. What it was core in the past, today might be supportive or generic. It might not provide business differentiation anymore.
  1. …in reply to @aleixmorgadas
    4/ #WardleyMapping helps here. What before was core, today is being done by an #OpenSourceSoftware. DDD also helps, you can use the core-domain-chart Replace mindfully! github.com/ddd-crew/core-domain-charts
    1. …in reply to @aleixmorgadas
      5/ 3. Using DDD to break the monolith by the business. A monolith won't be 100% core or 100% supportive or 100% generic subdomain. It will have a little of everything. Use Event Storming to identify those boundaries and then plan accordingly.
      1. …in reply to @aleixmorgadas
        6/ The best thing that can happen during the refactor of a Legacy Monolith is that you can use off-the-shelf solutions to replace that generic parts. It will increase the refactoring experience and outcome.
        1. …in reply to @aleixmorgadas
          7/ The outcome here is that you focus on the business to drive a refactor, not focusing on the technology as the main driver. Very few times the problem is PHP vs Java but how you model the domain I know that "how is done technically is wrong, I know better" drives bad decisions
          1. …in reply to @aleixmorgadas
            8/ Talk way more to business people and experienced developers to understand the past, it will drive better future results. Understand that the only way to learn about refactoring a legacy is through movement. You don't need a perfect plan, only a useful next step with a vision