Back to Blog

When to Build vs Buy: Evaluating Third-Party SaaS as an Architect

Introduction

"Should we build this ourselves or buy a solution?"

This question lands on architects' desks weekly. Get it wrong, and you've either wasted months of engineering time reinventing the wheel or locked your organization into an expensive, inflexible dependency. Get it right, and you've accelerated your roadmap while preserving optionality.

This guide provides a systematic framework for making build vs buy decisions, drawn from hard-won lessons across organizations of all sizes.


The False Dichotomy

First, let's dispel a myth: build vs buy isn't binary.

The Real Spectrum:
┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│  FULL       OPEN      HOSTED      SaaS       SaaS      FULL   │
│  BUILD      SOURCE    OPEN        with       with      BUY    │
│             SELF-     SOURCE      CONFIG     CUSTOM            │
│             HOSTED                           INTEGRATION       │
│                                                                 │
│  ◄─────────────────────────────────────────────────────────►   │
│  More Control                              Less Maintenance    │
│  More Maintenance                          Less Control        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

The Six Options:

OptionExampleControlMaintenance
Full BuildCustom auth systemCompleteVery High
Open Source Self-HostedKeycloak on your infraHighHigh
Hosted Open SourceSupabase, NeonMedium-HighMedium
SaaS with ConfigAuth0, StripeMediumLow
SaaS with Custom IntegrationSalesforce + custom middlewareLow-MediumMedium
Full Buy (Turnkey)Shopify for e-commerceLowVery Low

Your job isn't choosing "build" or "buy"—it's finding the right point on this spectrum.


The Decision Framework

Phase 1: Strategic Alignment

Before evaluating any solution, answer these questions:

┌─────────────────────────────────────────────────────────────┐
│              STRATEGIC ALIGNMENT CHECKLIST                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. CORE vs CONTEXT                                         │
│     □ Is this a competitive differentiator?                │
│     □ Does this directly impact customer value?            │
│     □ Would competitors gain advantage if they had this?   │
│                                                             │
│  2. STRATEGIC DIRECTION                                     │
│     □ Does this align with our 3-year technical vision?    │
│     □ Does this fit our build vs buy philosophy?           │
│     □ Is this domain we want to develop expertise in?      │
│                                                             │
│  3. ORGANIZATIONAL CAPABILITY                               │
│     □ Do we have expertise to build this well?             │
│     □ Can we maintain this long-term?                      │
│     □ Is building this a good use of our talent?           │
│                                                             │
└─────────────────────────────────────────────────────────────┘

The Core vs Context Framework:

Geoffrey Moore's framework remains the most useful lens:

                    HIGH STRATEGIC IMPORTANCE
                              │
                              │
           ┌──────────────────┼──────────────────┐
           │                  │                  │
           │    MISSION       │    CORE          │
           │    CRITICAL      │    DIFFERENTIATOR│
           │                  │                  │
           │  "Must work      │  "Build this     │
           │   perfectly"     │   ourselves"     │
           │                  │                  │
           │  Buy reliable    │  Build & invest  │
           │  enterprise      │  heavily         │
           │  solutions       │                  │
 LOW       │                  │                  │     HIGH
 UNIQUENESS├──────────────────┼──────────────────┤    UNIQUENESS
           │                  │                  │
           │    COMMODITY     │    CONTEXT       │
           │                  │    ADVANTAGE     │
           │  "Just needs     │                  │
           │   to work"       │  "Nice to have   │
           │                  │   our way"       │
           │  Buy cheapest    │                  │
           │  that works      │  Buy & customize │
           │                  │                  │
           └──────────────────┼──────────────────┘
                              │
                    LOW STRATEGIC IMPORTANCE

Examples by Quadrant:
┌─────────────────┬─────────────────────────────────────────────┐
│ CORE            │ Recommendation engine (Netflix)             │
│ DIFFERENTIATOR  │ Search algorithm (Google)                   │
│                 │ Design tools (Figma)                        │
│                 │ → BUILD: This IS your product               │
├─────────────────┼─────────────────────────────────────────────┤
│ MISSION         │ Payment processing (for most companies)     │
│ CRITICAL        │ Authentication (for most companies)         │
│                 │ Database infrastructure                     │
│                 │ → BUY: Reliability > customization          │
├─────────────────┼─────────────────────────────────────────────┤
│ CONTEXT         │ Analytics dashboards                        │
│ ADVANTAGE       │ Customer support tools                      │
│                 │ Internal admin panels                       │
│                 │ → BUY + CUSTOMIZE: Good enough + integrated │
├─────────────────┼─────────────────────────────────────────────┤
│ COMMODITY       │ Email sending                               │
│                 │ File storage                                │
│                 │ Logging                                     │
│                 │ → BUY CHEAPEST: It just needs to work       │
└─────────────────┴─────────────────────────────────────────────┘

Phase 2: Requirements Analysis

Document requirements with brutal honesty:

interface RequirementsAnalysis {
  // Functional Requirements
  functional: {
    mustHave: Requirement[];      // Non-negotiable
    shouldHave: Requirement[];    // Important
    niceToHave: Requirement[];    // Can live without
  };

  // Non-Functional Requirements
  nonFunctional: {
    performance: {
      latencyP99: number;         // milliseconds
      throughput: number;         // requests/second
      availability: number;       // percentage (99.9%, 99.99%)
    };
    scale: {
      currentLoad: number;
      projectedLoad: number;      // 2-year projection
      peakMultiplier: number;     // Black Friday factor
    };
    security: {
      complianceFrameworks: string[];  // SOC2, HIPAA, PCI
      dataResidency: string[];         // regions
      encryptionRequirements: string[];
    };
    integration: {
      existingSystems: string[];
      dataFlowRequirements: DataFlow[];
      latencyBudget: number;
    };
  };

  // Constraints
  constraints: {
    budget: {
      initial: number;
      annual: number;
      hardCeiling: number;
    };
    timeline: {
      mvpDeadline: Date;
      fullDeadline: Date;
      flexibility: 'none' | 'some' | 'flexible';
    };
    team: {
      availableEngineers: number;
      relevantExpertise: string[];
      canHire: boolean;
    };
  };
}

The Requirements Honesty Test:

┌─────────────────────────────────────────────────────────────┐
│           REQUIREMENTS HONESTY CHECKLIST                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  For each "must have" requirement, ask:                     │
│                                                             │
│  □ Has a customer explicitly asked for this?               │
│  □ Will we lose deals without this?                        │
│  □ Is there a regulatory/compliance mandate?               │
│  □ Have we validated this isn't just "nice to have"?       │
│                                                             │
│  Red flags that requirements are inflated:                  │
│                                                             │
│  ⚠ "We might need this someday"                            │
│  ⚠ "Our competitor has this"                               │
│  ⚠ "It would be cool if..."                                │
│  ⚠ "Engineering would prefer..."                           │
│  ⚠ No customer has ever mentioned this                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Total Cost of Ownership Analysis

The most common mistake in build vs buy is comparing subscription costs to development costs. Real TCO is far more complex.

The Build Cost Iceberg

                    ▲
                   /│\        What people see:
                  / │ \       "It's just 3 weeks of
                 /  │  \       engineering work"
                /   │   \
               /────┼────\
              /     │     \    ════════════════════
             /      │      \   ACTUAL COSTS BELOW
            /       │       \
           /        │        \
          / Initial │ Dev     \
         /  Design  │ Time     \
        /───────────┼───────────\
       /    Code    │  Testing   \
      /    Reviews  │  & QA      \
     /──────────────┼─────────────\
    /  Security     │  Performance \
   /   Review       │  Tuning       \
  /─────────────────┼────────────────\
 /   Documentation  │  Deployment    \
/                   │  & DevOps       \
────────────────────┼──────────────────
    On-call         │  Bug fixes
    Rotation        │  & Patches
────────────────────┼──────────────────
    Knowledge       │  Training
    Transfer        │  New Hires
────────────────────┼──────────────────
    Compliance      │  Audit
    Updates         │  Support
────────────────────┼──────────────────
    Feature         │  Tech Debt
    Requests        │  Paydown
────────────────────┼──────────────────
    Opportunity     │  Delayed
    Cost            │  Roadmap
────────────────────┴──────────────────

TCO Calculation Model

interface TCOModel {
  buildCosts: {
    // Initial Development
    initial: {
      engineeringHours: number;
      hourlyRate: number;          // Fully loaded (salary + benefits + overhead)
      designReviewHours: number;
      securityReviewHours: number;
      documentationHours: number;
      testingHours: number;
      deploymentSetup: number;
    };

    // Ongoing Maintenance (Annual)
    maintenance: {
      bugFixesPercent: number;     // Typically 15-20% of initial dev
      securityPatches: number;     // Hours per year
      performanceTuning: number;
      dependencyUpdates: number;
      complianceUpdates: number;
      featureRequests: number;     // Internal enhancement requests
    };

    // Operational Costs (Annual)
    operations: {
      infrastructure: number;      // Cloud costs
      monitoring: number;          // Tools and time
      onCallHours: number;         // Incident response
      incidentCost: number;        // Average cost per incident
      expectedIncidents: number;   // Per year
    };

    // Hidden Costs
    hidden: {
      knowledgeTransfer: number;   // When people leave
      trainingNewHires: number;
      technicalDebtInterest: number;
      opportunityCost: number;     // What else could team build?
    };
  };

  buyCosts: {
    // Subscription/License
    subscription: {
      basePrice: number;
      perUserPrice: number;
      perUsagePrice: number;
      expectedUsers: number;
      expectedUsage: number;
      priceIncreasePercent: number;  // Annual escalation
    };

    // Integration Costs
    integration: {
      initialIntegration: number;    // Hours
      customization: number;
      dataTransformation: number;
      testing: number;
    };

    // Operational Costs (Annual)
    operations: {
      adminTime: number;             // Hours managing the tool
      supportEscalations: number;
      workaroundDevelopment: number; // When it doesn't quite fit
      trainingTime: number;
    };

    // Risk Costs
    risks: {
      vendorLockInCost: number;      // Migration cost if vendor fails
      dataExtractionDifficulty: number;
      contractNegotiationTime: number;
      securityAuditCost: number;
    };
  };
}

Three-Year TCO Comparison Template

┌─────────────────────────────────────────────────────────────────┐
│              3-YEAR TCO COMPARISON: [CAPABILITY]                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  BUILD OPTION                          YEAR 1   YEAR 2  YEAR 3 │
│  ─────────────────────────────────────────────────────────────  │
│  Initial Development                   $XXX,XXX    -       -   │
│  Infrastructure                        $XX,XXX  $XX,XXX $XX,XXX│
│  Maintenance (20% of initial)          $XX,XXX  $XX,XXX $XX,XXX│
│  On-call & Incidents                   $XX,XXX  $XX,XXX $XX,XXX│
│  Feature Enhancements                  $XX,XXX  $XX,XXX $XX,XXX│
│  Security & Compliance                 $XX,XXX  $XX,XXX $XX,XXX│
│  ─────────────────────────────────────────────────────────────  │
│  SUBTOTAL                              $XXX,XXX $XXX,XXX $XXX,XXX│
│  Opportunity Cost (2 engineers)        $XXX,XXX $XXX,XXX $XXX,XXX│
│  ─────────────────────────────────────────────────────────────  │
│  BUILD TOTAL                           $XXX,XXX $XXX,XXX $XXX,XXX│
│                                                                 │
│  BUY OPTION                            YEAR 1   YEAR 2  YEAR 3 │
│  ─────────────────────────────────────────────────────────────  │
│  License/Subscription                  $XX,XXX  $XX,XXX $XX,XXX│
│  Integration Development               $XX,XXX  $X,XXX  $X,XXX │
│  Admin & Operations                    $X,XXX   $X,XXX  $X,XXX │
│  Training                              $X,XXX   $X,XXX  $X,XXX │
│  Vendor Management                     $X,XXX   $X,XXX  $X,XXX │
│  ─────────────────────────────────────────────────────────────  │
│  BUY TOTAL                             $XX,XXX  $XX,XXX $XX,XXX│
│                                                                 │
│  ═════════════════════════════════════════════════════════════  │
│  3-YEAR DIFFERENCE                     BUILD: $X,XXX,XXX        │
│                                        BUY:   $XXX,XXX          │
│                                        DELTA: $XXX,XXX          │
└─────────────────────────────────────────────────────────────────┘

The Fully-Loaded Engineer Cost

Many calculations underestimate true engineering cost:

Base Salary (Senior Engineer)           $180,000
────────────────────────────────────────────────
Benefits (25%)                          + $45,000
Payroll Taxes                           + $14,000
Equipment & Software                    + $5,000
Office/Remote Setup                     + $3,000
Training & Conferences                  + $5,000
Management Overhead (10%)               + $18,000
HR & Admin Overhead (5%)                + $9,000
Recruiting Cost (amortized)             + $8,000
────────────────────────────────────────────────
FULLY LOADED ANNUAL                     $287,000
────────────────────────────────────────────────
Productive Hours (accounting for        1,600
  meetings, PTO, admin, context-switching)
────────────────────────────────────────────────
EFFECTIVE HOURLY RATE                   ~$180/hour

Reality Check:

  • That "3-week project" at 2 engineers = 240 hours × $180 = $43,200 initial
  • Plus 20% annual maintenance = $8,640/year
  • Plus opportunity cost of what they could have built instead

Vendor Evaluation Framework

Technical Due Diligence

┌─────────────────────────────────────────────────────────────┐
│              TECHNICAL EVALUATION MATRIX                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  CATEGORY              WEIGHT   VENDOR A  VENDOR B  BUILD  │
│  ───────────────────────────────────────────────────────── │
│                                                             │
│  FUNCTIONALITY (30%)                                        │
│  ├─ Core features        10%      9/10      7/10    10/10  │
│  ├─ Feature completeness  8%      8/10      9/10     6/10  │
│  ├─ Customization         7%      6/10      8/10    10/10  │
│  └─ Roadmap alignment     5%      7/10      8/10    10/10  │
│                                                             │
│  INTEGRATION (25%)                                          │
│  ├─ API quality          10%      9/10      7/10    10/10  │
│  ├─ SDK/Libraries         5%      8/10      6/10    10/10  │
│  ├─ Webhooks/Events       5%      9/10      8/10    10/10  │
│  └─ Data portability      5%      6/10      4/10    10/10  │
│                                                             │
│  RELIABILITY (20%)                                          │
│  ├─ Uptime SLA            8%      9/10      9/10     7/10  │
│  ├─ Performance           7%      8/10      7/10     8/10  │
│  └─ Disaster recovery     5%      9/10      8/10     6/10  │
│                                                             │
│  SECURITY (15%)                                             │
│  ├─ Compliance certs      5%      9/10      8/10     5/10  │
│  ├─ Security practices    5%      8/10      7/10     7/10  │
│  └─ Data handling         5%      8/10      7/10     9/10  │
│                                                             │
│  SUPPORT (10%)                                              │
│  ├─ Documentation         4%      8/10      6/10     4/10  │
│  ├─ Support quality       3%      7/10      8/10    10/10  │
│  └─ Community             3%      9/10      5/10     3/10  │
│                                                             │
│  ───────────────────────────────────────────────────────── │
│  WEIGHTED TOTAL         100%     8.1       7.2      7.8   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

API Quality Assessment

interface APIQualityChecklist {
  design: {
    restful: boolean;               // Follows REST conventions
    consistent: boolean;            // Consistent naming/patterns
    versioned: boolean;             // API versioning strategy
    documented: boolean;            // OpenAPI/Swagger spec
    pagination: boolean;            // Handles large datasets
    filtering: boolean;             // Query capabilities
  };

  reliability: {
    rateLimits: {
      documented: boolean;
      reasonable: boolean;          // Fits your use case
      gracefulDegradation: boolean; // 429 handling
    };
    errorHandling: {
      consistentFormat: boolean;
      meaningfulMessages: boolean;
      errorCodes: boolean;
      retryGuidance: boolean;
    };
    idempotency: boolean;           // Safe retries
  };

  performance: {
    latencyP50: number;
    latencyP99: number;
    throughputLimit: number;
    bulkOperations: boolean;
    asyncOperations: boolean;       // For long-running tasks
  };

  security: {
    authMethods: string[];          // OAuth, API keys, etc.
    scopeGranularity: boolean;      // Fine-grained permissions
    auditLogging: boolean;
    ipAllowlisting: boolean;
    mTLS: boolean;
  };

  developer_experience: {
    sandbox: boolean;               // Test environment
    sdks: string[];                 // Official SDKs
    webhooks: boolean;
    websockets: boolean;            // Real-time updates
    graphql: boolean;               // If applicable
  };
}

Integration Complexity Assessment

┌─────────────────────────────────────────────────────────────┐
│           INTEGRATION COMPLEXITY MATRIX                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  COMPLEXITY LEVEL    CHARACTERISTICS           TIME FACTOR │
│  ───────────────────────────────────────────────────────── │
│                                                             │
│  TRIVIAL             - Standard REST API        1x         │
│                      - Good SDK available                  │
│                      - Simple auth (API key)               │
│                      - No data transformation              │
│                      Example: Stripe payments              │
│                                                             │
│  SIMPLE              - Some data mapping needed  2x        │
│                      - OAuth integration                   │
│                      - Webhook handling                    │
│                      - Basic error handling                │
│                      Example: SendGrid email               │
│                                                             │
│  MODERATE            - Complex data models       4x        │
│                      - Multiple API endpoints              │
│                      - State synchronization               │
│                      - Custom middleware needed            │
│                      Example: Salesforce CRM               │
│                                                             │
│  COMPLEX             - Bidirectional sync        8x        │
│                      - Real-time requirements              │
│                      - Complex auth flows                  │
│                      - Significant transformation          │
│                      Example: ERP integration              │
│                                                             │
│  NIGHTMARE           - Undocumented APIs         16x+      │
│                      - Legacy protocols                    │
│                      - Unreliable vendor                   │
│                      - No sandbox environment              │
│                      Example: Legacy banking APIs          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Vendor Risk Assessment

Business Viability Analysis

┌─────────────────────────────────────────────────────────────┐
│              VENDOR VIABILITY SCORECARD                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  FINANCIAL HEALTH                               Score: /10 │
│  ─────────────────────────────────────────────────────────  │
│  □ Funding stage/profitability                             │
│    - Bootstrapped & profitable: +3                         │
│    - Series C+: +2                                         │
│    - Series A/B: +1                                        │
│    - Pre-seed/Seed: 0                                      │
│  □ Revenue growth (if public/available)                    │
│  □ Burn rate vs runway (if known)                          │
│  □ Customer concentration risk                             │
│                                                             │
│  MARKET POSITION                                Score: /10 │
│  ─────────────────────────────────────────────────────────  │
│  □ Market share / competitive position                     │
│  □ Brand recognition                                       │
│  □ Customer references in your industry                    │
│  □ Analyst coverage (Gartner, Forrester)                   │
│                                                             │
│  OPERATIONAL MATURITY                           Score: /10 │
│  ─────────────────────────────────────────────────────────  │
│  □ Time in market (years)                                  │
│  □ Team size and growth                                    │
│  □ Enterprise customer count                               │
│  □ Geographic presence                                     │
│                                                             │
│  TECHNICAL SUSTAINABILITY                       Score: /10 │
│  ─────────────────────────────────────────────────────────  │
│  □ Technology stack modernity                              │
│  □ API stability history                                   │
│  □ Open source components (reduces lock-in)                │
│  □ Data portability options                                │
│                                                             │
│  ═════════════════════════════════════════════════════════  │
│  RISK LEVEL:                                               │
│  35-40: Low Risk   25-34: Medium Risk   <25: High Risk    │
└─────────────────────────────────────────────────────────────┘

Vendor Lock-in Assessment

interface LockInAssessment {
  dataPortability: {
    exportFormats: string[];        // JSON, CSV, SQL dump?
    exportCompleteness: number;     // % of data exportable
    exportFrequency: string;        // On-demand, scheduled?
    exportCost: number;             // Hidden fees?
    migrationTools: boolean;        // Official migration support?
  };

  contractualLockIn: {
    minimumTerm: number;            // Months
    autoRenewal: boolean;
    terminationNotice: number;      // Days required
    terminationFees: number;
    priceIncreaseProtection: boolean;
  };

  technicalLockIn: {
    proprietaryFormats: boolean;
    customIntegrationDepth: number; // 1-10, how deep?
    apiStandardsCompliance: boolean; // Uses standard protocols?
    replacementDifficulty: number;  // 1-10
  };

  operationalLockIn: {
    userTrainingInvestment: number; // Hours invested
    processIntegration: number;     // 1-10, how embedded?
    customWorkflowCount: number;
    dependentSystems: string[];
  };

  // Calculate migration cost
  estimatedMigrationCost: {
    dataExtraction: number;
    newSystemSetup: number;
    dataMigration: number;
    reintegration: number;
    retraining: number;
    parallelRunning: number;        // Both systems during transition
    total: number;
  };
}

Exit Strategy Planning

Always plan your exit before signing:

┌─────────────────────────────────────────────────────────────┐
│                    EXIT STRATEGY TEMPLATE                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  VENDOR: _______________    CONTRACT START: ___________    │
│                                                             │
│  DATA EXTRACTION                                            │
│  ─────────────────────────────────────────────────────────  │
│  Export mechanism:     □ API  □ Bulk export  □ Support req │
│  Export format:        ____________________________        │
│  Export completeness:  ___% of data                        │
│  Export frequency:     ____________________________        │
│  Data retention post-cancel: ___ days                      │
│                                                             │
│  ALTERNATIVE VENDORS                                        │
│  ─────────────────────────────────────────────────────────  │
│  Primary alternative:  ____________________________        │
│  Secondary alternative: ____________________________       │
│  Migration difficulty: □ Easy  □ Medium  □ Hard           │
│                                                             │
│  FALLBACK PLAN                                              │
│  ─────────────────────────────────────────────────────────  │
│  Can we build internally?    □ Yes  □ No                   │
│  Estimated build time:       ___ months                    │
│  Interim solution:           ____________________________  │
│                                                             │
│  CONTRACTUAL PROTECTIONS                                    │
│  ─────────────────────────────────────────────────────────  │
│  □ Data export clause included                             │
│  □ Termination for convenience                             │
│  □ Price increase cap                                      │
│  □ SLA with meaningful penalties                           │
│  □ Source code escrow (if critical)                        │
│                                                             │
│  MIGRATION ESTIMATE                                         │
│  ─────────────────────────────────────────────────────────  │
│  Calendar time: ___ months                                 │
│  Engineering effort: ___ person-months                     │
│  Estimated cost: $___________                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Security and Compliance Evaluation

Security Assessment Checklist

┌─────────────────────────────────────────────────────────────┐
│              VENDOR SECURITY ASSESSMENT                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  COMPLIANCE CERTIFICATIONS                                  │
│  □ SOC 2 Type II (current, not expired)                    │
│  □ ISO 27001                                               │
│  □ Industry-specific (HIPAA, PCI-DSS, FedRAMP)            │
│  □ GDPR compliance documentation                           │
│                                                             │
│  DATA HANDLING                                              │
│  □ Data residency options match your requirements          │
│  □ Encryption at rest (AES-256 or better)                  │
│  □ Encryption in transit (TLS 1.2+)                        │
│  □ Key management (customer-managed keys option?)          │
│  □ Data retention and deletion policies                    │
│  □ Backup and disaster recovery procedures                 │
│                                                             │
│  ACCESS CONTROL                                             │
│  □ SSO support (SAML, OIDC)                                │
│  □ MFA enforcement                                         │
│  □ Role-based access control                               │
│  □ API key rotation                                        │
│  □ Audit logging                                           │
│  □ IP allowlisting                                         │
│                                                             │
│  SECURITY PRACTICES                                         │
│  □ Penetration testing (annual, by third party)            │
│  □ Bug bounty program                                      │
│  □ Security incident response plan                         │
│  □ Vulnerability disclosure policy                         │
│  □ Security changelog/advisories                           │
│                                                             │
│  INFRASTRUCTURE                                             │
│  □ Cloud provider (AWS, GCP, Azure)                        │
│  □ Multi-region availability                               │
│  □ DDoS protection                                         │
│  □ Network segmentation                                    │
│                                                             │
│  RED FLAGS                                                  │
│  ⚠ No SOC 2 or equivalent                                  │
│  ⚠ Expired certifications                                  │
│  ⚠ No SSO support                                          │
│  ⚠ Customer data on shared infrastructure                  │
│  ⚠ Vague or missing security documentation                 │
│  ⚠ No incident response history/transparency               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Data Flow Security Analysis

Your System              Vendor Boundary              Vendor System
─────────────────────────────────────────────────────────────────────

┌─────────────┐         ┌─────────────┐         ┌─────────────────┐
│   Your      │         │   Vendor    │         │    Vendor       │
│   Backend   │───TLS──►│    API      │───?───► │    Database     │
│             │         │   Gateway   │         │                 │
└─────────────┘         └─────────────┘         └─────────────────┘
      │                       │                         │
      │                       │                         │
      ▼                       ▼                         ▼
Questions to Answer:

1. TRANSIT SECURITY
   □ What encryption is used between your system and vendor?
   □ Is certificate pinning available?
   □ Are there any intermediate hops?

2. DATA AT REST
   □ Where does your data physically reside?
   □ What encryption protects stored data?
   □ Who has access to encryption keys?

3. PROCESSING SECURITY
   □ Is data processed in isolated environments?
   □ Are there other customers on same infrastructure?
   □ Is your data used for ML training or analytics?

4. DATA BOUNDARIES
   □ What data actually needs to go to the vendor?
   □ Can you minimize/anonymize sensitive fields?
   □ Is there a data processing agreement (DPA)?

5. SUBPROCESSORS
   □ Does vendor use subprocessors (AWS, Twilio, etc.)?
   □ Are you notified of subprocessor changes?
   □ Do subprocessors meet your security requirements?

The Decision Matrix

Weighted Decision Framework

interface DecisionMatrix {
  // Define criteria and weights
  criteria: {
    name: string;
    weight: number;          // 0-100, total should = 100
    evaluator: (option: Option) => number;  // Returns 1-10 score
  }[];

  options: {
    name: string;
    type: 'build' | 'buy' | 'hybrid';
    scores: Record<string, number>;
    adjustments: {
      reason: string;
      impact: number;        // -2 to +2
    }[];
  }[];
}

// Example implementation
const evaluateOptions = (matrix: DecisionMatrix): RankedOption[] => {
  return matrix.options.map(option => {
    const baseScore = matrix.criteria.reduce((total, criterion) => {
      const score = option.scores[criterion.name] || 0;
      return total + (score * criterion.weight / 100);
    }, 0);

    const adjustmentTotal = option.adjustments.reduce(
      (total, adj) => total + adj.impact, 0
    );

    return {
      name: option.name,
      type: option.type,
      baseScore,
      adjustedScore: baseScore + adjustmentTotal,
      details: {
        criteriaScores: option.scores,
        adjustments: option.adjustments
      }
    };
  }).sort((a, b) => b.adjustedScore - a.adjustedScore);
};

Quick Decision Heuristics

For when you don't have time for full analysis:

┌─────────────────────────────────────────────────────────────┐
│              QUICK DECISION HEURISTICS                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  STRONG BUILD SIGNALS                                       │
│  ─────────────────────────────────────────────────────────  │
│  ✓ Core differentiator for your business                   │
│  ✓ No existing solution meets >70% of requirements         │
│  ✓ You have deep domain expertise                          │
│  ✓ You'll need to customize >50% of functionality          │
│  ✓ Data sensitivity prevents external processing           │
│  ✓ Scale requirements exceed vendor capabilities           │
│  ✓ Long-term strategic asset                               │
│                                                             │
│  STRONG BUY SIGNALS                                         │
│  ─────────────────────────────────────────────────────────  │
│  ✓ Commodity capability (auth, payments, email)            │
│  ✓ Existing solution meets >80% of requirements            │
│  ✓ Need to ship in <3 months                               │
│  ✓ Small team (<10 engineers total)                        │
│  ✓ Not a competitive differentiator                        │
│  ✓ Compliance requirements favor established vendors       │
│  ✓ Build would require hiring for new expertise            │
│                                                             │
│  HYBRID INDICATORS                                          │
│  ─────────────────────────────────────────────────────────  │
│  ✓ Core requirement is commodity, but unique UX needed     │
│  ✓ Buy for MVP, build later if proven valuable             │
│  ✓ Buy the platform, build the integration layer           │
│  ✓ Open source + managed hosting                           │
│                                                             │
│  RED FLAGS - RECONSIDER DECISION                           │
│  ─────────────────────────────────────────────────────────  │
│  ⚠ Building because "we can do it better"                  │
│  ⚠ Buying because "everyone uses it"                       │
│  ⚠ Team excited about building, not about problem          │
│  ⚠ Buying to avoid learning something                      │
│  ⚠ Building to maintain control for control's sake         │
│  ⚠ Decision driven by single stakeholder's preference      │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Common Scenarios and Recommendations

Scenario 1: Authentication

┌─────────────────────────────────────────────────────────────┐
│  SCENARIO: USER AUTHENTICATION                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  RECOMMENDATION: BUY (for 95% of companies)                │
│                                                             │
│  Why Buy:                                                   │
│  • Security-critical with severe downside risk              │
│  • Rapidly evolving standards (passkeys, WebAuthn)          │
│  • Compliance complexity (password policies, MFA)           │
│  • Not a differentiator (users expect it to "just work")   │
│                                                             │
│  Options by Company Stage:                                  │
│  ─────────────────────────────────────────────────────────  │
│  Startup (<50 users):     Firebase Auth, Supabase Auth     │
│  Growth (50-10K users):   Auth0, Clerk                     │
│  Scale (10K+ users):      Okta, Auth0 Enterprise           │
│  Enterprise (complex):    Okta, Azure AD B2C               │
│                                                             │
│  Exceptions (Consider Building):                            │
│  • You ARE an identity company                              │
│  • Extreme customization of auth flow is core product       │
│  • Government/classified requiring on-prem                  │
│  • Cost at massive scale (>10M MAU)                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Scenario 2: Payment Processing

┌─────────────────────────────────────────────────────────────┐
│  SCENARIO: PAYMENT PROCESSING                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  RECOMMENDATION: BUY (for 99% of companies)                │
│                                                             │
│  Why Buy:                                                   │
│  • PCI compliance is expensive and complex                  │
│  • Fraud detection requires massive data                    │
│  • Bank/card network relationships take years               │
│  • Regulatory landscape constantly changing                 │
│                                                             │
│  Options by Use Case:                                       │
│  ─────────────────────────────────────────────────────────  │
│  Simple e-commerce:       Stripe, Square                   │
│  Subscriptions:           Stripe, Chargebee, Recurly       │
│  Marketplace:             Stripe Connect, PayPal Commerce  │
│  B2B Invoicing:           Stripe, Bill.com                 │
│  International:           Adyen, Stripe (check coverage)   │
│                                                             │
│  Hybrid Approach:                                           │
│  • Use payment provider APIs                                │
│  • Build custom checkout experience                         │
│  • Build billing/invoicing logic internally                │
│  • Never store card numbers yourself                        │
│                                                             │
│  Exceptions (Rare):                                         │
│  • You ARE a fintech company                                │
│  • Volume justifies direct acquiring relationships          │
│  • Specific markets with no good vendors                    │
│                                                             │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│  SCENARIO: SEARCH FUNCTIONALITY                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  RECOMMENDATION: DEPENDS (evaluate carefully)              │
│                                                             │
│  Buy If:                                                    │
│  • Simple text search over products/content                 │
│  • Need search fast (<2 weeks)                             │
│  • Small dataset (<1M documents)                            │
│  • Standard relevance requirements                          │
│                                                             │
│  Build/Self-Host If:                                        │
│  • Search IS your product differentiator                    │
│  • Custom ranking algorithms needed                         │
│  • Very large scale (cost sensitivity)                      │
│  • Real-time indexing requirements                          │
│                                                             │
│  Options:                                                   │
│  ─────────────────────────────────────────────────────────  │
│  Fully Managed:           Algolia, Elasticsearch Cloud     │
│  Hybrid:                  Meilisearch Cloud, Typesense     │
│  Self-Hosted:             Elasticsearch, Meilisearch       │
│  Database-Native:         PostgreSQL FTS, MongoDB Atlas    │
│                                                             │
│  Decision Tree:                                             │
│                                                             │
│  Is search a core differentiator?                           │
│       │                                                     │
│       ├── Yes → Build custom on Elasticsearch/Lucene       │
│       │                                                     │
│       └── No → Is dataset >10M docs?                       │
│                    │                                        │
│                    ├── Yes → Self-host Elasticsearch       │
│                    │                                        │
│                    └── No → Algolia or Typesense Cloud     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Scenario 4: Analytics/Data Warehouse

┌─────────────────────────────────────────────────────────────┐
│  SCENARIO: ANALYTICS & DATA WAREHOUSE                       │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  RECOMMENDATION: BUY (with build for custom layers)        │
│                                                             │
│  Modern Stack (Buy):                                        │
│  ─────────────────────────────────────────────────────────  │
│  Ingestion:     Fivetran, Airbyte, Segment                 │
│  Warehouse:     Snowflake, BigQuery, Databricks            │
│  Transform:     dbt (open source + Cloud)                  │
│  BI:            Looker, Metabase, Preset                   │
│                                                             │
│  Build Custom:                                              │
│  • Data models specific to your domain                      │
│  • Custom metrics and KPIs                                  │
│  • Product-specific analytics features                      │
│  • Real-time dashboards embedded in product                │
│                                                             │
│  Cost Considerations:                                       │
│  • Snowflake/BigQuery: Usage-based, can spike              │
│  • Set up cost monitoring and alerts                        │
│  • Consider Clickhouse for high-volume event data          │
│                                                             │
│  Self-Host Options (Cost Optimization):                     │
│  • Clickhouse for event data                               │
│  • PostgreSQL + TimescaleDB for time series                │
│  • Apache Superset for BI                                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Scenario 5: CRM

┌─────────────────────────────────────────────────────────────┐
│  SCENARIO: CRM / CUSTOMER DATA PLATFORM                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  RECOMMENDATION: BUY (almost always)                       │
│                                                             │
│  Why Buy:                                                   │
│  • Massive feature set takes years to replicate             │
│  • Sales team already knows Salesforce/HubSpot             │
│  • Integration ecosystem (1000s of apps)                    │
│  • Not a technical differentiator                           │
│                                                             │
│  Options by Stage:                                          │
│  ─────────────────────────────────────────────────────────  │
│  Early Stage:         HubSpot Free, Pipedrive              │
│  Growth:              HubSpot, Salesforce Essentials       │
│  Enterprise:          Salesforce, Microsoft Dynamics       │
│  Product-Led:         Segment + custom                     │
│                                                             │
│  Common Mistake:                                            │
│  "We'll build a simple CRM, it's just contacts"            │
│  → 2 years later: You've built 10% of HubSpot poorly      │
│                                                             │
│  Build Custom Only If:                                      │
│  • CRM functionality IS your product                        │
│  • Extremely specific vertical requirements                 │
│  • Need deep integration with real-time product data       │
│                                                             │
│  Hybrid Approach:                                           │
│  • Buy CRM for sales team                                   │
│  • Build customer data layer in your product               │
│  • Sync via integration (Segment, reverse ETL)             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Negotiation and Contract Considerations

Negotiation Leverage Points

┌─────────────────────────────────────────────────────────────┐
│              VENDOR NEGOTIATION PLAYBOOK                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  YOUR LEVERAGE INCREASES WHEN:                              │
│  ─────────────────────────────────────────────────────────  │
│  • End of vendor's quarter/year                             │
│  • You have a credible alternative                          │
│  • You're a known brand (reference customer value)          │
│  • Multi-year commitment possible                           │
│  • You're buying multiple products                          │
│  • You can provide case study/testimonial                   │
│  • You're in a strategic market for them                    │
│                                                             │
│  NEGOTIABLE ITEMS (beyond price):                           │
│  ─────────────────────────────────────────────────────────  │
│  • Implementation support hours                             │
│  • Training sessions                                        │
│  • Premium support tier                                     │
│  • Contract length flexibility                              │
│  • Price lock / cap on increases                            │
│  • Custom SLA terms                                         │
│  • Data export guarantees                                   │
│  • Termination for convenience                              │
│  • Audit rights                                             │
│  • Custom feature development                               │
│                                                             │
│  TYPICAL DISCOUNT RANGES:                                   │
│  ─────────────────────────────────────────────────────────  │
│  Annual vs Monthly:        10-20%                          │
│  Multi-year (2-3):         15-30%                          │
│  Startup/Growth programs:  50-90% (year 1)                 │
│  Enterprise deals:         20-40% off list                 │
│  End of quarter:           Additional 10-20%               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Critical Contract Clauses

┌─────────────────────────────────────────────────────────────┐
│              CONTRACT CLAUSE CHECKLIST                      │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  MUST HAVE                                                  │
│  ─────────────────────────────────────────────────────────  │
│  □ Data ownership clause (you own your data)               │
│  □ Data export rights (format and frequency)               │
│  □ Termination for convenience (with reasonable notice)    │
│  □ SLA with meaningful credits                             │
│  □ Security and compliance commitments                     │
│  □ Breach notification requirements                        │
│  □ Subprocessor notification                               │
│  □ Price increase cap (e.g., max 5% annual)               │
│                                                             │
│  IMPORTANT                                                  │
│  ─────────────────────────────────────────────────────────  │
│  □ Auto-renewal terms (opt-out period)                     │
│  □ Service modification notification                       │
│  □ API deprecation policy                                  │
│  □ Support response time commitments                       │
│  □ Disaster recovery commitments                           │
│  □ Insurance requirements                                  │
│                                                             │
│  NICE TO HAVE                                               │
│  ─────────────────────────────────────────────────────────  │
│  □ Most favored customer clause                            │
│  □ Source code escrow (for critical systems)               │
│  □ Custom development commitments                          │
│  □ Early access to new features                            │
│  □ Dedicated success manager                               │
│                                                             │
│  RED FLAG CLAUSES                                           │
│  ─────────────────────────────────────────────────────────  │
│  ⚠ Vendor can change terms with minimal notice             │
│  ⚠ No data export rights                                   │
│  ⚠ Long auto-renewal with short opt-out window             │
│  ⚠ Unlimited price increases                               │
│  ⚠ Vendor owns derived/aggregate data                      │
│  ⚠ Forced arbitration in vendor's jurisdiction            │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Common Mistakes and Anti-Patterns

The Build Trap

┌─────────────────────────────────────────────────────────────┐
│              BUILD TRAP ANTI-PATTERNS                       │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  "NOT INVENTED HERE" SYNDROME                               │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  "We can build something better"                  │
│  Reality:  You probably can't, and definitely shouldn't    │
│  Signs:    Engineers excited about the tech, not the       │
│            problem; dismissing existing solutions           │
│  Fix:      Require proof of differentiation value          │
│                                                             │
│  "CUSTOMIZATION CREEP"                                      │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  "We just need a few customizations"              │
│  Reality:  Those customizations become the whole project    │
│  Signs:    Requirements grow during evaluation              │
│  Fix:      Lock requirements before decision; MVP mindset   │
│                                                             │
│  "FUTURE-PROOFING FALLACY"                                  │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  "We might need X in 2 years"                     │
│  Reality:  You probably won't, or needs will change        │
│  Signs:    Decisions based on hypothetical requirements     │
│  Fix:      Decide based on known needs + easy migration    │
│                                                             │
│  "SUNK COST CONTINUATION"                                   │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  "We've already built 60%, let's finish"          │
│  Reality:  Sometimes stopping is the right call             │
│  Signs:    Project dragging on, requirements changing       │
│  Fix:      Regular build vs buy re-evaluation checkpoints   │
│                                                             │
│  "RESUME-DRIVEN DEVELOPMENT"                                │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  Engineers want to build for experience           │
│  Reality:  Not aligned with business needs                  │
│  Signs:    Tech choices driven by "interesting" not         │
│            "appropriate"                                    │
│  Fix:      Separate learning projects from production       │
│                                                             │
└─────────────────────────────────────────────────────────────┘

The Buy Trap

┌─────────────────────────────────────────────────────────────┐
│              BUY TRAP ANTI-PATTERNS                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  "DEMO-DRIVEN DECISIONS"                                    │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  Choosing based on impressive demo                │
│  Reality:  Demos show best case, not your case              │
│  Signs:    Decision after one demo; no POC                  │
│  Fix:      Always do technical POC with your data          │
│                                                             │
│  "SHINY OBJECT SYNDROME"                                    │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  Buying the "hot" tool everyone's using           │
│  Reality:  Popularity != fit for your needs                │
│  Signs:    "Everyone uses X"; no requirements analysis      │
│  Fix:      Start with requirements, then evaluate options   │
│                                                             │
│  "FALSE ECONOMY"                                            │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  Choosing cheapest option                         │
│  Reality:  Integration/customization costs exceed savings   │
│  Signs:    Decision driven primarily by price               │
│  Fix:      Full TCO analysis including integration costs    │
│                                                             │
│  "VENDOR LOCK-IN BLINDNESS"                                 │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  Ignoring future migration difficulty             │
│  Reality:  Lock-in costs compound over time                 │
│  Signs:    No exit strategy; deep proprietary integration   │
│  Fix:      Always plan exit; prefer standard integrations   │
│                                                             │
│  "CHECKBOX EVALUATION"                                      │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  "It has feature X, so we're good"                │
│  Reality:  Feature existence != feature quality            │
│  Signs:    Evaluation based on feature lists only           │
│  Fix:      Test actual workflows with real scenarios        │
│                                                             │
│  "DELEGATION OF STRATEGY"                                   │
│  ─────────────────────────────────────────────────────────  │
│  Pattern:  Outsourcing strategic capability entirely        │
│  Reality:  Lose ability to differentiate                    │
│  Signs:    Core value prop depends on vendor capability     │
│  Fix:      Keep strategic capabilities in-house or hybrid   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

The Evaluation Process

Structured Evaluation Timeline

WEEK 1-2: REQUIREMENTS & SHORTLIST
══════════════════════════════════════════════════════════════

Day 1-3:  Requirements gathering
          • Stakeholder interviews
          • Document must-have vs nice-to-have
          • Define success criteria

Day 4-7:  Market scan
          • Identify 8-12 potential solutions
          • Initial screening against must-haves
          • Include "build" as an option

Day 8-10: Shortlist creation
          • Reduce to 3-4 options (including build if viable)
          • Initial vendor outreach
          • Gather pricing ballparks

WEEK 3-4: DEEP EVALUATION
══════════════════════════════════════════════════════════════

Day 11-14: Technical deep-dive
           • API documentation review
           • Architecture assessment
           • Security questionnaire
           • Integration complexity analysis

Day 15-18: Hands-on POC
           • Build prototype integration
           • Test with realistic data
           • Stress test if relevant
           • Identify gaps and workarounds

Day 19-21: Vendor discussions
           • Technical Q&A sessions
           • Roadmap discussions
           • Reference customer calls
           • Support experience test

WEEK 5: ANALYSIS & DECISION
══════════════════════════════════════════════════════════════

Day 22-24: Analysis
           • Complete TCO models
           • Finalize evaluation matrix
           • Document pros/cons/risks
           • Draft recommendation

Day 25-28: Decision
           • Stakeholder review
           • Final vendor negotiations
           • Contract review (legal)
           • Decision and commitment

POST-DECISION
══════════════════════════════════════════════════════════════

Week 6+:  • Contract finalization
          • Integration planning
          • Team communication
          • Implementation kickoff

POC Checklist

┌─────────────────────────────────────────────────────────────┐
│              PROOF OF CONCEPT CHECKLIST                     │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  PREPARATION                                                │
│  □ Define specific POC objectives                          │
│  □ Identify 3-5 key scenarios to test                      │
│  □ Prepare realistic test data                             │
│  □ Set up isolated test environment                        │
│  □ Define success criteria (quantitative)                  │
│  □ Allocate dedicated engineer time                        │
│                                                             │
│  TECHNICAL VALIDATION                                       │
│  □ Test core use case end-to-end                           │
│  □ Test edge cases relevant to your domain                 │
│  □ Test integration with existing systems                  │
│  □ Test error handling and failure modes                   │
│  □ Measure actual performance (latency, throughput)        │
│  □ Test at projected scale (2-3x current)                  │
│                                                             │
│  OPERATIONAL VALIDATION                                     │
│  □ Test monitoring and alerting                            │
│  □ Test support responsiveness                             │
│  □ Review documentation quality                            │
│  □ Test data export capability                             │
│  □ Evaluate admin/config experience                        │
│                                                             │
│  RED FLAGS DURING POC                                       │
│  ⚠ Documentation doesn't match behavior                    │
│  ⚠ Support is slow or unhelpful                            │
│  ⚠ "That feature is coming soon" for key needs            │
│  ⚠ Requires more customization than expected               │
│  ⚠ Performance significantly worse than stated             │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Organizational Considerations

Stakeholder Alignment

Different stakeholders have different priorities:

┌─────────────────────────────────────────────────────────────┐
│              STAKEHOLDER PERSPECTIVE MAP                    │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  STAKEHOLDER     PRIORITIES             CONCERNS            │
│  ───────────────────────────────────────────────────────── │
│                                                             │
│  Engineering     • Technical elegance   • Tech debt        │
│                  • Developer experience • Maintenance      │
│                  • Integration ease     • Lock-in          │
│                                                             │
│  Product         • Feature velocity     • Roadmap delays   │
│                  • User experience      • Feature gaps     │
│                  • Customization        • Dependency       │
│                                                             │
│  Finance         • Total cost           • Budget surprises │
│                  • Predictability       • Hidden costs     │
│                  • ROI                  • Overruns         │
│                                                             │
│  Security        • Compliance           • Data exposure    │
│                  • Control              • Vendor risk      │
│                  • Audit trail          • Certifications   │
│                                                             │
│  Operations      • Reliability          • Incidents        │
│                  • Support quality      • Complexity       │
│                  • Monitoring           • On-call burden   │
│                                                             │
│  Executives      • Strategic alignment  • Execution risk   │
│                  • Competitive edge     • Opportunity cost │
│                  • Time to market       • Reversibility    │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Alignment Strategy:
• Identify top 2 concerns for each stakeholder
• Address concerns directly in recommendation
• Get buy-in from each group before final decision
• Document trade-offs transparently

Communication Template

# Build vs Buy Decision: [Capability Name]

## Executive Summary
**Recommendation:** [BUILD / BUY: Vendor Name / HYBRID]
**Confidence:** [HIGH / MEDIUM / LOW]
**Timeline Impact:** [Positive/Neutral/Negative + explanation]
**Cost Impact:** [X-year TCO comparison summary]

## Context
[2-3 sentences on why this decision is needed now]

## Options Evaluated
| Option | Fit Score | 3-Year TCO | Time to Value | Risk |
|--------|-----------|------------|---------------|------|
| Build  | X/10      | $XXX,XXX   | X months      | [H/M/L] |
| Vendor A | X/10    | $XXX,XXX   | X months      | [H/M/L] |
| Vendor B | X/10    | $XXX,XXX   | X months      | [H/M/L] |

## Recommendation Rationale
[3-5 bullets on why this option]

## Key Risks and Mitigations
| Risk | Impact | Likelihood | Mitigation |
|------|--------|------------|------------|
| ...  | H/M/L  | H/M/L      | ...        |

## Trade-offs Accepted
[What we're giving up with this choice]

## Exit Strategy
[How we could change course if needed]

## Next Steps
1. [Immediate action]
2. [Timeline item]
3. [Who's responsible for what]

When to Revisit Decisions

Decision Review Triggers

┌─────────────────────────────────────────────────────────────┐
│              WHEN TO REVISIT BUILD VS BUY                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  SCHEDULED REVIEWS                                          │
│  ─────────────────────────────────────────────────────────  │
│  • Annual vendor review (align with renewal)               │
│  • Major version upgrades                                  │
│  • Contract renewal periods                                │
│  • Strategic planning cycles                               │
│                                                             │
│  EVENT TRIGGERS                                             │
│  ─────────────────────────────────────────────────────────  │
│  • Significant price increase (>20%)                       │
│  • Major outage affecting your business                    │
│  • Vendor acquisition or leadership change                 │
│  • Security incident at vendor                             │
│  • Feature deprecation affecting you                       │
│  • New competitor emerges in market                        │
│  • Your requirements change significantly                  │
│                                                             │
│  SCALE TRIGGERS                                             │
│  ─────────────────────────────────────────────────────────  │
│  • Usage crosses pricing tier threshold                    │
│  • Team grows past certain size                            │
│  • Revenue/usage 10x from decision time                    │
│  • Geographic expansion requiring new capabilities         │
│                                                             │
│  STRATEGIC TRIGGERS                                         │
│  ─────────────────────────────────────────────────────────  │
│  • Capability becomes core differentiator                  │
│  • Acquisition or major pivot                              │
│  • New compliance requirements                             │
│  • Market dynamics shift significantly                     │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Migration Decision Framework

When current solution becomes problematic:

Step 1: Quantify the Pain
─────────────────────────
• What's the actual cost of current issues?
• How much time is spent on workarounds?
• What opportunities are we missing?
• Is this getting better or worse over time?

Step 2: Evaluate True Migration Cost
────────────────────────────────────
• Data migration complexity
• Integration rebuilding
• User retraining
• Parallel running period
• Risk of migration issues
• Opportunity cost during migration

Step 3: Compare Pain vs Migration Cost
──────────────────────────────────────

 HIGH │   ┌─────────────┬─────────────┐
      │   │   CONSIDER  │   MIGRATE   │
PAIN  │   │   MIGRATE   │   NOW       │
      │   ├─────────────┼─────────────┤
      │   │   STAY &    │   EVALUATE  │
 LOW  │   │   OPTIMIZE  │   CAREFULLY │
      │   └─────────────┴─────────────┘
      │        LOW            HIGH
      └─────────────────────────────────►
              MIGRATION COST

Quadrant Actions:
• High Pain + High Cost: Plan carefully, migrate
• High Pain + Low Cost: Migrate quickly
• Low Pain + High Cost: Stay and optimize
• Low Pain + Low Cost: Evaluate, may migrate opportunistically

Conclusion: The Decision Principles

┌─────────────────────────────────────────────────────────────┐
│              BUILD VS BUY: CORE PRINCIPLES                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. BUILD WHAT DIFFERENTIATES, BUY WHAT DOESN'T           │
│     Your engineering time is precious. Spend it on what    │
│     creates competitive advantage, not on reinventing      │
│     infrastructure.                                        │
│                                                             │
│  2. TOTAL COST > STICKER PRICE                             │
│     Account for maintenance, opportunity cost, and         │
│     hidden expenses. The $10K vendor vs $50K build         │
│     rarely tells the full story.                           │
│                                                             │
│  3. PLAN YOUR EXIT BEFORE YOU ENTER                        │
│     Every buy decision should include an exit strategy.    │
│     If you can't migrate away, you can't negotiate        │
│     effectively.                                           │
│                                                             │
│  4. REQUIREMENTS BEFORE SOLUTIONS                          │
│     Gather requirements first, then evaluate options.      │
│     Don't let vendor demos drive your requirements.        │
│                                                             │
│  5. POC > PROMISES                                         │
│     Never trust feature lists. Always validate with a      │
│     hands-on proof of concept using your actual data.      │
│                                                             │
│  6. DECISIONS ARE TEMPORARY                                │
│     Build vs buy isn't permanent. What you buy today,      │
│     you might build tomorrow (and vice versa). Design      │
│     for change.                                            │
│                                                             │
│  7. ALIGN STAKEHOLDERS EXPLICITLY                          │
│     Different teams have different priorities. Surface     │
│     and address these before, not after, the decision.     │
│                                                             │
│  8. DOCUMENT YOUR REASONING                                │
│     Future you will wonder why this decision was made.     │
│     Write it down with context, alternatives, and          │
│     trade-offs accepted.                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Quick Reference Card

┌─────────────────────────────────────────────────────────────┐
│              BUILD VS BUY QUICK REFERENCE                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  QUICK SCORE (answer yes/no for each)                       │
│                                                             │
│  BUILD POINTS:                   BUY POINTS:               │
│  □ Core differentiator? (+3)     □ Commodity? (+3)         │
│  □ Deep customization? (+2)      □ Need speed? (+2)        │
│  □ Have expertise? (+2)          □ Small team? (+2)        │
│  □ Data sensitivity? (+2)        □ Compliance need? (+2)   │
│  □ Scale limits vendor? (+1)     □ Proven solutions? (+1)  │
│                                                             │
│  Total: ___                      Total: ___                │
│                                                             │
│  Higher score wins (tie → buy, unless strategic)           │
│                                                             │
│  ───────────────────────────────────────────────────────── │
│                                                             │
│  TCO QUICK ESTIMATE                                         │
│                                                             │
│  Build: Initial dev × 3 (for true 3-year cost)             │
│         + $287K/year per dedicated engineer                │
│                                                             │
│  Buy:   Annual subscription × 3                            │
│         + Integration cost × 1.5                           │
│         + 10% annual for administration                    │
│                                                             │
│  ───────────────────────────────────────────────────────── │
│                                                             │
│  RED FLAGS CHECKLIST                                        │
│                                                             │
│  Build: □ "We can do it better"                            │
│         □ No one has built this before                     │
│         □ Team excited about tech, not problem             │
│                                                             │
│  Buy:   □ No POC, just demos                               │
│         □ Choosing cheapest option                         │
│         □ No exit strategy                                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘

The best architects don't have a bias toward building or buying—they have a bias toward solving problems effectively. Sometimes that means writing code. Sometimes it means writing a check. Knowing which is which separates good architects from great ones.

What did you think?

© 2026 Vidhya Sagar Thakur. All rights reserved.