Image without description
  • Jacco Meijer
  • |
  • Mar 16, 2026

  1. Having a capability and being able to exercise it are not the same thing

Formal capability is not real capability. A conditions layer for testing whether a capability holds in the environment it must actually operate in.

Part of the series: Capability is everywhere in the organisation. For architects it is a strategic element. For everyone else it is what they do daily.

Where this builds from

The first post in this series established that capability is doing different work in different contexts. Strategic capabilities are claims about potential: what the organisation is structured to do or could achieve. Operational capabilities are claims about reality: what is demonstrably done. ArchiMate formalises the separation. Capability belongs to the Strategy Layer. The business functions that realise it belong to the Business Layer. They are related by a realisation relationship. They are not interchangeable.

Image without description
  • Jacco Meijer
  • |
  • Mar 9, 2026

  1. Capability is not confused. It is occupied

Most capability work fails before it starts because it does not ask which type of claim it is making. A diagnostic language for enterprise and security architects.

Most failure begins when one is mistaken for the other. That is the nature distinction. What sits above it is the question this post addresses: even when the type of claim is correctly identified, does the capability hold in the environment it must actually operate in?

Conditions

DoDAF defines capability as the ability to achieve a desired effect under specified standards and conditions. The word is already in the authoritative definition. What most capability work fails to do is name the conditions explicitly and test whether the capability holds under them.

A condition is anything in the operating environment that determines whether a capability performs as claimed. The question is always the same: does this capability hold under the circumstances in which it must actually operate?

The four that follow are not exhaustive. They are the conditions most consistently relevant to enterprise and security architects and the ones most consistently left unnamed. Others qualify: regulatory requirements, cultural context, organisational change and transformation are all legitimate candidates. So are conditions specific to a given domain or operating environment.

Naming a condition is an act of judgement. It requires understanding the operating environment well enough to know which pressures are material and which can be set aside. The model does not make that judgement. The architect does.

Maturity

A capability assessed at CMMI level 2 operates under different conditions than one at level 4. Processes are less defined, repeatability is lower and confidence is correspondingly weaker. Maturity is a condition. It shapes what a capability can claim and what evidence can be trusted.

A high maturity score is evidence of discipline. It is not evidence of effectiveness. The question maturity cannot answer on its own is whether the capability works for the people it is meant to serve.

Adoption

Adoption is that question. The condition is not whether the capability exists formally. It is whether the people it is meant to serve can actually use it.

Consider three common examples. A security awareness programme that treats people as the problem rather than the asset. An incident reporting process that creates fear rather than safety. A zero trust architecture that assumes a level of digital literacy most users do not have. In each case the capability exists formally, mapped, documented and assessed, but fails in practice because adoption was never treated as a condition.

This is what Sen means by real freedom. Resources, activities and outcomes are not the same as the freedom to exercise them. Most enterprise capability maps describe representations, not capabilities. They describe what the organisation believes is true, not what people can actually do.

A capability that is not adopted is not partially successful. It does not exist.

Stress

Adoption tests whether a capability works under normal conditions. Stress tests whether it holds under adversarial ones. A capability that performs reliably in a defined operating environment may behave very differently under pressure. Individual controls are assessed. The system is not.

A threat actor does not present as a single control failure. It presents as a sequence of interactions: a phishing email exploiting a gap between email security and endpoint detection, compounded by an exception in patch management and an incident response plan that assumes communication channels still work. The capability that failed was not visible from any single control's perspective. It became visible only at the level of the whole system, under the conditions of the actual attack.

If a capability has not been observed under stress, its reliability is assumed, not known.

Complexity

Stress is adversarial pressure from outside. Complexity is pressure from within. When systems are designed to self-organise, learn and produce outcomes beyond what their components were specified to deliver, emergence shifts from something to manage to something to design for. Cynefin gives architects a useful distinction: complicated systems follow best practice while complex systems require discovering emergent practice.

The failure mode is drift: value is created without ownership and without intent. Drift is only governable if it is observable. The mechanism that closes this loop is operational evidence continuously revising what the organisation believes it can achieve. That mechanism is the feedback loop.

What qualifies

Maturity, adoption, stress and complexity illustrate the pattern. The conditions layer sits above the perspective table not because these four are complete but because the question they represent is always present: does this capability hold in the environment it must operate in?

Without that question, capability models answer with increasing precision what is increasingly the wrong thing. Adding the conditions layer shifts the frame from what a capability can do to whether it will hold.

The conditions layer in practice

Two things follow from naming conditions explicitly.

The first is that capability assessments become testable rather than merely descriptive. A capability assessed without named conditions produces a score. A capability assessed against named conditions produces evidence. The difference is not procedural. It is the difference between knowing what the organisation claims and knowing whether that claim holds.

The second is that the assessment boundary becomes visible. When conditions are named, it is clear what the assessment covers and what it does not. A maturity assessment conducted without a stress condition does not tell you whether the capability holds under adversarial pressure. It tells you whether the process is disciplined. Those are not the same finding and treating them as if they are is where the most consequential capability failures begin.

Conditions do not complete the model. They extend it. The third post in this series introduces the feedback loop and the diagnostic instrument that brings the nature distinction, the conditions layer and the failure modes together into something an architect can use in a capability review.

Where this goes

The conditions layer names what a capability must hold under. What remains is the question of what happens when it does not: the failure modes that follow from specific mismatches between perspective, nature and condition:

Image without description
  • Jacco Meijer
  • |
  • Mar 23, 2026

  1. What we do is not the same as how we do it

Six failure modes that follow when that distinction collapses. A diagnostic instrument for architects who need to know not just what went wrong but which mismatch drove it.


References

  • DoD Architecture Framework (DoDAF): U.S. Department of Defense. DoD Architecture Framework, Version 2.02.
  • CMMI: CMMI Institute. Capability Maturity Model Integration (CMMI).
  • Sen, A. (1999). Development as Freedom. Oxford University Press.
  • Cynefin Framework: Snowden, D.J. and Boone, M.E. (2007). A Leader's Framework for Decision Making. Harvard Business Review, 85(11), pp.68-76.
  • COBIT 2019: ISACA. COBIT 2019 Framework.
  • ITIL: AXELOS. ITIL 4 Foundation.
  • INCOSE Systems Engineering Handbook: INCOSE. Systems Engineering Handbook, 5th ed. (2023). Wiley.

Other posts

Image without description
  • Jacco Meijer
  • |
  • Mar 23, 2026

  1. What we do is not the same as how we do it

Six failure modes that follow when that distinction collapses. A diagnostic instrument for architects who need to know not just what went wrong but which mismatch drove it.

Image without description
  • Jacco Meijer
  • |
  • Mar 9, 2026

  1. Capability is not confused. It is occupied

Most capability work fails before it starts because it does not ask which type of claim it is making. A diagnostic language for enterprise and security architects.

Image without description
  • Jacco Meijer
  • |
  • Feb 2, 2026

Four architects and the limits of personality

Why legal, empirical and behavioural limits keep personality tools and role frameworks apart

Image without description
  • Jacco Meijer
  • |
  • Jan 5, 2026

Four architects and why we need all of them

What sounds like a casual observation is actually a structural truth: architecture isn’t about personalities, but about competing stances your organisation cannot afford to miss.

Image without description
  • Jacco Meijer
  • |
  • Oct 22, 2025

What cyber security mistakes do organizations still make?

A brief check on how the AI response for this question compares to real life experience.

Image without description
  • Jacco Meijer
  • |
  • Oct 19, 2025

Risk analysis for software development

By systematically identifying and assessing potential risks, teams can reduce uncertainty and prevent costly issues.

Image without description
  • Jacco Meijer
  • |
  • Oct 18, 2025

Security controls for software development

Exploring how security controls protect and improve every stage of the DevSecOps workflow.

Image without description
  • Jacco Meijer
  • |
  • Oct 17, 2025

Software development security

On risk assessments, security controls and the complexity of securing the Software Development Lifecycle (SDLC)

Image without description
  • Jacco Meijer
  • |
  • Oct 14, 2025

Canonical controls with Enterprise Risk and Security Management

How to use the SCF canonical control objectives with ERSM in Archimate

Image without description
  • Jacco Meijer
  • |
  • Oct 7, 2025

ISO 27000, ISA 62443, NIS2, BIO, NIST CSF and NIST SP 800-53

How to align the steadily increasing number of cyber security frameworks, standards and regulations?

Image without description
  • Jacco Meijer
  • |
  • Aug 15, 2025

Asset security

Information asset identification and classification from a security perspective

Image without description
  • Jacco Meijer
  • |
  • Aug 8, 2025

Data security

Data identification, data roles and data classification from a security perspective

Image without description
  • Jacco Meijer
  • |
  • Jul 25, 2025

Threat modeling, security frameworks and Enterprise Architecture

Combining ISO 27001, NIST CSF and threat modeling with Enterprise Architecture strengthens all elements

Image without description
  • Jacco Meijer
  • |
  • Jul 18, 2025

Threat modeling as part of a risk framework

Threat modeling in the context of ISO 27001 and NIST CSF

Image without description
  • Jacco Meijer
  • |
  • Jul 11, 2025

Cyber security risk frameworks

Managing cyber security risk with ISO 27001 and NIST CSF

Image without description
  • Jacco Meijer
  • |
  • Jun 27, 2025

NIST CSF Tiers for cyber security risk governance and management

NIST CSF 2.0 contains useful tiers for Capability Maturity Modeling in Enterprise Architecture

Image without description
  • Jacco Meijer
  • |
  • Jun 20, 2025

Archimate risk assessment elements

A few simple specializations for working with risk assessments in Archimate

Image without description
  • Jacco Meijer
  • |
  • Jun 13, 2025

Security principles in Enterprise Architecture

Adding security principles to Enterprise Architecture for NIST CSF and ISO 27001

Image without description
  • Jacco Meijer
  • |
  • Jun 6, 2025

Combining ISO 27001 and NIST CSF

How to use ISO 27001 and NIST Cyber Security Framework together

Image without description
  • Jacco Meijer
  • |
  • May 1, 2025

CISSP certification and Enterprise Architecture

How do the CISSP certification domains relate to Enterprise Architecture and the ArchiMate layers?

Image without description
  • Jacco Meijer
  • |
  • Apr 23, 2025

Architect roles in the ArchiMate context

An ArchiMate model that maps architect roles to the ArchiMate framework layers.

Image without description
  • Jacco Meijer
  • |
  • Mar 18, 2025

Visualizing IT Architecture in three languages, UML, C4 and ArchiMate

What are the differences and what are these languages most used for?

Image without description
  • Jacco Meijer
  • |
  • Feb 18, 2025

OAuth 2.0 and OpenID Connect Sequence Diagrams

Technical specs can be hard to read. While still highly technical, the UML Sequence Diagrams provided in this blog are a lot easier to understand.

Image without description
  • Jacco Meijer
  • |
  • Jan 9, 2025

OWASP and CISSP

OWASP recommendations from the independent information security certification CISSP.

Image without description
  • Jacco Meijer
  • |
  • Mar 21, 2024

UI Library with MDX documentation

Using the simple Render JSX plugin for Esbuild this post shows how to setup a simple UI library.

Image without description
  • Jacco Meijer
  • |
  • Mar 20, 2024

Render JSX plugin for Esbuild

Transform Esbuild generated JSX bundles to HTML pages.

Image without description
  • Jacco Meijer
  • |
  • Mar 19, 2024

Esbuild as a static site generator for MDX

Static site generators gain popularity. This blog is about using Esbuild as a static site generator for MDX.

Image without description
  • Jacco Meijer
  • |
  • Mar 18, 2024

11ty and Github pages

Simplifying the Contentful-Gatsby-Netlfy trio.

Image without description
  • Jacco Meijer
  • |
  • Jun 30, 2022

NPM7 and @npmcli/arborist

@npmcli/arborist is a powerful library that handles the new NPM 7 workspaces. This blog is about a simple make tool that uses the library.

Image without description
  • Jacco Meijer
  • |
  • May 12, 2022

Comparing React app, Nextjs and Gatsby

A new React project starts with a React toolchain. Main tools in the chains are SSR, React server components and GraphQL.

Image without description
  • Jacco Meijer
  • |
  • May 10, 2022

Versioning strategy for NPM modules

It is important to be able to bump the version of a NPM package without side effects.

Image without description
  • Jacco Meijer
  • |
  • Apr 12, 2022

React component themes and CSS variables

Creating React components with flexible themes by using CSS variables.

Image without description
  • Jacco Meijer
  • |
  • Mar 21, 2022

Content modeling with variants

The efficiency of a variant field in a content model.

Image without description
  • Jacco Meijer
  • |
  • Mar 12, 2022

Documentation

Documenting a software project is challenging. Here's a few simple guidelines that help a team writing clear documentation.

Image without description
  • Jacco Meijer
  • |
  • Mar 11, 2022

Javascript history

In 1986 David Ungar and Randall B. Smith developed Self at Xerox PARC. Inspired by Java, Scheme and Self Brendan Eich created Javascript in 1995.

Image without description
  • Jacco Meijer
  • |
  • Mar 10, 2022

On Javascript transpilers, bundlers and modules

There's Javascript transpilers, modules, bundles and bundlers. This is a brief overview of all of these.

Image without description
  • Jacco Meijer
  • |
  • Feb 11, 2022

Agile Scrum

The Agile Scrum framework is flexible enough to be used in many different ways. Here's one way of working.

Image without description
  • Jacco Meijer
  • |
  • Jan 20, 2022

What happened to Wheelroom?

Founded in 2018. Started to fly in 2020 and abandoned in 2021. What happened?

Image without description
  • Jacco Meijer
  • |
  • Jan 19, 2022

Contentful, Netlify and Gatsby four years later

What did we learn from using Contentful for four years?

Image without description
  • Jacco Meijer
  • |
  • Jan 18, 2022

Typescript interface for React UI components

How to define an interface for React UI components that prevents breaking changes.

Image without description
  • Jacco Meijer
  • |
  • Jan 17, 2022

Naming React components

What's in a name? A clear naming strategy helps developers communicate. Most devs rather spend time writing component code than wasting time on a good component name.