M365.FM - Modern work, security, and productivity with Microsoft 365
Welcome to another episode of Knowledge Nuggets with Mirko Peters. In this episode, we're tackling one of the biggest misconceptions in software architecture: the Monorepo Myth. For years, engineering teams have debated whether a monorepo or a multirepo is the "correct" repository strategy. Discussions usually focus on Git performance, build speed, repository size, or tooling. But these technical arguments miss the real issue. Your repository strategy isn't primarily a Git decision—it's an organizational decision. The structure of your repositories shapes how teams collaborate, communicate, make decisions, and ultimately how quickly your organization can deliver software. THE BIGGEST MISCONCEPTION Most organizations evaluate repository strategies using technical criteria. Questions like: * Can Git handle millions of files? * How fast are clone operations? * How quickly does CI complete? * Which strategy scales better? These are valid engineering concerns, but they aren't the questions that determine long-term success. The real question is: Where does your organization pay its coordination cost? A repository strategy doesn't eliminate coordination—it simply determines where that coordination happens. Whether you choose a monorepo or a multirepo, your teams still need to collaborate. The only difference is how visible that collaboration becomes. UNDERSTANDING MONOREPOS A monorepo stores multiple applications, services, libraries, infrastructure code, and shared components inside a single repository. This creates several important advantages: * Shared tooling * Consistent standards * Easier large-scale refactoring * Unified dependency management * Atomic cross-project changes * Complete visibility across the entire system When teams are closely aligned, a monorepo enables rapid cross-cutting changes because everything lives together under one build system and one source of truth. However, as organizations grow, coordination becomes increasingly centralized. Shared libraries require approval from multiple teams, dependency updates affect everyone simultaneously, and build systems become more complex as additional teams join the repository. The technical challenges often blamed on monorepos are actually symptoms of growing organizational complexity rather than limitations of Git itself. THE HIDDEN COST OF MONOREPOS Large monorepos rarely fail because of technology. Git itself can manage repositories containing millions of files. Companies like Google successfully operate enormous monorepos. Instead, organizations encounter problems such as: * Slow code reviews * Long build pipelines * Complex branching strategies * Frozen dependencies * Endless coordination meetings * Difficult release planning These issues arise because every significant architectural decision requires agreement across more teams. As organizations grow, the repository doesn't become technically unmanageable—it becomes organizationally expensive. The true scaling challenge is coordination, not source control. HOW MULTIREPOS WORK A multirepo architecture separates services, products, or components into independent repositories. Each team owns its own repository, deployment pipeline, testing strategy, and release schedule. The benefits include: * Independent deployments * Clear ownership * Team autonomy * Smaller repositories * Faster local builds * Flexible release cycles However, the coordination burden doesn't disappear. Instead of coordinating through code reviews and shared repositories, teams coordinate through: * APIs * Versioning * Release notes * Contracts * Documentation * Governance processes The coordination simply moves from code into communication between teams. ORGANIZATIONAL DEBT One of the most valuable ideas discussed in this episode is organizational debt. Unlike technical debt, organizational debt doesn't exist in the codebase. It appears as: * Unclear ownership * Slow approvals * Excessive meetings * Complicated release processes * Duplicate workflows * Ambiguous decision-making These problems accumulate over time and become the real bottleneck for software delivery. Many organizations attempt to solve organizational debt by changing repository strategies. In reality, neither monorepos nor multirepos solve these problems—they simply expose them differently. CONWAY'S LAW A key concept behind repository design is Conway's Law. It states that software systems naturally mirror the communication structure of the organizations that build them. If teams are divided into silos, the architecture will eventually become siloed as well. Changing repository layouts cannot fix poor communication. Likewise, organizations with highly collaborative teams can successfully operate either monorepos or multirepos because the underlying communication patterns already support effective collaboration. Your repository structure is often a reflection of your organizational structure rather than its cause. THE COMMUNICATION ARCHITECTURE MODEL Rather than thinking about repositories as storage mechanisms, it is more useful to think of them as communication architectures. A monorepo encourages: * Shared visibility * Continuous collaboration * Immediate feedback * Centralized coordination A multirepo encourages: * Clear contracts * Independent ownership * Explicit APIs * Autonomous deployments Neither model is inherently superior. The best choice depends on how your teams naturally communicate and collaborate. Repository strategy should reflect your communication model—not dictate it. AI IS CHANGING THE EQUATION The rapid adoption of AI-assisted development introduces a new challenge. AI coding assistants dramatically increase software output. Developers can generate significantly more code than before, but code review and verification have not accelerated at the same pace. This creates what can be described as a verification tax. Organizations capable of generating code twice as fast often find that reviews, architectural validation, testing, and integration become the new bottlenecks. AI doesn't eliminate organizational fragmentation—it amplifies it by increasing the volume of work flowing through existing coordination processes. Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support [https://www.spreaker.com/podcast/m365-fm-modern-work-security-and-productivity-with-microsoft-365--6704921/support?utm_source=rss&utm_medium=rss&utm_campaign=rss].
814 episodes
Comments
0Be the first to comment
Sign up now and become a member of the M365.FM - Modern work, security, and productivity with Microsoft 365 community!