15 min read

Architecture Assessment

Evaluating system architecture, scalability, and design patterns

Architecture assessment evaluates how software systems are structured and whether they can support current and future business needs. Poor architecture is one of the most expensive problems to fix post-acquisition—often requiring multi-million dollar rewrites that take years to complete.

Why Architecture Matters in M&A

Software architecture determines the fundamental constraints of what's possible:

Architecture QualityBusiness ImpactM&A Implication
ScalabilityCan the system handle 10x growth?Growth ceiling = valuation ceiling
ReliabilityWhat's the uptime? MTTR?Customer churn risk, SLA penalties
MaintainabilityHow fast can changes be made?Feature velocity, engineering costs
FlexibilityCan new capabilities be added?Integration difficulty, synergy timeline
Cost EfficiencyInfrastructure spend per userGross margin impact

Real Example: A PE firm acquired a logistics SaaS for $120M. During integration, they discovered the "microservices" architecture was actually a distributed monolith—services were so coupled that any change required coordinated deployments across 15 services. Feature velocity dropped 60% post-acquisition, and they eventually spent $8M on a re-architecture project.

Architecture Patterns: What to Look For

Monolithic Architecture

AspectDetails
CharacteristicsSingle deployable unit, shared database, all code in one repository
DeploymentAll-or-nothing; entire app redeploys for any change
ScalingVertical (bigger servers) or full horizontal replication
Team StructureEveryone works in same codebase

When It's Fine:

  • Companies with <$10M ARR and <20 engineers
  • Products with <100K monthly active users
  • Applications with relatively simple domains
  • Well-structured monoliths with clear internal modules

When It's Concerning:

  • Deployment takes >30 minutes
  • Simple changes require full regression testing
  • Teams step on each other's code constantly
  • Cannot scale specific components independently

Microservices Architecture

AspectDetails
CharacteristicsMultiple independent services, separate databases, API communication
DeploymentEach service deploys independently
ScalingScale individual services based on demand
Team StructureTeams own specific services end-to-end

When It's Appropriate:

  • Large engineering teams (50+ engineers)
  • Complex domains with clear bounded contexts
  • High scale requirements (millions of users)
  • Need for technology diversity

Warning Signs of Poor Implementation:

  • Distributed Monolith: Services that must be deployed together
  • Chatty Services: Excessive inter-service communication
  • Shared Databases: Multiple services accessing same tables
  • No Service Ownership: Nobody knows who owns what
  • Inconsistent Patterns: Each service built differently

Modular Monolith (Often the Best Choice)

Single deployment with well-defined internal module boundaries. Combines monolith simplicity with microservices maintainability.

Ideal For: Companies planning to scale, with clear domain boundaries, but not yet at microservices-required scale.

Architecture Assessment Framework

1. Component Analysis

Map the major components and their relationships:

  • What are the main system components?
  • How do they communicate (REST, GraphQL, message queues, direct DB)?
  • What are the dependency directions?
  • Are there circular dependencies?

2. Data Architecture

Understand how data flows and is stored:

  • Database Technology: SQL vs NoSQL vs hybrid—appropriate for use case?
  • Data Ownership: Which services own which data?
  • Consistency Model: Strong vs eventual consistency—appropriate trade-offs?
  • Data Isolation: Multi-tenant architecture security

3. Scalability Analysis

DimensionQuestions to AskRed Flag
Horizontal ScalingCan you add more instances?Stateful services, session affinity required
Database ScalingRead replicas? Sharding possible?Single DB instance, no read replicas
CachingWhat's cached? Cache invalidation?No caching layer, or cache causing bugs
Async ProcessingBackground jobs? Message queues?All processing synchronous in request

4. Reliability Patterns

  • Circuit Breakers: Do failing dependencies cascade?
  • Retry Logic: Handled gracefully or causing thundering herds?
  • Timeouts: Are they configured? Reasonable values?
  • Graceful Degradation: Does partial failure = total failure?
  • Health Checks: Can load balancers detect unhealthy instances?

5. Integration Architecture

  • Third-party integrations and their criticality
  • API design quality (REST maturity, consistency)
  • Event-driven vs request-driven patterns
  • Integration failure handling

Architecture Red Flags and Costs

Red FlagWhy It MattersRemediation Cost
Circular dependenciesChanges cascade unpredictably, deployment nightmares$200K - $1M
Database as integration layerTight coupling, scaling impossible$500K - $3M
No API versioningBreaking changes affect all clients$50K - $200K
Synchronous everythingPerformance bottlenecks, timeout cascades$100K - $500K
God class/serviceSingle component doing everything$300K - $2M
Technology obsolescenceFramework/language end of life$1M - $10M
No documentationOnly original developers understand system$50K - $200K

Scalability Reality Check

Ask the target company these questions:

  • "What happens if traffic doubles tomorrow?" — Listen for confidence vs. concern
  • "What's your biggest scalability bottleneck?" — Honest teams know their limits
  • "Have you load tested? What were the results?" — No testing = unknown limits
  • "What's your database size and growth rate?" — Project forward to identify cliffs

Architecture Documentation Expectations

Mature organizations should have:

  • System Context Diagram: How the system fits in the broader ecosystem
  • Container Diagram: Major deployable units and their interactions
  • Component Diagram: Key components within each container
  • Data Flow Diagram: How data moves through the system
  • Deployment Diagram: How components map to infrastructure

Missing documentation isn't just a red flag—it's a cost. Estimate $100K-$300K in knowledge recovery and documentation creation.

Key Takeaway: The right architecture depends on context—a well-designed monolith beats a poorly implemented microservices system every time. Focus on whether the architecture fits the business needs today AND can evolve to meet future needs. Architecture problems are the most expensive to fix, so price them carefully into the deal.