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