Fostering Ownership through Business Capabilities: Paving the Way to Modern Enterprise Architecture

Chung Nguyen
5 min readAug 17, 2023

--

After exciting chats with our Product team, I’ve uncovered a gem: “Cultivating Ownership with Business Capabilities: Your Ticket to the Future!” Get ready to dive into a world where Business Capabilities reign supreme, guiding us to a snazzy modern enterprise architecture. From Microservices to cloud magic, we’ll unravel how these capabilities shape our story. Buckle up for a journey through epics, user tales, and the galaxy of possibilities they hold! Let’s make ownership fun and build the future together. 🚀🔑🏗️

In the realm of business progress, software systems stand as the vessels that propel us toward our objectives. The essence of software development lies in its power to actualize business goals. Every discourse on topics such as Microservice architecture, digital transformation, or cloud migration finds its roots deep within the core of Business Strategy and Enterprise Architecture.

src image on: Dries Buytaert

This article embarks on a journey to demystify the language of Business Architecture, seamlessly translating it into Application Architecture, Technology Roadmaps, and the concrete realization of actionable “Microservices.” This voyage culminates in a realm encompassing epics, user stories, release trains, tasks, components, virtual networks, and container images.

Deciphering the Essence of Business Capabilities

At its core, Business Capability encapsulates an organization’s proficiency in executing distinct business activities or functions within its Value Stream.

Business Capabilities stand as the foundational building blocks for comprehending the fundamental activities necessary to sustain a business. They provide insight into the tasks an organization must proficiently perform to manifest its Business Model. For instance, tasks like Billing, Market Analysis, Order and Contact Management, Recruiting, Payroll, and Benefits Management collectively underscore the multifaceted operations essential for a thriving business.

Defining the Attributes of a Well-structured “Business Capability”

Several defining attributes characterize a refined capability:
- It articulates WHAT must be achieved, refraining from delving into the HOW. While technology, processes, and implementation methods may evolve, the core function remains constant.
- Serving as the cornerstone of business architecture, capabilities generate outcomes that drive business goals.
- Each capability is unique and self-contained, possessing distinct intent and objectives.
- These capabilities represent stable business operations that remain consistent over time.
- They transcend organizational models, reaching beyond specific organizational units or project/program structures.
- Differentiated from processes, they adhere to the principle that business capability names should be expressed as nouns.

Unveiling Hierarchical Proficiency

Business Capabilities often manifest as a hierarchical structure. A Level 0 capability, such as “Notification Service,” can be further divided into more specific Level-1 or Level-2 capabilities like Event Generation, Channel Management, User Preferences, and Notifications.

Higher-level capabilities provide the framework for lower-level ones, similar to how lower-level capabilities collectively compose higher-level constructs.

Embracing the Concept of “Business Capability as a Service”

src image on: Dries Buytaert

Viewing Business Capability as a service introduces a valuable perspective. It establishes a standardized interface for task requests while incorporating Service Level Agreements (SLAs). Consumers of this “service” initiate requests, and tasks are seamlessly executed “within” the service.

Tasks can be accomplished through manual labor-intensive processes or automated procedures. Specific capabilities can be outsourced, developed in-house, or accessed as services. Sustaining the mindset of “Business Capability as a Service” reinforces this notion. The interface to this “service” might manifest as a web-based application, a REST API, nightly flat-file ingestion, or even a handwritten request launched across the table like a paper plane.

Anatomy of Capability

Business capabilities typically comprise five essential components:
1. Roles
— Roles signify individuals interacting with and executing the service. In the context of a Notification Service, roles could encompass Notifier, Administrator, and User.
— Functionality can often be encapsulated with the template “As a <Role>, I can <do X>,” echoing the format of a user story.
— These users can also be seen as “Personas,” each with distinct expectations, concerns, and motivations.
— Roles form the cornerstone of Role-Based Access Control (RBAC).

2. Processes
— Processes come to life as workflows or procedures, wherein activities are systematically carried out to accomplish tasks, often involving human decisions and automated processes.
— Examples within the realm of a Notification Service might include “Generate Event,” “Manage Notification Channels,” “Set User Preferences,” and “Send Notifications.”
— These workflows constitute the foundation for software-driven automation.

3. Information
— Business capabilities are often intertwined with specific data or information, often considered the authoritative source for that data.
— This data could reside in dedicated repositories or databases. The essence lies in the notion that data is “owned” and “governed” within the realm of a business capability.
— In the context of a Notification Service, examples of pertinent data include Event Details, User Preferences, and Notification Content.

4. Tools
— Capabilities require a diverse toolkit for execution. For a Notification Service, this might involve communication platforms, notification templates, and event management systems.

5. Business Rules
— Each capability adheres to distinct business rules, outlining who can perform specific actions and when.

The Organic “Bounded Context” of Business Capabilities in Domain-Driven Design

src image on: rawpixel.com

Business Capabilities intrinsically serve as bounded contexts. They possess their language, tools, internal rules, and data ownership, harmoniously aligning with Microservice Architecture.

Navigating the Landscape of Capability

Much like enriching a city map with additional layers of information, the foundational roster of Business Capabilities can be elevated through heat maps reflecting various attributes.

Capability Classification

Categorizing capabilities across parameters such as strategic significance, workforce allocation, degree of process automation, inventory status, and level of maturity provides profound insights.

Evaluating Capabilities through Capability Assessment

Measuring capabilities using the Capability Maturity Model allows for gauging their developmental stage, ranging from ad hoc practices to ongoing enhancement efforts.

Bridging the Gap: Envisioning the Future vs Present Reality
Initiating the planning (and implementation) endeavor involves juxtaposing an aspirational future vision against the current state of affairs. This Gap Analysis serves as a stepping stone toward delineating applications, IT infrastructure, and an all-encompassing implementation blueprint. Numerous methodologies, including TOGAF, offer pathways to realize this vision. My personal inclination is to adhere to the essence of the methodology, prioritizing alignment over rigid conformity.

src: https://commons.wikimedia.org/wiki/File:Architecture_Development_Method.png

--

--

No responses yet