SA-15(6): Continuous Improvement
SA-15(6) requires you to make your system developer run an explicit, repeatable process that continuously improves the development process, and you must be able to prove it with records. Operationalize it by adding improvement obligations to contracts, establishing a feedback loop from defects and security findings into process changes, and retaining evidence that changes were implemented and measured. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Key takeaways:
- You must require the developer to have a defined continuous improvement process, not informal “we’ll get better” intent. (NIST SP 800-53 Rev. 5 OSCAL JSON)
- The control passes or fails on evidence: inputs (metrics/findings), decisions (reviews), outputs (process changes), and follow-through (verification). (NIST SP 800-53 Rev. 5 OSCAL JSON)
- Contract language, governance cadence, and artifact discipline are the fastest path to audit-ready implementation.
The sa-15(6): continuous improvement requirement is a development-process control, not a technical security control. It asks a simple question: do you require the developer of your system (or a system component/service) to run an explicit process that continuously improves how they build and deliver software? (NIST SP 800-53 Rev. 5 OSCAL JSON)
For Compliance Officers, CCOs, and GRC leads, the practical challenge is that “continuous improvement” can become vague. Auditors will not accept general statements about agile, DevOps, or a quality culture. You need a defined mechanism that takes real inputs (defects, security vulnerabilities, incidents, missed SLAs, escaped bugs, audit findings), routes them through an accountable review, produces concrete process changes (updated standards, gating, training, automation, revised checklists), and then verifies those changes are adopted.
This page gives you requirement-level implementation guidance you can assign to Engineering, Product Security, and Procurement quickly. The goal is audit readiness: clear ownership, a predictable operating rhythm, and a small set of durable artifacts that demonstrate the loop works.
Regulatory text
Requirement (excerpt): “Require the developer of the system, system component, or system service to implement an explicit process to continuously improve the development process.” (NIST SP 800-53 Rev. 5 OSCAL JSON)
Operator meaning: You are on the hook to (1) impose the requirement on the developer and (2) show that the developer actually runs a defined continuous improvement process for development. The phrase “explicit process” is the anchor: named process, documented steps, defined roles, defined inputs, defined outputs, and evidence of recurring execution. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Plain-English interpretation (what “continuous improvement” means in practice)
A compliant implementation looks like this:
- The developer collects improvement signals (engineering metrics, defect trends, security findings, build failures, post-incident learnings).
- A responsible group reviews those signals on a set cadence and decides what to change in the development process.
- The developer updates development process assets (SDLC policy/standard, secure coding standard, CI/CD gates, code review rules, threat modeling steps, testing requirements).
- The developer verifies adoption (people trained, tooling updated, new gates enforced), then re-checks the original signals to confirm the change helped.
A non-compliant implementation looks like this:
- “We do retros” with no records.
- Improvements happen only after major incidents.
- Process changes exist in chat threads, not in controlled process documentation.
- There is no way to trace a finding to a process fix.
Who it applies to
SA-15(6) applies when you have a developer for:
- A federal information system, or
- Contractor-operated systems handling federal data, and
- Any system component or system service where a third party develops, maintains, or materially changes the development process. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Operational contexts where it triggers most often
- You buy or build software and rely on a third party integrator, SaaS provider, MSP, or component supplier for part of the SDLC.
- Your internal development team builds the system, but you also source libraries/components or contracted development.
- You are in an authorization or assessment context where NIST SP 800-53 controls are in scope. (NIST SP 800-53 Rev. 5)
What you actually need to do (step-by-step)
Step 1: Assign control ownership and boundaries
- Name a primary owner (often AppSec, Engineering Excellence, or SDLC Governance).
- Define which development organizations are “developers” in scope: internal teams, third parties, and hybrid arrangements.
- Identify what counts as the “development process” in your environment (SDLC phases, CI/CD, change control, testing, release management).
Deliverable: SA-15(6) control statement with owner, scope, and operating cadence.
Daydream note: Daydream can store the control narrative, owner, and evidence schedule so you stop rebuilding the same binder each assessment cycle.
Step 2: Put the requirement into third-party obligations (when a third party develops)
- Add contract clauses or addendum language requiring an explicit continuous improvement process for development.
- Require the developer to provide periodic evidence (see “Artifacts” below).
- Add audit/assessment rights for process evidence relevant to your system or service.
Decision point: If the third party will not share internal SDLC details, negotiate for surrogate evidence (process change log excerpts, anonymized metrics, attestation plus samples tied to your environment). Your goal is still “explicit process” proof. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Step 3: Define the improvement loop (inputs → review → outputs → verification)
Build a one-page procedure that answers these examiner questions:
- What inputs are reviewed?
- Who reviews them?
- How often?
- What outputs are produced?
- How do you confirm adoption?
Common inputs (choose what you already have):
- Defect leakage (bugs found after release)
- Vulnerability findings (SAST/DAST, dependency scans, pen tests)
- Incident/post-incident reports and corrective actions
- Change failure patterns (failed deploys, rollbacks)
- Audit findings related to SDLC and configuration management
Governance: Create a standing “SDLC Improvement Review” with a defined chair and attendees (Engineering lead, AppSec, QA, DevOps). Keep it small; make it real.
Step 4: Make improvements controlled and traceable
- Maintain a Development Process Change Log (ticket system is fine) with:
- Trigger (what data/finding drove the change)
- Change description
- Systems/teams affected
- Approval
- Effective date
- Update the authoritative process artifacts (SDLC standard, secure coding standard, CI/CD gate configs, review checklists).
- Train or communicate changes, and keep proof.
Goal: An assessor can trace “finding → decision → process change → adoption proof.”
Step 5: Verify and measure whether the change worked
Define “verification” as a required step. Examples:
- Confirm CI gate enabled in production pipelines.
- Sample PRs show new review checklist fields completed.
- Repeat scan shows reduced recurrence of the same class of issue.
- Post-change audit sample shows adherence to updated standard.
This is where most programs fail: they implement a change but never show adoption.
Step 6: Build the evidence package and run it on a calendar
Create an evidence checklist per system (or per dev org) and run a recurring evidence pull. If you rely on a third party developer, schedule evidence requests and follow-ups as part of third-party governance.
Required evidence and artifacts to retain
Minimum viable, audit-friendly set:
- Documented continuous improvement procedure for the development process (explicit steps, roles, cadence). (NIST SP 800-53 Rev. 5 OSCAL JSON)
- Meeting records (agenda, minutes, attendance) for the SDLC Improvement Review.
- Metrics/findings pack reviewed (defect trends, vulnerability trends, incident learnings) tied to the system or service where feasible.
- Development Process Change Log with traceability from trigger to change.
- Updated SDLC artifacts (versioned standards, updated checklists, CI/CD gate configuration changes).
- Adoption evidence (training completion records, communications, screenshots/config exports showing gates enabled, sample pull requests showing new requirements met).
- Third-party contract clauses / addendum requiring the explicit continuous improvement process (if development is performed by a third party). (NIST SP 800-53 Rev. 5 OSCAL JSON)
Common exam/audit questions and hangups
Examiners typically probe:
- “Show me the explicit process.” If it’s tribal knowledge, you will struggle. (NIST SP 800-53 Rev. 5 OSCAL JSON)
- “How do you know improvements are continuous?” They will look for recurring records, not one-time process updates.
- “What changed because of the last incident or major vulnerability?” They want traceability.
- “Does this apply to your SaaS provider / integrator?” If they develop or materially modify the service you rely on, you need a requirement mechanism and evidence.
- “Who approves SDLC changes?” Lack of defined authority creates inconsistent adoption.
Frequent implementation mistakes (and how to avoid them)
-
Calling agile retrospectives “continuous improvement” without artifacts.
Fix: keep minutes and link action items to process documentation updates. -
Tracking improvements in Jira but never updating the actual SDLC standard.
Fix: require a “documentation updated” checkbox and attach the updated artifact version. -
No adoption verification.
Fix: define a verification step per improvement action (pipeline setting, sample-based review, training proof). -
Third-party development left out of scope.
Fix: add contractual requirements and a lightweight evidence request cadence tied to your third-party reviews. Use “third party” language, then map which parties are truly developers for the system. (NIST SP 800-53 Rev. 5 OSCAL JSON) -
Too many metrics, no decisions.
Fix: restrict inputs to signals you will act on, and require “decision + owner + due date” for each improvement.
Enforcement context and risk implications
No public enforcement cases were provided in the source catalog for this specific control enhancement, so treat it as an assessment-driven requirement rather than one tied to named penalties in this dataset. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Operational risk still matters:
- A missing improvement loop usually correlates with repeated classes of defects and recurring security findings.
- If you cannot prove the process exists and runs, you risk control failure during authorization, supplier reviews, or customer security assessments that use NIST SP 800-53 as the benchmark. (NIST SP 800-53 Rev. 5)
Practical execution plan (30/60/90)
First 30 days (baseline and obligations)
- Assign SA-15(6) owner, scope, and systems/teams in scope.
- Draft the explicit continuous improvement procedure (one page).
- Identify the inputs you already produce (scans, defects, incident reports).
- Add continuous improvement obligations to third-party contracts or renewals where the third party is a developer.
- Create the evidence checklist and repository location per system.
Days 31–60 (stand up the operating rhythm)
- Hold the first SDLC Improvement Review; publish minutes and action items.
- Create the Development Process Change Log and require it for SDLC changes.
- Implement 1–2 process improvements driven by real findings (pick tractable items like CI gates, checklist changes, or secure coding updates).
- Define verification criteria for each improvement action.
Days 61–90 (prove it works end-to-end)
- Run a second review cycle and show continuity.
- Validate adoption with sampling (PRs, pipeline configs, training records).
- Package artifacts into an “SA-15(6) evidence folder” per system/component/service.
- If a third party developer is in scope, complete at least one evidence request cycle and document outcomes and follow-ups.
Where Daydream fits: Once you have the procedure and artifact list, Daydream can track owners, recurring evidence pulls, and the “finding → improvement → verification” thread so you can answer assessor questions without rebuilding documentation.
Frequently Asked Questions
What qualifies as an “explicit process” under SA-15(6)?
A documented, repeatable method with defined inputs, roles, cadence, outputs, and verification steps. A vague statement that teams “continuously improve” is not sufficient. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Does SA-15(6) apply if development is fully outsourced to a third party?
Yes, the requirement text is explicitly about requiring the developer to implement the process. You operationalize that through contractual obligations and evidence requests tied to the system/component/service. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Can we satisfy this with agile sprint retrospectives?
Only if you can show retros are part of an explicit improvement process that results in controlled SDLC changes and adoption verification. Keep minutes, track actions, and update the authoritative SDLC artifacts.
What evidence is most persuasive to auditors?
Traceability: a metric or finding, review records showing a decision, a logged process change, and proof the change was implemented (for example, updated standards and enforced CI/CD gates). (NIST SP 800-53 Rev. 5 OSCAL JSON)
How do we handle third parties that refuse to share internal SDLC details?
Negotiate for scoped evidence relevant to your service, such as excerpts of change logs, anonymized improvement records, or structured attestations plus samples. Document the limitation and your compensating governance steps.
Who should own SA-15(6): security or engineering?
Engineering usually owns the development process, while security provides required inputs (vulnerability findings) and assurance testing. The cleanest model is joint governance with a single accountable owner for evidence completeness.
Frequently Asked Questions
What qualifies as an “explicit process” under SA-15(6)?
A documented, repeatable method with defined inputs, roles, cadence, outputs, and verification steps. A vague statement that teams “continuously improve” is not sufficient. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Does SA-15(6) apply if development is fully outsourced to a third party?
Yes, the requirement text is explicitly about requiring the developer to implement the process. You operationalize that through contractual obligations and evidence requests tied to the system/component/service. (NIST SP 800-53 Rev. 5 OSCAL JSON)
Can we satisfy this with agile sprint retrospectives?
Only if you can show retros are part of an explicit improvement process that results in controlled SDLC changes and adoption verification. Keep minutes, track actions, and update the authoritative SDLC artifacts.
What evidence is most persuasive to auditors?
Traceability: a metric or finding, review records showing a decision, a logged process change, and proof the change was implemented (for example, updated standards and enforced CI/CD gates). (NIST SP 800-53 Rev. 5 OSCAL JSON)
How do we handle third parties that refuse to share internal SDLC details?
Negotiate for scoped evidence relevant to your service, such as excerpts of change logs, anonymized improvement records, or structured attestations plus samples. Document the limitation and your compensating governance steps.
Who should own SA-15(6): security or engineering?
Engineering usually owns the development process, while security provides required inputs (vulnerability findings) and assurance testing. The cleanest model is joint governance with a single accountable owner for evidence completeness.
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream