{"version":"0.2.0","built_at":"2026-10-10T20:58:14.188Z","license":"CC BY 4.0 © Mike Reams","canonical":"https://catalog.mikereams.com","capability":{"id":"BC-720","name":"Application Delivery","level":1,"parent_id":null,"l1_id":"BC-720","industry":"cross-industry","macro_id":"MC-70","path":["Application Delivery"],"description":"Design, build, test, integrate, release and keep running the applications the business depends on, whether written in-house, configured from a package or assembled from both.","aliases":["Software Delivery","Application Development","Application Engineering","Build and Maintain"],"in_scope":["Solution design for a specific initiative inside the agreed architecture","Software engineering, package configuration and the quality practices around them","Integration and interface delivery between applications","Releasing changes to production and maintaining applications through their life"],"out_of_scope":["Enterprise-level architecture standards and design review (see BC-170)","Operating the servers, networks and platforms applications run on (see BC-730)","Incident, problem and change processes that govern production (see BC-740)"],"csdm_note":"Every delivered system is a Business Application record owned here, with one or more Application Service records per deployed environment; the delivery team is the natural owner of both and of their dependency links.","status":"active","successor_id":null,"child_ids":["BC-720.10","BC-720.20","BC-720.30","BC-720.40","BC-720.50","BC-720.60"]},"crosswalk":{"realized_by":[{"product_id":"PR-120","product":"Salesforce","pc_id":"PC-120.90","pc":"Platform","maturity":"strong","via":"BC-720.20.10"},{"product_id":"PR-140","product":"Microsoft 365","pc_id":"PC-140.80","pc":"Power Platform","maturity":"strong","via":"BC-720.20.10"},{"product_id":"PR-160","product":"Jira","pc_id":"PC-160.10","pc":"Jira Software","maturity":"core","via":"BC-720.20.10"},{"product_id":"PR-160","product":"Jira","pc_id":"PC-160.70","pc":"Atlassian Marketplace and Integrations","maturity":"strong","via":"BC-720.40"},{"product_id":"PR-170","product":"GitHub","pc_id":"PC-170.10","pc":"Repositories","maturity":"core","via":"BC-720.20.30"},{"product_id":"PR-170","product":"GitHub","pc_id":"PC-170.20","pc":"Pull Requests and Code Review","maturity":"core","via":"BC-720.20.20"},{"product_id":"PR-170","product":"GitHub","pc_id":"PC-170.30","pc":"GitHub Actions","maturity":"core","via":"BC-720.50.30"},{"product_id":"PR-170","product":"GitHub","pc_id":"PC-170.60","pc":"Issues and Projects","maturity":"partial","via":"BC-720.20.10"},{"product_id":"PR-170","product":"GitHub","pc_id":"PC-170.70","pc":"GitHub Copilot","maturity":"strong","via":"BC-720.20.10"}],"used_in":[{"vs_id":"VS-10","vs":"Incident-to-Resolution","stage_id":"VS-10.30","stage":"Diagnose & Restore","order":3,"via":"BC-720.60"},{"vs_id":"VS-100","vs":"Commit-to-Production","stage_id":"VS-100.10","stage":"Commit & Build","order":1,"via":"BC-720.20"},{"vs_id":"VS-100","vs":"Commit-to-Production","stage_id":"VS-100.20","stage":"Test & Secure","order":2,"via":"BC-720.30"},{"vs_id":"VS-80","vs":"Demand-to-Change","stage_id":"VS-80.30","stage":"Design & Review","order":3,"via":"BC-720.10"},{"vs_id":"VS-80","vs":"Demand-to-Change","stage_id":"VS-80.40","stage":"Build & Test","order":4,"via":"BC-720.20"},{"vs_id":"VS-80","vs":"Demand-to-Change","stage_id":"VS-80.60","stage":"Deploy","order":6,"via":"BC-720.50"},{"vs_id":"VS-80","vs":"Demand-to-Change","stage_id":"VS-80.70","stage":"Verify & Close","order":7,"via":"BC-720.60"}],"patterns":[{"id":"DP-010","name":"Circuit Breaker","category":"Resilience","via":"BC-720.40"},{"id":"DP-020","name":"Retry with Backoff","category":"Resilience","via":"BC-720.40"},{"id":"DP-030","name":"Bulkhead","category":"Resilience","via":"BC-720.10.30"},{"id":"DP-050","name":"Throttling","category":"Resilience","via":"BC-720.10.30"},{"id":"DP-060","name":"Queue-Based Load Leveling","category":"Scalability","via":"BC-720.40.20"},{"id":"DP-070","name":"Cache-Aside","category":"Scalability","via":"BC-720.10.30"},{"id":"DP-100","name":"Competing Consumers","category":"Scalability","via":"BC-720.40.20"},{"id":"DP-110","name":"API Gateway","category":"Integration","via":"BC-720.40.10"},{"id":"DP-120","name":"Backend for Frontend","category":"Integration","via":"BC-720.40.10"},{"id":"DP-130","name":"Publish-Subscribe","category":"Integration","via":"BC-720.40.20"},{"id":"DP-140","name":"Request-Reply","category":"Integration","via":"BC-720.40.20"},{"id":"DP-150","name":"Scatter-Gather","category":"Integration","via":"BC-720.40.20"},{"id":"DP-160","name":"Content-Based Router","category":"Integration","via":"BC-720.40.30"},{"id":"DP-170","name":"Claim Check","category":"Integration","via":"BC-720.40.20"},{"id":"DP-180","name":"Idempotent Consumer","category":"Integration","via":"BC-720.40.20"},{"id":"DP-190","name":"Strangler Fig","category":"Integration","via":"BC-720.60.40"},{"id":"DP-200","name":"Anti-Corruption Layer","category":"Domain Modeling","via":"BC-720.10.20"},{"id":"DP-210","name":"Bounded Context","category":"Domain Modeling","via":"BC-720.10.10"},{"id":"DP-220","name":"Aggregate","category":"Domain Modeling","via":"BC-720.10.20"},{"id":"DP-230","name":"Domain Events","category":"Domain Modeling","via":"BC-720.10.20"},{"id":"DP-240","name":"Modular Monolith","category":"Domain Modeling","via":"BC-720.10.10"},{"id":"DP-250","name":"Hexagonal Architecture","category":"Domain Modeling","via":"BC-720.20.20"},{"id":"DP-260","name":"Event Sourcing","category":"Data","via":"BC-720.10.20"},{"id":"DP-270","name":"CQRS","category":"Data","via":"BC-720.10.20"},{"id":"DP-280","name":"Saga","category":"Data","via":"BC-720.10.20"},{"id":"DP-290","name":"Transactional Outbox","category":"Data","via":"BC-720.40.20"},{"id":"DP-370","name":"Blue-Green Deployment","category":"Deployment","via":"BC-720.50.30"},{"id":"DP-440","name":"Twelve-Factor App","category":"Cloud","via":"BC-720.20.20"},{"id":"DP-490","name":"Inner Source","category":"Organization","via":"BC-720.20.20"},{"id":"DP-500","name":"Architecture Decision Records","category":"Organization","via":"BC-720.10.40"},{"id":"DP-510","name":"Fitness Functions","category":"Organization","via":"BC-720.20.20"}],"stacks":[{"id":"TS-010","name":"Server-rendered React on serverless","layer":"Web application","via":"BC-720.20"},{"id":"TS-020","name":"Event-driven microservices on Kubernetes","layer":"Event streaming","via":"BC-720.40.20"},{"id":"TS-050","name":"Cross-platform mobile","layer":"Mobile","via":"BC-720.20.10"},{"id":"TS-060","name":"Enterprise integration layer","layer":"API & integration","via":"BC-720.40"},{"id":"TS-090","name":"Serverless API on AWS","layer":"API & integration","via":"BC-720.40.10"},{"id":"TS-100","name":"Convention-driven monolith","layer":"Web application","via":"BC-720.20.10"},{"id":"TS-110","name":"Static site at the edge","layer":"Web application","via":"BC-720.20.10"}],"books":[{"id":"BK-fundamentals-of-software-architecture","title":"Fundamentals of Software Architecture","topic":"Architecture fundamentals","via":"BC-720.10"},{"id":"BK-software-architecture-the-hard-parts","title":"Software Architecture: The Hard Parts","topic":"Architecture fundamentals","via":"BC-720.10"},{"id":"BK-clean-architecture","title":"Clean Architecture","topic":"Architecture fundamentals","via":"BC-720.10"},{"id":"BK-a-philosophy-of-software-design","title":"A Philosophy of Software Design","topic":"Architecture fundamentals","via":"BC-720.10"},{"id":"BK-patterns-of-enterprise-application-architecture","title":"Patterns of Enterprise Application Architecture","topic":"Architecture fundamentals","via":"BC-720.10"},{"id":"BK-building-evolutionary-architectures","title":"Building Evolutionary Architectures","topic":"Architecture fundamentals","via":"BC-720.30"},{"id":"BK-software-architecture-in-practice","title":"Software Architecture in Practice","topic":"Architecture fundamentals","via":"BC-720.10"},{"id":"BK-software-engineering-at-google","title":"Software Engineering at Google","topic":"Architecture fundamentals","via":"BC-720.20"},{"id":"BK-the-pragmatic-programmer","title":"The Pragmatic Programmer","topic":"Architecture fundamentals","via":"BC-720.20"},{"id":"BK-domain-driven-design","title":"Domain-Driven Design","topic":"Domain modeling","via":"BC-720.10"},{"id":"BK-implementing-domain-driven-design","title":"Implementing Domain-Driven Design","topic":"Domain modeling","via":"BC-720.10"},{"id":"BK-learning-domain-driven-design","title":"Learning Domain-Driven Design","topic":"Domain modeling","via":"BC-720.10"},{"id":"BK-domain-modeling-made-functional","title":"Domain Modeling Made Functional","topic":"Domain modeling","via":"BC-720.10"},{"id":"BK-building-microservices","title":"Building Microservices","topic":"Distributed systems","via":"BC-720.10"},{"id":"BK-monolith-to-microservices","title":"Monolith to Microservices","topic":"Distributed systems","via":"BC-720.10"},{"id":"BK-microservices-patterns","title":"Microservices Patterns","topic":"Distributed systems","via":"BC-720.10"},{"id":"BK-enterprise-integration-patterns","title":"Enterprise Integration Patterns","topic":"Distributed systems","via":"BC-720.40"},{"id":"BK-designing-distributed-systems","title":"Designing Distributed Systems","topic":"Distributed systems","via":"BC-720.10"},{"id":"BK-cloud-native-patterns","title":"Cloud Native Patterns","topic":"Cloud & infrastructure","via":"BC-720.10"},{"id":"BK-accelerate","title":"Accelerate","topic":"Delivery & DevOps","via":"BC-720.50"},{"id":"BK-continuous-delivery","title":"Continuous Delivery","topic":"Delivery & DevOps","via":"BC-720.50"},{"id":"BK-the-devops-handbook","title":"The DevOps Handbook","topic":"Delivery & DevOps","via":"BC-720.50"},{"id":"BK-docs-for-developers","title":"Docs for Developers","topic":"Delivery & DevOps","via":"BC-720.60"},{"id":"BK-threat-modeling","title":"Threat Modeling","topic":"Security","via":"BC-720.10"},{"id":"BK-just-enough-software-architecture","title":"Just Enough Software Architecture","topic":"Enterprise architecture","via":"BC-720.10"}]},"ancestors":[],"children":[{"id":"BC-720.10","name":"Solution Design","level":2,"child_count":4},{"id":"BC-720.20","name":"Software Engineering","level":2,"child_count":4},{"id":"BC-720.30","name":"Quality Engineering & Testing","level":2,"child_count":4},{"id":"BC-720.40","name":"Integration & API Delivery","level":2,"child_count":4},{"id":"BC-720.50","name":"Release & Deployment","level":2,"child_count":4},{"id":"BC-720.60","name":"Application Maintenance","level":2,"child_count":4}]}