Skip to content

Solution Architecture strategy

Intro

The task is to find a way to document the architecture runway, - spikes - enablers.

Important:

  • dependencies must be visible, so that an "architecture runway" can be communicated to the teams

Goal: - vizualize, what is missing, to get a spike/speedboat to production - vizualize the state of crucial "horizontal" functions that optimize the "vertical" work of feature development"

"architecture runway"

TODO

graph LR
    Observability --> step_1_1
    step_1_1 --> step_1_2
    step_1_2 --> step_1_3
    step_1_3 --> step_1_4

    Southbound_integrations --> step_2_1
    step_2_1 --> step_2_2
    step_2_2 --> step_2_3
    step_2_3 --> step_2_4
    step_2_4 --> step_2_5

    Dom_Integration --> step_3_1
    step_3_1 --> step_3_2
    step_3_2 --> step_3_3
    step_3_3 --> step_3_4
    step_3_4 --> step_3_5

    Identity --> step_4_1
    step_4_1 --> step_4_2
    step_4_2 --> step_4_3

    MobileCredentialsApp --> step_5_1
    step_5_1 --> step_5_2
    step_5_2 --> step_5_3
    step_5_3 --> step_5_4
    step_5_4 --> step_5_5

    TimeAndAttendanceApp --> step_6_1
    step_6_1 --> step_6_2
    step_6_2 --> step_6_3
    step_6_3 --> step_6_4

    New_GUI_Crown --> step_7_1
    step_7_1 --> step_7_2
    step_7_2 --> step_7_3

    click step_1_1 "https://www.google.com" _blank
    click step_1_2 "https://www.google.com" _blank
    click step_1_3 "https://www.google.com" _blank
    click step_1_4 "https://www.google.com" _blank
    click step_2_1 "https://www.google.com" _blank
    click step_2_2 "https://www.google.com" _blank
    click step_2_3 "https://www.google.com" _blank
    click step_2_4 "https://www.google.com" _blank
    click step_2_5 "https://www.google.com" _blank
    click step_3_1 "https://www.google.com" _blank
    click step_3_2 "https://www.google.com" _blank
    click step_3_3 "https://www.google.com" _blank
    click step_3_4 "https://www.google.com" _blank
    click step_3_5 "https://www.google.com" _blank
    click step_4_1 "https://www.google.com" _blank
    click step_4_2 "https://www.google.com" _blank
    click step_4_3 "https://www.google.com" _blank
    click step_5_1 "https://www.google.com" _blank
    click step_5_2 "https://www.google.com" _blank
    click step_5_3 "https://www.google.com" _blank
    click step_5_4 "https://www.google.com" _blank
    click step_5_5 "https://www.google.com" _blank
    click step_6_1 "https://www.google.com" _blank
    click step_6_2 "https://www.google.com" _blank
    click step_6_3 "https://www.google.com" _blank
    click step_6_4 "https://www.google.com" _blank
    click step_7_1 "https://www.google.com" _blank
    click step_7_2 "https://www.google.com" _blank
    click step_7_3 "https://www.google.com" _blank

"horizontal" functions

These all represent crucial "horizontal" functions that optimize the "vertical" work of feature development, ultimately contributing to a more efficient, reliable, and secure software delivery pipeline.

  • DevOps
  • Platform Engineering
  • Site Reliability Engineering (SRE)
  • Enabling Teams
  • Developer Experience (DevEx)
  • Quality Assurance (QA) / Quality Engineering (QE)
  • Security Engineering
  • Technical Debt Management / Refactoring
  • Internal Tooling / Productivity Engineering
  • Infrastructure as Code (IaC) / Cloud Engineering
Products CI/CD Monitoring Automation Reliability Scalability Availability Containerization Infra Management Incident Response Capacity Planning Service Orchestration Infrastructure As Code (IaC) Service Level Objectives (SLOs) Continuous Improvements Performance Optimization Application Lifecycle Management Code maintainability Continuous integration Database Change Management Deployment Automation Empowering teams to choose tools Loosely Coupled Architecture Monitoring and Observability Test Automation Test Data Management Trunk-based development Version control
Product Name Absent →
Manual builds →
Partial pipelines →
Mature pipelines
Ad-hoc logs →
Basic monitoring →
Metrics + dashboards →
Full observability
None →
Manual scripts →
Partial automation →
Full automation
Unknown →
Reactive fixes →
Basic SLAs →
High reliability engineering
Fixed capacity →
Vertical scaling →
Some horizontal scaling →
Auto-scaling
Single instance →
Active-passive →
Active-active →
HA multi-region
Bare metal →
VMs →
Partial container adoption →
Full containerization
Manual provisioning →
Scripts →
Partial config mgmt →
Infra as Code
Ad-hoc →
Pager-based →
Runbooks →
Automated incident mgmt
Gut-feel →
Historical analysis →
Predictive →
Automated scaling
Monolith →
Partial SOA →
Microservices →
Service mesh
None →
Scripts →
Partial IaC →
Full declarative IaC
None →
Informal →
Basic SLIs/SLOs →
Full SLO adoption
Rare →
Periodic retros →
Structured Kaizen →
Continuous learning culture
Ad-hoc tuning →
Profiling →
Proactive optimization →
Self-healing optimization
Waterfall →
Semi-agile →
Agile w/ gaps →
Full ALM integration
Spaghetti code →
Some refactoring →
Coding standards →
Highly maintainable
Absent →
Nightly builds →
Pull request CI →
Full CI pipelines
Manual scripts →
Change windows →
DB versioning tools →
Full DB DevOps
Manual →
Shell scripts →
Partial deployment pipelines →
Full deployment automation
Central IT controlled →
Some autonomy →
Guardrails →
Full self-service with governance
Monolith →
Modular monolith →
Microservices →
Event-driven architecture
Logs only →
Logs + metrics →
Distributed tracing →
Full observability stack
Manual →
Unit tests →
Integration tests →
Full automated test pyramid
Production copies →
Masked data →
Synthetic data →
Self-service test data
Feature branches →
Long-lived branches →
Short-lived branches →
Full trunk-based
No VCS →
Centralized VCS →
Distributed VCS →
GitOps workflows
Product PWA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Product PWT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Product PWT 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0