DevSecOps in Depth · Maturity Models: DSOMM, SAMM & BSIMM

Maturity Models: DSOMM, SAMM & BSIMM

Every DevSecOps program eventually runs into a question no scanner can answer: how mature are we, actually? Two earlier pages in this course already touched pieces of the answer — the secure SDLC introduced SAMM and BSIMM at a conceptual level, and Secure SDLC Gates & the DevSecOps Maturity Model went deep on DSOMM's per-activity scoring mechanics — but neither one put all three side by side and asked the question a real team actually faces: given a real program, a real budget, and a real audience to convince, which of these do you run, and does picking one rule out the other two? This page is that full three-way comparison, plus the case against skipping all three and drafting your own scorecard in a spreadsheet on a Friday afternoon.

☺ Explain it like I'm 10

Imagine three different report cards for the same student. One report card only grades handwriting, but breaks handwriting into a dozen tiny skills — how you hold the pencil, how even your letters are, how straight your lines run — and scores each one 1 through 4. That's DSOMM. Another report card grades every subject at once — math, reading, gym, behavior — on a simple 0-to-3 scale, and tells you exactly what to study next to move up a grade. That's SAMM. The third report card doesn't grade you against a rulebook at all — it interviews a hundred other students' teachers first, then tells you exactly how your handwriting, your math, and your gym class compare to theirs. That's BSIMM. All three beat a report card you wrote for yourself, where you already know, before you even start, that you're getting an A.

🦉🐿️Your hosts for this topic: Professor Owl & Nutty the Squirrel — Owl draws the shape of what each model is actually trying to measure before anyone picks one; Nutty is the one who'll be filing the evidence and re-running the score every quarter, so she cares more than anyone which one survives to year three.

Three models, three different questions

☺ Like you're 10: DSOMM asks "how good is this one specific skill," one skill at a time. SAMM asks "how good is the whole program" and tells you what to study next. BSIMM doesn't grade you against a rulebook at all — it tells you exactly how you compare to everyone else who took the same test.

The three acronyms get used almost interchangeably in casual conversation, which is exactly backwards — they were built to answer three different questions, at three different altitudes, and none of them is trying to replace the other two. Getting the questions straight first is what makes the rest of this page make sense:

Notice the pattern: DSOMM and SAMM both tell you what "good" should look like and let you grade yourself against it. BSIMM refuses to say what "good" should look like at all — it only reports what's actually observed in the wild, and leaves the judgment of whether that's good enough to you. That single design choice is the thread the rest of this page keeps pulling on.

OWASP DSOMM — one pipeline activity at a time

☺ Like you're 10: Instead of one grade for "security," DSOMM gives you a separate grade for SAST, a separate grade for secrets detection, a separate grade for container scanning — so you can be brilliant at one and still learning at another, honestly, instead of hiding behind one blended number.

OWASP's DevSecOps Maturity Model organizes technical pipeline activity into five dimensions — Build and Deployment, Culture and Organization, Implementation, Information Gathering, and Test and Verification — and inside each dimension, individual activities like "SAST," "secrets detection," "container base image scanning," or "dependency scanning" are scored independently, each on its own four-level scale, with every level defined by a specific, checkable criterion rather than a vague adjective. A team is never simply "mature" or "immature" under this model; it has a profile, and two teams that both claim "we do SAST" can sit at wildly different levels once you ask which specific criteria they actually satisfy.

# Simplified illustration of one activity's scoring inside a DSOMM self-assessment.
# The project's exact current activity list and level wording live at the OWASP
# DSOMM site and have been revised across releases — treat this as illustrative,
# and check the live version before citing exact wording anywhere it matters.

dimension: Implementation
activity: Static Application Security Testing (SAST)
level_achieved: 2
levels:
  1: "SAST runs somewhere in the pipeline; results are visible but not enforced"
  2: "SAST runs on every commit; high-severity findings block the merge"
  3: "Findings are triaged against an SLA; the false-positive rate is tracked"
  4: "Ruleset is tuned per-repository; new rules are piloted before enforcement"

The assessment itself is self-service: a team (usually the platform or DevSecOps engineering group, not a separate assessor) works through the activity list, honestly picks the highest level it can defend with evidence, and the tool renders the result as a radar or spider chart — one spoke per dimension, showing at a glance where the profile is deep and where it's shallow. There's no gatekeeper, no fee, and no waiting for an external report; you can re-run it the same afternoon you close a gap. That immediacy is also its limit: DSOMM only ever measures the pipeline's technical mechanics. It has essentially nothing to say about whether Design ran a threat model, whether Operations has an incident runbook, or whether the organization has a security budget at all — those live one altitude up, in SAMM. For the fully worked, gate-by-gate walkthrough of DSOMM applied to a real pipeline, see Secure SDLC Gates & the DevSecOps Maturity Model.

◆ Key idea

DSOMM's granularity is the whole point, not a complication. A team correctly sitting at Level 4 on secrets detection and Level 1 on SAST isn't behind — it's expressing a risk-based choice (a leaked credential is a worse day than a missed medium-severity static finding, say), and a single blended "security score" would erase that distinction entirely.

OWASP SAMM — the whole software-assurance lifecycle, prescriptively

☺ Like you're 10: SAMM doesn't just grade the pipeline — it grades whether anyone threat-modeled the design, wrote security requirements, and has a plan for when something breaks in production. Five report-card subjects, not one.

Where DSOMM stays inside the pipeline, OWASP SAMM (Software Assurance Maturity Model) grades the entire software-assurance lifecycle. Its current structure organizes practice into five business functionsGovernance, Design, Implementation, Verification, and Operations — each broken into three practices, for fifteen practices total, and each practice further split into two streams (labeled A and B) that each get scored independently on a 0-to-3 maturity scale. A "3" in a stream means the practice is not just present but measured, optimized, and continuously improved; a "0" means it hasn't started.

Business functionIts three practices
GovernanceStrategy & Metrics · Policy & Compliance · Education & Guidance
DesignThreat Assessment · Security Requirements · Security Architecture
ImplementationSecure Build · Secure Deployment · Defect Management
VerificationArchitecture Assessment · Requirements-driven Testing · Security Testing
OperationsIncident Management · Environment Management · Operational Management

SAMM's own toolbox — a free, OWASP-published spreadsheet — walks an assessor (usually a security lead or an architect, working with practice owners across the org) through scoring each stream against its documented criteria, then plots current maturity against a target maturity the team sets deliberately, function by function. The gap between the two is the roadmap: "we're a 1 in Threat Assessment; getting to a 2 next year requires X." That's SAMM's real deliverable — not a single number, but a two-to-three-year plan with named next steps per practice, loosely aligned with the software-assurance process areas in ISO/IEC 27034. Notice that Secure Build and Secure Deployment, under Implementation, are exactly the territory DSOMM covers in much finer technical detail — a program often uses DSOMM's granular per-activity evidence to justify the stream score it records in SAMM's Implementation function, rather than treating the two as competing rulers for the same ground.

Notice too that Design and Operations — threat assessment, security architecture, incident management, environment hardening — are functions DSOMM never touches at all, because they live upstream and downstream of the pipeline DSOMM was built to measure. That's the real division of labor between the two models: DSOMM is a magnifying glass over one function's worth of ground; SAMM is the map of the whole territory, at lower resolution. See threat modeling for the Design-function activity SAMM scores and DSOMM doesn't, and security culture & champions for how SAMM's Education & Guidance practice usually gets staffed in practice.

BSIMM — not what should happen, what does

☺ Like you're 10: BSIMM doesn't tell you what a good security program should look like. It watches a hundred-plus real ones, writes down exactly what they actually do, and then tells you how close you are to that — which is a very different, and much harder to argue with, kind of report card.

BSIMM (Building Security In Maturity Model) is the odd one out among the three, and deliberately so. Where DSOMM and SAMM are both prescriptive — they define what a mature activity should look like and let you self-grade against that definition — BSIMM is explicitly descriptive. It was built, and is still updated annually, by observing real software security initiatives across a large cohort of participating organizations (the exact count moves with every release, but it's been well over a hundred firms for years) and recording which specific activities each program actually performs. It makes no claim about what a program should do; it only reports what real programs do do, and lets the comparison speak for itself.

Structurally, BSIMM groups 12 practices into 4 domains:

DomainIts three practices
GovernanceStrategy & Metrics · Compliance & Policy · Training
IntelligenceAttack Models · Security Features & Design · Standards & Requirements
SSDL TouchpointsArchitecture Analysis · Code Review · Security Testing
DeploymentPenetration Testing · Software Environment · Configuration Management & Vulnerability Management

Within each practice, dozens of specific activities are each nominally leveled 1 through 3 by how commonly they're observed across the corpus — a Level 1 activity is close to a baseline most participating firms already do, a Level 3 activity is rare and sophisticated. Your own program's score for a practice is simply which of those activities you can show you actually perform, and that count gets set against the aggregate corpus, and often against a narrower vertical cohort (financial services, healthcare, independent software vendors, and so on), so you learn not just "are we doing well" but "are we doing well for a bank" or "for a SaaS vendor." That last comparison — apples to apples, against firms with a similar risk profile and regulatory load — is the thing neither DSOMM nor SAMM can give you, because both of them compare you only to their own idealized rulebook, never to another real organization.

⚠ Watch out

BSIMM's framework and its annual aggregate report are published, but a formal, individualized assessment of your program — the interviews, the facilitated scoring, the confidential comparison against the peer cohort — has historically been a paid engagement run by the model's steward, not a free self-service download the way DSOMM and SAMM are. That steward has changed corporate hands more than once (the lineage runs from Cigital, through Synopsys's Software Integrity Group, to a later spin-out); verify current ownership and engagement terms on the BSIMM project's own site before you budget for one, rather than trusting any single source's description of who runs it today.

Side by side

☺ Like you're 10: Same three report cards, now on one page — so you can actually see what makes each one different at a glance instead of holding it all in your head.

Laid out against the same set of questions, the differences stop being abstract:

OWASP DSOMMOWASP SAMMBSIMM
StewardOWASP, community-maintainedOWASP, community-maintainedCommercial vendor (lineage: Cigital → Synopsys SIG → later spin-out — verify current owner)
Cost to runFree, self-serviceFree, self-service toolboxFramework is public; individual benchmarked assessment is typically a paid engagement
MethodSelf-assessed against fixed technical criteriaSelf-assessed against fixed practice criteriaExternally observed and interview-based; descriptive, not prescriptive
ScopePipeline / technical activities onlyWhole software-assurance lifecycle: governance to operationsWhole security program, org-wide
Scale4 levels per activity, ~5 dimensions0-3 per stream, 5 functions × 3 practicesActivities implicitly leveled 1-3, 4 domains × 3 practices
Typical outputA radar chart of per-activity levelsA target-vs-actual roadmap, function by functionA percentile comparison against a real peer cohort
Best forEngineering teams hardening one pipeline, fast, on their ownSecurity leads building a multi-year, org-wide planLarger or regulated orgs that need an externally credible benchmark
METHOD: self-assessed → externally observed & benchmarked SCOPE: one pipeline activity → whole software-assurance lifecycle no widely used model nobody benchmarks one pipeline activity against outside firms OWASP DSOMM one pipeline activity at a time self-assessed · free · levels 1-4 OWASP SAMM whole software-assurance lifecycle self-assessed · free · levels 0-3 BSIMM whole security program, benchmarked externally observed · paid engagement

Picking one — or running more than one

☺ Like you're 10: You don't have to choose just one report card. A lot of teams run the fast one every week, the medium one once a year, and the expensive outside one every couple of years — same way you'd get a checkup, a yearly physical, and an occasional second opinion.

The honest decision framework starts with the question you're actually trying to answer, not with the model's reputation:

Mature programs rarely pick exactly one and stop. The common pattern layers all three at different cadences and different owners, with evidence flowing upward: DSOMM's continuous, engineering-owned scores become the hard evidence behind SAMM's Implementation-function ratings, and SAMM's overall self-assessment gets periodically sanity-checked against BSIMM's external, benchmarked view — so leadership isn't relying purely on the organization's own grading of itself when it matters most.

OWASP DSOMM continuous · per-repo · engineering-owned feeds evidence into OWASP SAMM annual roadmap · security-leadership owned externally checked against, every 1-2 years BSIMM outside assessor · benchmarked · board-level narrative
◆ Key idea

Picking a model isn't a one-time decision that locks you in. It's normal, and arguably ideal, to run DSOMM continuously, SAMM annually, and BSIMM periodically — three instruments at three cadences, feeding one another rather than competing for the same slot on a calendar.

The anti-pattern: don't invent your own scorecard

☺ Like you're 10: Writing your own report card and grading yourself with it means you already know you're going to pass. That's not a report card — that's a mirror that only ever nods back at you.

Faced with three named models, project size, and unfamiliar terminology, the tempting shortcut is a homegrown scorecard: a spreadsheet with rows like "SAST: yes/no," "threat modeling: yes/no," maybe a 1-to-5 column someone made up on the spot. Resist it. A scorecard you write yourself fails in ways that are easy to predict and hard to notice from the inside:

None of this means a published model has to be used exactly as-is with no judgment. Adjusting SAMM's target maturity per function to your actual risk profile, or deciding your team only needs DSOMM's Build and Deployment and Implementation dimensions this year, is legitimate customization of a validated skeleton — a different thing entirely from inventing the skeleton itself. See DevSecOps anti-patterns & pitfalls for this failure mode alongside its siblings, and the broader case for choosing an established framework over an improvised one.

Making the score stick

☺ Like you're 10: A radar chart that only ever gets shown once, in one slide, then forgotten, didn't measure anything — it decorated a meeting. The score only means something once someone re-runs it and checks whether the shape actually changed.

A maturity score that gets generated once, screenshotted into a slide deck, and never revisited is indistinguishable from not having run the assessment at all — worse, actually, since it creates the appearance of measurement without the substance. A few operational habits are what separate a model that actually drives change from one that decorates a quarterly business review:

The operating rhythm this all fits into — who owns which recurring review, and how a security program actually runs week to week rather than just what it measures — is the subject of Best Practices & the Operating Model. And if you're studying toward a credential rather than just running a program, these three models show up by name often enough in scenario questions that they're worth knowing cold — see CDE — Certified DevSecOps Expert.

🐿️ Nutty's drill · 20 min

Pick one real pipeline you have access to — a personal project is fine. Score it against DSOMM's Implementation dimension only: for SAST, secrets detection, and dependency scanning, honestly note which of the four illustrative levels from this page's code snippet you can actually defend with evidence (not intention — evidence). Then imagine you had to justify that same score to someone outside your team who's never seen your pipeline. If you can't point to a log, a config file, or a dashboard for a level you claimed, that's not a Level 2 — it's a Level 1 with good intentions. That gap between claimed and defensible is exactly what a real DSOMM assessment is supposed to surface.

🎬 At the Shift-Left Squad
🦫

Benny the Beaver: I already track this myself — SAST: yes. DAST: yes. Secrets scanning: yes. Green across the board!

🐢

Timmy the Turtle: Yes to what level, though? "We run SAST" could mean a nightly scan nobody reads, or a merge-blocking gate tuned over two years. Your spreadsheet can't tell those apart. DSOMM's four levels can.

🐿️

Nutty the Squirrel: And even a perfect DSOMM score only covers the pipeline. It says nothing about whether Design ever ran a threat model, or whether Operations has an incident runbook written down anywhere. That's SAMM's job, not DSOMM's.

🦝

Rocky the Raccoon: Sure — but it's still you grading your own homework either way, DSOMM or SAMM. Who checks that your "Level 4" isn't just wishful thinking?

🦉

Professor Owl: Nobody, honestly — that's the tradeoff for being fast and free. If you need someone else's eyes on it, that's exactly what a BSIMM engagement buys you: an outside assessor, and a comparison against real firms who can't fudge their own numbers either.

🦫

Benny: So... I need all three?

🐿️

Nutty: You need the one that answers the question you're actually asking this quarter. Most programs end up running all three eventually — just not on the same day, and not owned by the same person.

✓ Checkpoint

1. Name DSOMM's five dimensions, and explain why a team can legitimately sit at different levels across different activities. 2. What are SAMM's five business functions, and what's the practical output of a SAMM assessment beyond a single score? 3. What makes BSIMM "descriptive" rather than "prescriptive," and how does that change what its score means compared to a DSOMM or SAMM score? 4. Give two concrete reasons a homegrown scorecard is worse than an established model, even a lightly customized one. 5. Describe one realistic way a program might use all three models together rather than picking just one.

Check your answers
  1. Build and Deployment, Culture and Organization, Implementation, Information Gathering, and Test and Verification. A team can legitimately sit at different levels across activities because DSOMM scores each one independently — an uneven profile reflects a deliberate, risk-based investment choice (treating secrets exposure as worse than a missed static finding, say) rather than a failure to reach uniform maturity everywhere.
  2. Governance, Design, Implementation, Verification, and Operations. Beyond a score, a SAMM assessment produces a target-vs-actual roadmap per practice — a concrete multi-year plan of what specific next steps move a practice from its current maturity level toward a deliberately chosen target.
  3. BSIMM is descriptive because it only records what real organizations actually do, observed across a large cohort, rather than defining what a program should do and grading against that definition. Its score is therefore a comparison against real peers (and often a specific industry vertical), not a measure of compliance with an idealized rulebook the way a DSOMM or SAMM score is.
  4. Any two of: a homegrown scorecard is graded by the same team that's being scored, with no independent criterion to check leniency against; it has no external credibility with an auditor, customer, or board because nobody outside the organization can verify what a given score means; it doesn't survive staff turnover, since the definitions live in one person's head; and it re-solves, usually worse, a problem three established models already spent years iterating on.
  5. A common pattern: engineering runs DSOMM continuously (every sprint or after major pipeline changes) as a fast, granular technical instrument; security leadership runs SAMM annually to produce and update an org-wide roadmap, using DSOMM's evidence to justify Implementation-function scores; and the organization budgets for a BSIMM engagement every one to two years to externally validate the whole picture for a board, auditor, or acquirer, rather than relying solely on its own self-assessment.

Three models, three questions, and no requirement to pick a permanent favorite: run DSOMM where you need fast, granular, engineering-owned feedback; run SAMM where you need an org-wide roadmap with teeth; and budget for BSIMM where you need a comparison nobody can accuse you of having graded yourself. For the pipeline-level mechanics DSOMM measures in detail, see Secure SDLC Gates & the DevSecOps Maturity Model; for the evidence trail that feeds all three, see compliance & governance; and for the people side that no maturity score captures on its own, see security culture & champions.