Resource Identification - Mid-Depth

Systematic resource planning and gap analysis.

Skills Gap Analysis - What Expertise Is Missing?

Map required skills against your team’s capabilities:

Example:

Required Skills:
- Backend API development (Python/FastAPI) → Have: 2 devs ✓
- Frontend (React) → Have: 1 dev ✓
- Database design (PostgreSQL) → Have: Backend devs can handle ✓
- DevOps (Docker, Kubernetes) → Have: None ✗ GAP
- Security testing (OWASP) → Have: None ✗ GAP
- UI/UX design → Have: None ✗ GAP

Closing the gaps:

  • Hire: Bring on DevOps contractor for 2 months
  • Train: Send backend dev to Kubernetes workshop
  • Buy: Use managed Kubernetes service to reduce DevOps needs
  • Outsource: Contract UI/UX agency for design work
  • Accept risk: Skip advanced security testing for MVP, add later

Document which gaps you’re closing and how. Document which gaps you’re accepting.

Tool Selection Criteria (Build vs Buy, Open Source vs Commercial)

For each major component, decide: build, buy, or use open source?

Decision framework:

Component: User authentication

Build it yourself:
+ Pros: Full control, no recurring costs, exact fit
- Cons: Security risk, takes time, ongoing maintenance

Buy (Auth0, Okta):
+ Pros: Battle-tested, maintained, quick integration
- Cons: $$$, vendor lock-in, less customization

Open source (Keycloak, Ory):
+ Pros: Free, customizable, no lock-in
- Cons: You maintain it, support yourself, learning curve

Decision factors:

  • Is this core to your business? (Build)
  • Is this commodity/common need? (Buy or open source)
  • Do you have expertise? (affects build vs buy)
  • What’s the ongoing maintenance cost?
  • What happens if vendor disappears?

Document your decision and reasoning for later reference.

Infrastructure Needs (Compute, Storage, Networking)

Estimate your infrastructure requirements:

Compute:

  • How many servers/containers?
  • CPU/memory requirements per instance
  • Auto-scaling parameters (scale from 2 to 10 instances under load)
  • Geographic distribution (single region or multi-region?)

Storage:

  • Database size estimate (start with 100GB, grow to 1TB in year 1)
  • File storage (user uploads: 50GB/month growth)
  • Backup storage (retain 30 days of daily backups)
  • CDN for static assets

Networking:

  • Bandwidth estimate (1TB/month outbound)
  • Need for VPN or private networking?
  • Load balancer requirements
  • Geographic latency requirements

Third-Party Service Dependencies (Auth, Payments, Email)

List external services you depend on:

Authentication:

  • Service: Auth0
  • Plan: Professional ($240/month)
  • Risk: If Auth0 is down, users can’t log in
  • Mitigation: Their SLA is 99.9%, acceptable for our needs

Payments:

  • Service: Stripe
  • Cost: 2.9% + $0.30 per transaction
  • Risk: Vendor lock-in (hard to switch payment processors)
  • Mitigation: Abstract behind payment interface, could swap if needed

Email:

  • Service: SendGrid
  • Plan: $19.95/month for 50K emails
  • Risk: Emails might go to spam
  • Mitigation: Proper SPF/DKIM configuration, warm up IP

Monitoring:

  • Service: Datadog
  • Cost: ~$200/month estimated
  • Risk: Could get expensive as we scale
  • Mitigation: Start with cheaper tier, evaluate alternatives if costs spike

For each dependency:

  • What happens if it’s unavailable?
  • What’s the exit strategy if you need to switch?
  • What’s the cost trajectory as you scale?

Training or Onboarding Time Required

Account for ramp-up time:

New team members:

  • Codebase familiarization: 1-2 weeks
  • Domain knowledge: 2-4 weeks for complex domains
  • Full productivity: 4-8 weeks

New technologies:

  • Learning Kubernetes: 2-3 weeks to basic competency
  • Learning new language: 4-6 weeks to productivity
  • Learning new framework: 1-2 weeks if similar to existing knowledge

Budget this time. A 3-month project with 2 weeks onboarding is really 2.5 months of productive work.

Common Pitfall: Underestimating Operational Overhead

Development is only part of the cost. Who handles:

  • Server maintenance and updates
  • Database backups and restores
  • Security patches
  • Monitoring and alerts
  • On-call rotation
  • User support
  • Documentation updates

If you have 2 developers, one might spend 20% time on operations. That’s 0.4 developer less for feature work.

Options:

  • Managed services reduce ops burden (RDS vs raw PostgreSQL)
  • DevOps hire or contractor
  • Rotate ops duties among team
  • Accept slower feature development

Budget for Security Tools

Security isn’t free. Budget for:

SAST/DAST scanners:

  • Static analysis (Snyk, SonarQube): $0-500/month
  • Dynamic scanning (OWASP ZAP free, Burp Suite Pro $400/year)

Secret management:

  • HashiCorp Vault, AWS Secrets Manager: $0-200/month

Dependency scanning:

  • Dependabot (free with GitHub)
  • Snyk (free tier available, paid for advanced features)

Monitoring/logging:

  • Security event logging and retention
  • SIEM if needed (can get expensive fast)

Penetration testing:

  • Annual pen test: $5K-50K depending on scope
  • Bug bounty program: Variable cost

Even small projects should budget $100-500/month for basic security tools.

You've finished reading this mid-depth level content