Links for 2019-01-04

  • We’ll Never Know Whether Monorepos Are Better

    This makes sense to me where the monorepo-vs-polyrepo argument is concerned — it’s another religious war:

    About six months after the project was declared “done” (but there was always more to do, more improvements to make to our homegrown dependency management solution), we had a retrospective meeting. The same engineers who had taken sides, for and against the project, were again assembled to discuss how it went. One of the main opponents went first. “Thank goodness we’re finally having this retrospective,” he said. “I think we can all see that this experiment has been a colossal failure and that it’s time for us to change course and roll back to monorepo.” “What do you mean?” one of the main multirepo advocates replied. “This was one of the best decisions we’ve ever made!” This really shocked me. We had access to all of the data you could possibly want to evaluate the decision. The same engineers working with the same codebase had seen what it was like in the monorepo model and the multirepo model. We knew exactly how much it had actually cost to switch. We had lived with the advantages and disadvantages of both models. But still we couldn’t come to an agreement. That retrospective taught me to be humble in my ambitions to “improve” engineering productivity. There’s no way to measure productivity in software, so there’s no way to know whether controversial, expensive “productivity enhancing” projects actually deliver on their promise, even in hindsight.

    (tags: monorepo productivity dev engineering coding polyrepo)

This entry was posted in Uncategorized. Bookmark the permalink. Both comments and trackbacks are currently closed.

3 Comments

  1. Craig
    Posted January 5, 2019 at 20:23 | Permalink
    Rolling our own dependency-management tooling took a small team of engineers (including me) more than a year of very hard work, and there were problems.

    …uh so one system doesn’t require several hundred thousand dollars (probably over a million fully loaded, and not even counting opportunity cost) of cost on infrastructure and the other does… but somehow we don’t know which one is better?

  2. Justin Mason
    Posted January 8, 2019 at 17:21 | Permalink

    well, yeah, I’m a massive monorepo fan. Trying to keep it neutral though ;)

    • Craig
      Posted January 8, 2019 at 18:37 | Permalink
      Trying to keep it neutral though ;)

      Some people say the world is round, some say it’s flat. It’s really just a religious war, who can say which is truly better.