DevSecOps Lifecycle
1-plan-phase-devsecops

Plan Phase

The Planning phase supports software development planning, which includes configuration management planning, change management planning, project management planning, system design, software design, test planning, and security planning.

2-develop-phase-devsecops

Develop Phase

The Development phase supports the development activities that convert requirements into source code. The source code includes application code, test scripts, Infrastructure as Code, Security as Code, DevSecOps workflow scripts, etc.

3-build-phase-devsecops

Build Phase

The Build Phase performs the tasks of building and packaging applications, services, and microservices into artifacts. It also includes generating application documentation, copying files like libraries or icons to the appropriate locations, and creating a distributable file such as a zip file.

4-test-phase-devsecops

Test Phase

The Testing Phase involves continuous testing across the software development lifecycle. Test activities may include, but are not limited to, unit test, functional test, integration test, system test, regression test, acceptance test, performance test, and variety of security tests. All tests start with test planning and test development, which includes detailed test procedures, test scenarios, test scripts, and test data.

5-release-deliver-phase-devsecops

Release & Deliver Phase

In the release and deliver phase, the software artifacts are digitally signed to verify that they have passed build, all tests, and security scans. They are then delivered to the artifact repository. The content of the artifacts depends on the application. It may include, but is not limited to, container images, VM images, binary executables (such as jar, war, and ear files), test results, security scan results, and Infrastructure as Code deployment scripts.

6-deploy-phase-devsecops

Deploy Phase

In the Deployment Phase, the two major deployment options include virtual machines and software containers.

In a Virtual Machine Deployment, the virtualization manager manages the virtual compute, storage, and network resources.

In a Container Deployment, the container manages the configuration tasks, such as instantiation, scaling, monitoring, and rolling updates.

7-operate-phase-devsecops

Operate Phase

The Operation phase involves system scaling, load balancing, and backup. Load balancing monitors resource consumption and demand, and then distributes the workloads across the system resources. Scaling helps dynamic resource allocation based on demand.
Application deployment must have proper load balancing and scaling policies configured. During runtime, the management layer will continuously monitor the resources.

8-monitor-phase-devsecops

Monitor Phase

The Monitoring Phase involves the collection and assessment of key information about the use of the application to discover trends and identify problem areas. Monitoring spans the underlying hardware resources, network transport, applications / microservices, containers, interfaces, normal and anomalous endpoint behavior, and security event log analysis. It continuously inventories all system components, monitors the performance and security of all components, and logs application and system events.

wdt_ID AID Phase Activity Description Data Required
1 1 Plan DevSecOps ecosystem design Design the DevSecOps process workflows that are specific to this project -  Change management process; -  System design; -  Release plan & schedule.
2 2 Plan Project team onboarding planning Plan the project team onboarding process, interface, access control policy Organization policy
3 3 Plan Change management planning Plan the change control process -  Organizational policy; -  Software development best practice.
4 4 Plan Configuration identification Discover or manual input configuration items into CMDB; Establish system baselines - IT infrastructure asset; - Software system components (include DevSecOps tools); -code baselines -document baselines.
5 5 Plan Configuration management (CM) planning Plan the configuration control process; Identify configuration items - Software development, security and operations best practice; -  IT infrastructure asset; -  Software system components.
6 6 Plan Software requirement analysis Gather the requirements from all stakeholders -  Stakeholder inputs or feedback; -  Operation monitoring feedback; -  Test feedback.
7 7 Plan System design Design the system based the requirements Requirements documents
8 8 Plan Project planning Project task management Release planning
9 9 Plan Risk management Risk assessment - System architecture; - Supply chain information; - Security risks.
10 10 Plan Threat modeling Identify potential threats, weaknesses and vulnerabilities. Define the mitigation plan System design
11 11 Plan Database design Data modeling; database selection; Database deployment topology System requirement; System design
12 12 Plan Design review Review and approve plans and documents Plans and design documents;
13 13 Plan Documentation version control Track design changes Plans and design documents;
14 14 Develop Application code development Application coding Developer coding input
15 15 Develop Infrastructure code development -System components and infrastructure orchestration coding -Individual component configuration script coding Developer coding input
16 16 Develop Security code development Security policy enforcement script coding Developer coding input
17 17 Develop Test development Develop detailed test procedures, test data, test scripts, test scenario configuration on the specific test tool Test plan
18 18 Develop Database development Implement the data model using data definition language or data structure supported by the database; Implement triggers, views or applicable scripts; Implement test scripts, test data generation scripts. Data model
19 19 Develop Code commit Commit source code into version control system Source code
20 20 Develop Code commit scan Check the changes for sensitive information before pushing the changes to the main repository. If it finds suspicious content, it notifies the developer and blocks the commit. Locally committed source code
21 21 Develop Code review Perform code review to all source code. Note that pair programming counts. Source code
22 22 Develop Documentation Detailed implementation documentation User input; Developed Source Code
23 23 Develop Static code scan before commit Scan and analyze the code as the developer writes it. Notify developers of potential code weakness and suggest remediation. Source code; known weaknesses
24 24 Develop VM hardening Harden the deliverable for production deployment Running VM
25 25 Develop Code Commit Logging Logging of successful code commits, or analysis of rejected commits, which will have benefits to security and insider threat protections -Review Comments -Source Code Weakness Findings -Version-Controlled Source Code -Security Findings and Warnings
26 26 Build Build Compile and link Source code; dependencies
27 27 Build Static application security test and scan Perform SAST to the software system Source code; known vulnerabilities and weaknesses
28 28 Build Dependency vulnerability checking Identify vulnerabilities in the open source dependent components Dependency list or BOM list
29 29 Build Release packaging Package binary artifacts, VM images, infrastructure configuration scripts, proper test scripts, documentation, checksum, digital signatures, and release notes as a package. Binary artifacts; Scripts; Documentation; Release notes
30 30 Build Store artifacts Store artifacts to the artifact repository Binary artifacts; Database artifacts; Scripts; Documentation;
31 31 Build Build configuration control and audit Track build results, SAST and dependency checking report; Generate action items; Make go/no-go decision to the next phase Build results; SAST report; Dependency checking report
32 32 Test Unit test Assist unit test script development and unit test execution. It is typically language specific. Unit test script, individual software unit under test (a function, method or an interface), test input data, and expected output data
33 33 Test Dynamic application security test and scan Perform DAST or IAST testing to the software system Running application and underlying OS; fuzz inputs
34 34 Test Integration test Develops the integration test scripts and execute the scripts to test several software units as a group with the interaction between the units as the focus. Integration test scripts, the software units under test, test input data, and expected output data
35 35 Test System test System test uses a set of tools to test the complete software system and its interaction with users or other external systems. Includes interoperability test, which demonstrates the system's capability to exchange mission critical information and services with other systems. System test scripts, the software system and external dependencies, test input data and expected output data
36 36 Test Manual security test Such as penetration test, which uses a set of tools and procedures to evaluate the security of the system by injecting authorized simulated cyber-attacks to the system. CI/CD orchestrator does not automate the test, but the test results can be a control point in the pipeline. Running application, underlying OS, and hosting environment
37 37 Test Performance test Ensure applications will perform well under the expected workload. The test focus is on application response time, reliability, resource usage and scalability. Test case, test data, and the software system
38 38 Test Regression test A type of software testing to confirm that a recent program or code change has not adversely affected existing features. Functional and non- functional regression test cases; the software system
39 39 Test Acceptance test Conduct operational readiness test of the system. It generally includes: Accessibility and usability test failover and recovery test performance, stress and volume test security and penetration test interoperability test compatibility test supportability and maintainability The tested system Supporting system Test data
40 40 Test Compliance scan Compliance audit Artifacts; Software instances; System components
41 41 Test Test audit Test audit keeps who performs what test at what time and test results in records Test activity and test results
42 42 Test Test deployment Deploy application and set up testing environment using Infrastructure as Code Artifacts (application artifacts, test code) Infrastructure as Code
43 43 Test Database functional test Perform unit test and functional test to database to verify the data definition, triggers, constrains are implemented as expected Test data; Test scenarios
44 44 Test Database non- functional test Conduct performance test, load test, and stress test; Conduct failover test Test data; Test scenarios
45 45 Test Database security test Perform security scan; Security test Test data; Test scenarios
46 46 Test Test configuration audit Track test and security scan results; Test results; Security scan and compliance scan report
47 47 Test Test configuration control Generate action items; Make go/no-go decision to the next phase. (There may be several iterations for several tests across stages) Version controlled test results
48 48 Release and Deliver Release go / no-go decision This is part of configuration audit; Decision on whether to release artifacts to the artifact repository for the production environment. Design documentation; Version controlled artifacts; Version controlled test reports; Security test and scan reports
49 49 Release and Deliver Deliver released artifacts Push released artifacts to the artifact repository Release package
50 50 Release and Deliver Artifacts replication Replicate newly release artifacts to all regional artifact repositories Artifacts
51 51 Release and Deliver Ops Team Acceptance Testing on the delivered artifacts to ensure that they meet operational requirements Release package
52 52 Release and Deliver Configuration Integration Testing Accepted Release Package
53 53 Release and Deliver Development Test and Operational Test Known CVEs, privacy requirements, security requirements, and potential threats
54 54 Release and Deliver Parallel government testing Feature requirements and performance requirements
55 55 Release and Deliver Delivery Results Review Configuration results and Recommendations
56 56 Deploy Artifact download Download newly release artifacts from the artifact repository Artifact download request
57 57 Deploy Infrastructure provisioning automation Infrastructure systems auto provisioning (such as software defined networking, firewalls, DNS, auditing and logging system, user/group permissions, etc.) Infrastructure configuration scripts / recipes / manifests / playbooks
58 58 Deploy Create linked clone of VM master image Instantiate VM by creating a link clone of parent VM with master image VM parent; New VM instance parameters
59 59 Deploy Post-deployment security scan System and infrastructure security scan Access to system components and infrastructure components
60 60 Deploy Post-deployment checkout Run automated test to make sure the important functions of system are working Smoke test scenarios and test scripts
61 61 Deploy Database installation Database software installation; Cluster or high availability setup Artifacts in the repository; data
62 62 Deploy Database artifact deployment Database artifacts deployment and data loading Artifacts in the repository; data
63 63 Operate Backup Data backup; System backup Access to backup system
64 64 Operate Scale Scale manages VMs/containers as a group. The number of VMs in the group can be dynamically changed based on the demand and policy. Real-time demand and VM performance measures Scale policy (demand or Key Performance Indicator (KPI)threshold; minimum, desired, and maximum number of VMs/containers)
65 65 Operate Load balancing Load balancing equalizes the resource utilization Load balance policy Real time traffic load and VM/container performance measures
66 66 Operate Feedback The Second Way: Feedback Technical feedback as to “is the system built right” and operational feedback as to “was the right system built”
67 67 Monitor Compliance Monitoring (resources & services) Monitor the state of compliance of deployed cloud resources and services against NIST SP 800-53 controls
68 68 Monitor Compliance Monitoring (COTS) Monitor the state of compliance of deployed COTS against STIGs
69 69 Monitor Logging Log system events All user, network, application, and data activities
70 70 Monitor Log analysis Filter or aggregate logs; Analyze and correlate logs Logs
71 71 Monitor Log auditing Ensure possession of the logs and that aggregation is performed correctly Logs
72 72 Monitor System performance monitoring Monitor system hardware, software, database, and network performance; Baselining system performance; Detect anomalies Running system
73 73 Monitor System Security monitoring Monitor security of all system components Security vulnerability assessment System security compliance scan Running system
74 74 Monitor Asset Inventory Inventory system IT assets IT assets
75 75 Monitor System configuration monitoring System configuration (infrastructure components and software) compliance checking, analysis, and reporting Running system configuration; Configuration baseline
76 76 Monitor Database monitoring and security auditing Database performance and activities monitoring and auditing Database traffic, event, and activities
Phase