Software Acquisition
Phases
Planning Phase
Execution Phase
Activities
Define Capability Needs
Develop Strategies
Cost Estimation
Engage Users, Assess Value
MVP, MVCR, Deployment
Architecture, Interoperability
Cybersecurity
Ent Services, DevSecOps
Metrics and Reporting
DBS in SWP
Additional Resources
SWP Training Resources
SWP Quick Start Primer
SWP Artifact Templates
SWP Programs
SW In NDAAs
Glossary
FAQs
Contracting Strategy
How To Use This Site
Each page in this pathway presents a wealth of curated knowledge from acquisition policies, guides, templates, training, reports, websites, case studies, and other resources. It also provides a framework for functional experts and practitioners across DoD to contribute to the collective knowledge base. This site aggregates official DoD policies, guides, references, and more.
DoD and Service policy is indicated by a BLUE vertical line.
Directly quoted material is preceeded with a link to the Reference Source.
Reference Source: DODI 5000.87 Section 3.2.d
Consistent with modern software development practices, the acquisition strategy and related program documentation will be tailored to what is needed to effectively manage the program. Key elements of the acquisition strategy include, but are not limited to:
Flexible and modular contract strategy that enables software development teams to rapidly design, develop, test, integrate, deploy, and support software capabilities.
Key SW Fundamentals | How SW Programs Are Different | Modular Contracting | Contracting for DevSecOps | Contracting for Agile SW Dev | Industry Perspective for Agile SW Dev Contracts | Tech Data Rights and IP | Open Architecture Contract Considerations | Acquiring Innovative SW Solutions | Streamlining Evaluation and Selection | Resources
Understand Key Software Development Fundamentals
Reference Source: OUSD (A&S) Guidance
Contracting for software development solutions requires program and contracting teams to understand fundamental modern software development principles and processes (e.g., Agile software development and DevSecOps) to successfully collaborate to develop and implement contracts and business arrangements to rapidly deliver capability to users.
Understanding the following elements of modern software development is key for executing SWP programs. Together, these elements enable SWP programs to iteratively deliver capability to the warfighter:

The Software Acquisition Pathway (SWP) provides a policy and guidance framework that facilitates rapid and iterative deliver of software capability to users by integrating modern software development practices, tightly coupled government-industry teams, and active user engagement.
DevSecOps (DSO) is a culture and philosophy, realized through a collection of people, processes, automation tools, and standards (e.g., DSO Reference Design, Application Program Interfaces (APIs)) enabling programs to develop, secure, deploy, and operate applications in a secure, flexible, and interoperable fashion. There is not a standard or uniform DevSecOps offering; this will vary program to program. See the DoD Enterprise DevSecOps Fundamentals for more details on DevSecOps.
Agile Development is a software development methodology based on a set of values and principles focused on flexibility, collaboration, and efficiency to deliver quality products that provide value to users. See the Agile 101 Primer for more details on Agile Software Development in the DoD.
Comprehending these fundamental elements of modern software development is key to understanding how to structure contracts for software development solutions. Contracts that enable DevSecOps and Agile development processes are critical to success.
Understand How Software Development Programs are Different
Software Development Processes Are Different!
Traditional hardware focused acquisition follows a sequential development process where requirements are fully defined upfront and a contract is awarded to a single contractor to design, develop, test, deploy, and maintain the solution.

The traditional acquisition process does not align with software development principles and processes predicated on high level requirements that enable iterative development to achieve solutions desired by the user. Agile software development is a continuous cycle to design, develop, test, and deliver small increments of capability in much shorter timeframes that traditional development processes.
SWP programs are required to deliver capability no less than annually, but higher delivery frequency is ideal and encouraged.

Software Development Program Requirements Are Different!
For SWP programs, high level requirements are documented in a Capability Needs Statement (CNS) or Software Initial Capabilities Document (SW-ICD) that capture the scope of the user’s operational needs, threats, and environments but does not detail specific development activities.
Product roadmaps provide a high-level visual summary that maps out the vision and direction of product offerings over time. Roadmaps describe the goals and features of each software iteration and increment but does not detail a specific project schedule as an Integrated Master Schedule (IMS) would.
Program or Product Backlogs are dynamic prioritized lists of tactical user needs of capability to be developed. Backlogs are leveraged to manage workflow and communicate detail on what will be delivered in next development cycle. Backlogs contain the work that will be developed by software development teams.

Software Development is Never Done!
Software development is never complete and software development programs do not enter a “sustainment” phase in the way that traditional hardware programs do once development is complete and the solution moves into operation.
Contracting for Software Development Programs is Different!
For a program to embrace the software development principles and processes discussed above, contracting for software development solutions necessitates a shift from approaches used for acquiring traditional hardware intensive solutions – mainly shifting away from a singular “monolithic contract” to deliver a solution against a specific set of requirements.
Instead of a single all-emcompassing contract, software development efforts are best acquired by leveraging a portfolio of contracts (managed and integrated by the Government) where individual contracts are crafted with specific and distinct scopes of work. This construct provides a program with flexibility to adapt to evolving requirements and increases competitive opportunities for smaller pieces of the larger solution. A portfolio of contracts may be achieved by leveraging a modular contracting strategy that is focused on the elements enabling software development. Modular contracting is discussed in the next section.
Modular Contracting
Reference Source: OUSD (A&S) Guidance
Modular contracting, leveraging Commercial Solutions Opening (CSO) procedures and Other Transaction (OT) agreements, is the preferred approach for acquiring major information technology systems in accordance with 41 U.S.C. §2308. Modular contracting for information technology is implemented at FAR 39.103. Modular contracting is an approach that divides an acquisition into smaller increments with the intended outcomes of reducing program risk, continuously acquiring rapidly-changing technology, and enabling flexibility for programs to scale.
Modular contracting enables a SWP program to establish contracts with different objectives to best meet the many requirements and objectives throughout a program’s lifecycle. Modular contracting differs from contracting for traditional solutions/system as follows:
| Contracting for Traditional Hardware Intensive Solutions |
Modular Contracting for Software Development Solutions |
| Program contracts with a single vendor to execute solution development | Program controls and directs development activities and manages iterative requirements |
| Contract scope includes all (highly detailed and specific) program requirements | Individual contracts scoped for different elements of a software development effort |
| Minimizes number of contracts to be managed; many modifications likely needed to address requirement changes throughout contract life | Increases number of contracts to be managed; modifications can be minimized by contract flexibility enabling iterative development |
| Difficult to change contractor without major disruption and risk to program | Mitigates risk by enabling ability to change individual contractors without impacting entire program |
| Program could lose ownership of technical baseline if over-reliant on contractor and proprietary solutioning | Optimizes active program management and participation in Agile software development/DevSecOps processes combined with open architectures/APIs to own the baseline |
A well-planned modular contracting strategy can enable SWP programs to establish and maintain software development/test environments and separately acquire software development teams to deliver capability and enable programs to scale and evolve over time.
By contracting separately for the development environment and individual development teams the program can specifically address issues with individual contracts through a variety of actions ranging from adjusting the skill/labor mix of a contractor development team to outright replacing a contractor if there is a performance issue. This is a risk reduction strategy for a SWP program.
Considerations for Program Managers
When selecting a modular contracting strategy as part of a SWP program Acquisition Strategy, program managers must consider the balance of work that a portfolio of contracts will generate for their programs. Program managers must consider (and budget for) the program resources needed to integrate various contractual elements, control and monitor multiple contracts, and integrator contractor activities (where necessary). Program managers must understand the additional control and flexibility that a modular strategy instills in a program, and must be prepared to integrate all efforts and lead teams to continuously monitor performance.
A modular contracting strategy requires a program to manage dependencies and connection points between vendor efforts and have requisite software development expertise for active involvement in development processes as well as for managing concurrent vendor efforts.
The following core considerations are key:
- What are the program’s organic manpower capabilities? Are there gaps in key software development capabilities? If so, how will those be addressed?
- How skilled is the program with leading and managing DevSecOps and Agile Software Development? Is additional training required?
- Is there dedicated contracting support to the program or will the program need to rely on external contracting support that is unfamiliar with the program?
Note: In some cases, contracting offices are not trained or resourced to execute modular contracting approaches for software development solutions. Program managers may need to seek additional options to build and execute a modular contracting strategy.
Considerations for Contracting Professionals
Contracting professionals must appreciate the fundamentals of software development to fully understand how contracts for software development solutions need to be structured – different from legacy waterfall development contracts.
Software development itself is an iterative process that DOES NOT lend to an up-front set of detailed requirements. Contracts for software development teams (think coding) are focused on Agile software development processes to achieve iterative capability delivery. Contracts for infrastructure (think cloud solutions) and development platforms (think development environment, software factory, and automated tools) require different skills and areas of expertise than software development teams.
Trying to find a single contractor to do it all can increase risk (putting all eggs in a single basket) and doesn’t take advantage of unique skill sets and industry innovators, especially when software development capability is for highly technical solutions. Additionally, small businesses with commercial solutions are often viable and favorable options for certain pieces of any software program. Executing a single, monolithic contract for a SWP program may leave innovation opportunities on the table and drive solutions to large traditional system development contractors that may not be optimized for a program’s needs.
What Should a Modular Contracting Strategy Look Like for a SWP Program?
There is not a singular model for a SWP program modular contracting strategy. The goal of a modular contracting strategy is to award distinct contracts for distinct efforts, but strategies should be tailored to the specific needs of a program. A modular contracting strategy for one SWP program is likely to look different from another program and may evolve throughout a program’s lifecycle, especially as scaling occurs and more development activities are added. When determining necessary contracts, a SWP program should consider the following:
- Will the government assume the role as integrator, or will an integrator contractor be required?
- What are program office skills, expertise, and resources to manage software development/deployment/operations activities?
- Does the program have access to appropriately skilled resources for software development/deployment/operations (e.g., Product Owner, Software/DevSecOps engineers, appropriately skilled Contracting Officer’s Representative)?
- Are there existing enterprise contracts and solutions (e.g., Joint Warfighting Cloud Capability (JWCC), PlatformOne Marketplace, Navy Overmatch Software Armory, Army CReATE) the program can access or is required to use? What are the synergies with other existing (or planned) contracts and programs?
- Are there existing legacy contracts? How will or won’t they be leveraged for software development?
Legacy Contract Considerations
In some cases, a legacy contract may need to remain in place to operate a legacy system while new solutions are developed and will end upon legacy system sunset. In other cases, a legacy contract may need to be leveraged for software development. Strategies to address existing legacy contracts include:
- Pursue modular contracting for different elements of software development rather than looking to the legacy contractor to do everything. What can be contracted for separately to enable software development (i.e., development environments, development teams) that doesn’t conflict with legacy contract scope?
- Actively discuss the intent to adopt modern software development practices with the contractor management team and the desire to shift to collaborative government/contractor processes versus contractor does their work and briefs the program at quarterly PMRs.
- Actively engage with the contractor (daily/weekly) to establish the government as the lead for prioritization of development work and be in the loop on progress/challenges.
- Explore contract modifications where it makes sense to pivot or add CLIN types specific for software development (assuming contractor has skilled modern SW developers).
Considerations for a modular contracting strategy include, but are not limited to the following:

While there isn’t a correct number of contracts to pursue when developing a modular contracting strategy, more modularity generally enhances a program’s ability to reduce risk and evolve (i.e., adding and removing contracts as requirements/technology change or contractor performance isn’t satisfactory).
Programs should be prepared to manage the interfaces and dependencies between contracts and the different “modules” of the program. These can be addressed using DevSecOps principles as part of a development environment offering a standardized development environment with automated tools and processes. See Open Architecture/API section below.
While the implementation of a modular strategy may appear daunting, the benefits enable a program to granularly target needed expertise, products, and services to continuously deliver a superior solution to the warfighter.
Existing SWP programs have unique contracting strategies, some more modular than others. Some programs are transitioning to more modular approaches as the program evolves and becomes more skilled and capable of managing multiple contracts, especially for multiple software development teams. An example of a program leveraging an Other Transaction is as follows:
Example: Contractor Dev Environment and SW Dev Teams
All support procured via a Production Other Transaction (OT) award as a follow-on to two competitively awarded Prototype OTs:
- Software capability development – FFP LOE contract type
- Contractor support for development environment PaaS solution – FFP LOE contract type
- Enhancements/sustainment of software capabilities – FFP LOE contract type
- R&D support services – FFP contract type
- Licensing and hardware – FFP contract type
Contracting for a DevSecOps Development Environment
Reference Source: OUSD (A&S) Guidance
The CIO Enterprise DevSecOps Reference Design documents define specific tools, technologies, constructs, and architectures for DoD DevSecOps development environments for Agile software development. Key elements of a DevSecOps development environment include automated tools and processes tailored for the program’s mission, continuous Authorization to Operate (cATO), and open Application Program Interface (API) architecture.
The DoD often refers to a DevSecOps development environment as a Software Factory (SWF) or CI/CD Pipeline, to enable continuous integration and delivery of software capability to warfighters. The DoD Software Modernization Implementation Plan refers to Software Factories as collections of people, tools, and processes that enable teams to continuously deliver value by deploying software to meet the needs of a specific community of end users while enabling continuous rollout and cutting-edge cyber resilience.
The following are examples of existing enterprise DevSecOps contract solutions providing access to vendors (small and large) that have demonstrated their ability to establish and manage software development environments for the DoD:
-
-
- PlatformOne Marketplace (Air Force)
- BESPIN Cloud Operations and Mission Delivery-as-a-Service (MDaaS) (Air Force)
- Enterprise Cloud Management Agency (ECMA) (Army)
- Overmatch Software Armory (OSA) (Navy)
-
_____________________________________________________________________________
Contracting Strategies to Consider for Development Environment
A program may need to contract for a development environment solution if not using an enterprise offering. Development environment or DevSecOps solutions are often “as-a-Service” based for automated tool sets and processes to meet program objectives as well as DevSecOps expertise to implement and manage the development environment.
Contracting strategies to consider for DevSecOps/Software Factory include the following:
Commercial Solutions Opening (CSO)
CSO solutions offer streamlined procedures that can be leveraged to procure innovative commercial solutions that could include a DevSecOps development environment. CSO procedures can be used to award FAR-based contracts or agreements, to include Other Transaction agreements.
Example CSOs
The following are provided as examples. Tailor accordingly based on program specific needs.
SBIR Phase III Other Transaction agreements can be awarded non-competitively to any contractor that has completed SBIR Phase I or Phase II work. There is no limit on the dollar value, contract type, or appropriation.
Prototype Other Transactions (OTs)
Prototype OTs and subsequent follow-on Production OTs are applicable to SWP program requirements that meet the definition of prototype projects.
When considering OTs, consider the core purposes:
- Provide government with access to state-of the art technologies, processes, and solutions from innovators.
- Leverage business practices that are common in industry to achieve speed and relevance.
- Provide flexible business arrangements that are tailored to project and stakeholder needs.
Other Transactions may be awarded by DoD organizations with warranted Agreements Officers OR by leveraging existing Other Transaction Consortia. Other Transactions may also be awarded to solution providers on the CDAO Tradewinds Solutions Marketplace and PlatformOne Marketplace.
The following use of Prototpye OT to follow-on Production OT is provided as an example. Tailor accordingly based on program specific needs.

_____________________________________________________________________________
DevSecOps Contract Metrics
Focus on the warfighter needs and establish metrics that matter to their mission. Metrics may change throughout the life of a program, but it is important to measure contractor effectiveness against programmatic goals. Contractors must be incentivized and rewarded based on this value construct.
Example Metrics to Consider
- Mean-time to recovery: how long it takes for an application in production to recover from failure
- Mean-time to production: how long it takes when new code committed into code repository
- Average Lead Time: how long it takes for a new requirement to be delivered and deployed
- Deployment speed: how fast to deploy a new version of the application between staging, test, and production
- Deployment frequency: how often to deploy a new release into production environment and testing
- Production failure rate: how often software fails in productions
- Maintain high Operational availability (Ao)
- Ability to detect and prevent security flaws and injections
- Ability to performing fuzzing and static/dynamic source code analysis
- Ability to monitor container security, including container base images and libraries
Example Delivery Performance Standards, AQLs, Surveillance Methods
The following is provided as an example. Tailor accordingly based on program specific needs.
| Delivery or Required Services | Performance Standard | Acceptable Quality Level | Surveillance Method |
|
Test Code Coverage
|
The contractor shall ensure newly developed software code is tested with automated testing methods and tools. | Minimum of 90% automated test coverage of all code. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
Regression Testing
|
The contractor shall perform software regression testing and ensure previously developed software continues to perform as expected with the addition of new software code. | Minimum of 100% government-approved regression tests are successful. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
Performance Testing
|
The contractor shall perform software and system performance testing to ensure new software code performance meets or exceeds government requirements. | Minimum of 99% of performance tests meet or exceed government-approved test objectives. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
Security |
The contractor shall ensure that 100% of the software code base and documentation meet the security controls identified in NIST SP 800-53 REV5 or subsequent version. | 100% of code submitted must be free of high or critical static and dynamic vulnerability scans prior to pushes to production. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
User-Centered Design |
The Contractor shall ensure all dashboards and self-service portals utilize user-centered design and that usability testing and other user research methods must be conducted at regular intervals throughout the development process (not just at the beginning or end) | Minimum of 80% user acceptance upon completion of UAT for each user interface. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, planned observations, and/or user feedback. |
|
Code Deployments
|
The contractor shall ensure all code must successfully build and deploy into staging and production environments. | Minimum of 90% of code deployments are successful with one command. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
Defect Resolution Time
|
The contractor shall ensure defects in the production system are resolved within government-approved timelines. Resolution times by severity level include: Level 1–within 24 hours; |
Minimum of 99% resolution each month, within the government-approved timeline for resolution per defect severity level. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
Platform ATO
|
The contractor shall ensure that DevSecOps Platform receives and maintains its ATO through automated security scanning and remains in compliance with RMF requirements. | Minimum of 95% of all security artifacts and processes are documented and validated by the government authorizing official or other government official. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
|
Product Management |
The Contractor shall work off prioritized story points as directed by the government product manager | Minimum of 95% of all work comes from prioritized story points. | COR/product manager continuous surveillance |
|
Cost Control
|
The contractor shall ensure the use of effective cost control methods by auditing invoices, tracking burn rate, and cross-checking performance attained against schedules. | Monthly costs incurred are within 10% of estimated cost. | COR and/or product manager continuous surveillance, which may include, but is not limited to, the following: periodic inspections, report reviews, random observations, and/or planned observations. |
See also the SWP Metrics and Reporting page.
Contracting for Agile Software Development
Reference Source: OUSD (A&S) Guidance
Agile software development is characterized by continuous change and reprioritization of requirements. This is a value driven approach where cost and schedule are fixed to allow the scope to change. This is a shift from contracts for traditional development that are plan driven, where the scope is a defined set of requirements that is fixed and does not change without an engineering change proposal and subsequent contract modification. A value driven approach for Agile software development calls for flexible software development contracts that allow the scope (prioritized capability needs in the government managed product backlog) to change in order to develop and deliver functional capability.
Traditional development contracts are written for contractors to deliver against a wholistic and specific set of requirements. Changes to requirements after contract award require an engineering change proposal and subsequent negotiation and contract modification. Changes can be costly and disruptive to the development process as work is continuously repriced and replanned.
Contracts for Agile software development are based on dynamic requirements (contained in the Product Backlog) enabled by modern software development practices (Agile and DevSecOps) and active user engagement to achieve iterative deliveries. Contracts with flexibility allow a contractor to develop capability in response to continuously evolving requirements.
| Traditional (Waterfall) Development | Agile Software Development |
| Solicitation/Contract Award | |
|
Detailed technical and system requirements provided in solicitation Contractors propose a technical solution to meet required capability Contract awarded based on strength of technical solution |
Product vision (high level vision of desired capability) provided in solicitation Contractors propose development teams to iteratively develop and deliver capability Contract awarded based on strength of proposed software development expertise |
| Contract Execution | |
|
Solution developed in accordance with fixed requirements provided in solicitation and resultant contract Solution tested and delivered at completion of long and linear development phases Contractor performance measured using criteria established at contract award |
Software planned and developed in short sprint and release cycles in accordance with dynamic Gov managed product backlogs Software demonstrated and tested as part of development and incrementally delivered Contractor performance measured against specific criteria established for each development cycle and software dev metrics |
Agile development methods such as daily collaboration between Government and contractor teams, a mutually agreed-upon definition of “done” for each sprint/release cycle, and metrics informing the Government about the quality of capability developed and delivered allow the Government to continually assess contractor performance.
_____________________________________________________________________________
What is a Flexible Contract for Agile Software Development?
Contracts that are flexible are built to be resilient to an evolving Product Backlog without requiring formal contract modifications. Examples of flexibility include:
- A variety of labor categories (LCATs) and functions with sample hours to establish a ceiling from which to consume future, variable, undocumented, or surge needs. LCATs can allow for variability within a ceiling that can be adjusted on a development sprint basis without the need for contract modifications.
- Non-CDRL ‘swaps’ of deliverables (based on Contracting Officer’s Representative written approval) using completion-based outcomes.
Flexible contracts for software development teams can be created using all contract types. See the Contract Types section below.
_____________________________________________________________________
Contracting Strategies for Agile Software Development
As part of a modular contracting construct, multiple contracts for software development can be executed to develop discrete capabilities of the overall solution managed by the program. When contracting for multiple development teams, the Government should have the integrator role (or hire a software integrator to perform this function in close collaboration with the Government) and be in full control of prioritizing the product backlog and managing the development process to ensure individual development contract activities align with program architecture, vision, and other development activities. Contracting strategies to consider for software development include the following:
Commercial Solutions Opening (CSO)
CSO solutions offer streamlined procedures that could be leveraged to procure innovative commercial solutions that could include software development solutions. CSO procedures can be used to award FAR-based contracts or agreements, to include Other Transaction agreements.
Example CSO
The following artifacts are provided as examples. Tailor accordingly based on program specific needs.
Prototype Other Transactions (OTs)
Prototype OTs may be considered for efforts that meet the definition of a prototype project.
When considering Prototype OTs, consider the core purposes:
- Provide government with access to state-of the art technologies, processes, and solutions.
- Leverage business practices that are common in industry to achieve speed and relevance.
- Provide flexible business arrangements that are tailored to project and stakeholder needs.
Other Transactions may be awarded by DoD organizations with warranted Agreements Officers OR by leveraging existing Other Transaction Consortia. Other Transactions may also be awarded to solution providers on the CDAO Tradewinds Solutions Marketplace and PlatformOne Marketplace.
SBIR Phase III OT agreements can be awarded non-competitively to any contractor that has completed SBIR Phase I or Phase II work. There is no limit on the dollar value, contract type, or appropriation.
_____________________________________________________________________________
Agile Software Development Contracting Resources
_____________________________________________________________________________
Agile Software Development Deliverables
Traditional development contracts include a detailed perspective list of contract data requirements list (CDRL) deliverables. An extensive list of deliverable documents is not required for Agile software development. When applied appropriately, Agile software development is a structured and disciplined process that encourages an incremental approach to design and delivery. A program should request enough documentation to validate that capabilities are being delivered in compliance with governance and IT system lifecycle requirements.
Considerations to Reduce CDRLs
To avoid excessive CDRL documentation, a program should:
- Distinguish between high-value documents and those that simply “check the box” or do not contribute to the value or quality of the product being delivered.
- Work with stakeholders to nominate traditional deliverable documents that do not add value to Agile development for exclusion.
- Streamline the format of the required documents as appropriate and work with the decision authorities to align on an incremental and iterative approach to document completion (to follow the cadence of Agile delivery and align with emergent design principles).
- Consider possible efficiencies that could be gained by changing the format and delivery of the artifact. For example, consider whether the artifact can be automatically generated from the project tools being used by the program.
There are some instances when it may make sense to retain a CDRL including:
- The artifact is part of the government baseline (for example, the software architecture).
- The document requires government approval (for example, the Software Development Plan).
- Artifacts that will need to be shared with other contractors or government agencies outside the program (for example an ICD).
CDRL Alternatives
A program may also consider alternatives to the traditional CDRLs for Agile software development. All programs are different, but the following may be useful in minimizing the time and overhead associated with CDRLs.
One such alternative to a CDRL is the Data Accession List (DAL). Unlike a CDRL that a contractor is required to submit, the DAL provides a medium for identifying contractor internal data generated in compliance with the work statement that the government may request if the need arises. Some artifacts may not even need a DAL form. For example, if there is a Software Development Plan that states that test procedures are developed for unit tests, then those should automatically be posted to the DAL. If the contractor’s format and content are acceptable then the government would not likely need a CDRL or a DAL form. For large program, a DAL may be needed to ensure consistency in format and content across multiple development teams.
If a program is using a DevSecOps environment and the government has full access to the environment and the data generated within the environment, then a CDRL/DAL may not be needed to access data that otherwise might require a CDRL/DAL. One example of this might be metrics data. Typically metrics data is requested using a CDRL, but could instead be delivered in the DevSecOps environment if the data is available to the program office straight from the DevSecOps environment. This can also be true for other data available in the DevSecOps environment such as test data and source code.
The program may consider using DevSecOps data or a DAL for recurring Agile software development artifacts (i.e., design documentation for each sprint) and only require a CDRL delivery at the completion of the development effort.
Article: From CDRLs to Agile Services (Alternative considerations for leveraging DevSecOps/Agile development processes in place of traditional CDRLs).
Industry Perspectives for Agile Software Development Contracts
Reference Source: OUSD (A&S) Guidance
OSD partnered with DISA to conduct field research in an effort to understand industry perspectives and pain points contracting with the DoD for software development solutions as well as recommendations for improved contracts for software development. The following considerations and recommendations represent industry views for software development contracts.
Incentives and Metrics for Software Development Contracts
- Leverage DORA metrics for incentive fee efforts: deployment frequency (DF), lead time for changes (LT), mean time to recovery (MTTR), and change failure rate (CFR). These grade DevSecOps team performance and can be scored objectively and with progressively increasing standards.
- A core tenet of Agile is to focus on the work that matters (e.g., delivering code). Creating and/or requiring superfluous metrics can be counterproductive to program goals and create misaligned incentives for vendors. Programs should be careful to balance what should be measured against what could be measured, and only create/require meaningful metrics. Only measure the things that will help control and manage the program.
Labor Category Considerations for Software Development Contracts
- Eliminate LCATs requiring certain educational degrees and number of years of experience and instead require experience with technologies and processes (such as Agile and coding languages). This enables more options for vendors to staff projects with the most highly qualified staff. It is important to recognize that when building software using leading-edge technology, some of the most highly skilled labor may have just graduated from an educational program or may not be formally educated, at all.
- For surge support, consider LCATs at significantly higher rates. Contractors can often access software developers that will take short-term jobs of a few months if the pay offsets the risk of short-term work. Consider that many development contractors are competing with commercial (non-Government focused) industry for the same talent. It is important to recognize the staffing challenges that accompany an inflexible LCAT-based staffing model and overcome those challenges with increased flexibilities. Contracts need to afford companies the flexibilities to hire the best and most qualified personnel to meet mission needs.
Additional Recommendations for Software Development Contracts
- Ensure contracts are scoped contracts to allow enough time to transition in and for a program to embrace Agile/DevSecOps practices.
- Interact with industry during market research to inform acquisition requirements and strategy. If not, industry loses the opportunity to understand the voice of stakeholders, especially for complex solutions.
- Include contract flexibility to allow vendors options such as the ability to pivot on staffing/software needs as development is underway.
- Include details of Software Factory service level agreement (SLA) and roadmap from upstream provider.
Technical Data Rights and Intellectual Property (IP)
Reference Source: OUSD (A&S) Guidance
In accordance with DODI 5000.87 and DODI 5010.44, SWP programs are required to have IP strategies that identify and describe the management of delivery and associated license rights for all software and related materials necessary to meet operational, cybersecurity, and supportability requirements. The IP strategy must support and be consistent with all other government strategies for design, development, test and evaluation, operation, modernization, and long-term supportability of the software, protection of the software supply chain, and must be implemented via appropriate requirements in the contracts.
Data Rights describe how the government can use, modify, reproduce, perform, display, release, or disclose the data and software provided by the contractor. Deliverables are the data and software a contractor is required to deliver to the government. Software deliverables provide no value without the appropriate license rights to use them. Once the program has identified and tailored the necessary technical data and software deliverables and license rights, ensure there is a requisite CDRL (or DAL) deliverable and those requirements are consistent with language in work statements and other contractual documents.
See the IP Strategy page for more details, including evaluating IP as part of the source selection process.
The DoD IP Cadre offers program advising and other resources to support DoD acquisition programs.
DAU hosts an IP & Data Rights Community of Practice and offers a set of courses leading to an IP Credential.
Open Architecture/Application Program Interface (API)
Reference Source: OUSD (A&S) Guidance
The DoD is transforming from a closed architectural approach that challenges collaboration and integration of systems to a one that anticipates software integration through standards-based Application Program Interfaces (APIs). An API is a system access point that allows application programs to provide well-defined functionality and to promote interoperability, security, and scalability. The OUSD Research & Engineering (R&E) organization published the Application Programming Interface (API) Technical Guidance providing an overview of API concepts in software development.
APIs facilitate interoperability, data sharing, collaboration, and integration of systems and capabilities across different branches and units within the Department and with allies. Interoperability is critical to modern software systems, joint warfighting, artificial intelligence (AI) superiority, and achieving the DoD Data Decrees:
DoD Data Decrees
Source: DSD Memorandum: Creating Data Advantage, May 2021
1. Maximize data sharing and rights for data use: all DoD data is an enterprise resource.
2. Publish data assets in the DoD federated data catalog along with common interface specifications.
3. Use automated data interfaces that are externally accessible and machine-readable; ensure
interfaces use industry-standard, non-proprietary, preferably open-source, technologies,
protocols, and payloads.
4. Store data in a manner that is platform and environment-agnostic, uncoupled from hardware or
software dependencies.
5. Implement industry best practices for secure authentication, access management, encryption,
monitoring, and protection of data at rest, in transit, and in use.
SWP programs are required to develop an API Strategy to lay out the planned approach to interoperability including identifying key data and services that can be offered through APIs, driving architectures, establishing API governance, and establishing API metrics.
SWP program contracts should include applicable API guidance from the program’s API strategy and clearly state that the government retains ownership of its data, even when it is accessed or manipulated through the APIs.
Example Data Needs/Data Rights
The following table provides the type of data for which Government Purpose Rights (GPR) or mitigation plan is required and delivered to the government to implement a Modular Open Systems Approach (MOSA).
The vendor is to deliver the data and data rights listed in table or provide a detailed mitigation plan for each type of data for which the vendor will not grant GPR to establish how the Government can competitively procure program hardware and software maintenance / sustainment services from third parties other than the OEM. Additionally, the mitigation plan must include supporting documentation to demonstrate how the plan will be reasonably executed by the Government.
The following are provided as examples. Tailor accordingly based on specific program needs.
|
Type of Data |
Data Description |
Purpose |
Duration Needed |
|
Operational Data |
Processed Sensor Data |
Support User Operations |
Through Disposal |
|
AI/ML Output Data |
Support User Operations |
Through Disposal |
|
|
Engineering Data |
Developmental Level TDP |
Support Development, Integration and Sustainment |
Through Disposal |
|
System Design Document |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
Interface Control Documents (ICDs) |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
System Security Plan and supporting Body of Evidence |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
User Interface Style Guide |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
Software Development Toolkit (SDK) |
Software development tools |
Through Disposal |
|
|
MOSA Key Interfaces and Self-Assessment |
Support Development, Integration and Sustainment |
Through Disposal
|
|
|
Interface Design Document |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
Database Design Description |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
Software Data |
Software Design Description |
Support Development, Integration and Sustainment |
Through Disposal |
|
Software Requirements Specification |
Support Development, Integration and Sustainment |
Through Disposal |
|
|
Software Product Specifications |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Software Version Description |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Computer Software Product End Items |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Application Programming Interfaces (APIs) |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Database Design Description |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Computer End Item Documentation |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Software Bill of Materials |
Support Maintenance and Sustainment |
Through Disposal |
|
|
Logistics Data |
Supportability Analysis & Data |
Supports Organic Maintenance and Sustainment |
Through Disposal |
|
Program training materials |
Supports Operations and Maintenance |
Through Disposal |
|
|
Program User Manual |
Supports Operations and Maintenance |
Through Disposal |
|
|
Program Administrator Manual |
Supports Operations and Maintenance |
Through Disposal |
|
|
Quick Reaction Guide |
Supports Operations and Maintenance |
Through Disposal |
|
|
System Safety Program Plan |
Supports Operations and Maintenance |
Through Disposal |
|
|
Safety Assessment Report |
Supports Operations and Maintenance |
Through Disposal |
Example Work Statement Language
Ensure work statement language does not conflict with data rights, intellectual property, or other elements of the contract and licensing agreements.
The Contractor shall ensure APIs are provided using existing open standards.
The Contractor shall ensure the base license provides modern APIs with associated documentation to ensure any data processed or produced within the platform is available externally. The APIs shall allow access either for licensed users or Non-Person Entities (NPE) for other Government managed software. NPE access shall be allowed via standard open source authentication processes which do not require any human intervention. The contractor shall include baseline program capabilities to all user groups with a Base License; this includes API access. (include any other data necessary for the program)
The Contractor shall deliver API documentation for (e.g. data sending/retrieval ) requests of third party applications in accordance with work defined at the order level.
Additionally, programs may consider developing a Section H Clause to ensure that necessary rights to data, data products, applications, code, or other content developed by the government or third parties remain with the government.
Acquiring Innovative Software Solutions
Reference Source: OUSD (A&S) Guidance
There is a continuing need for DoD to acquiring innovative solutions, especially in the continously evolving software development space. This includes incentivizing non-traditional contractors (NDCs) to do business with the Department. Modular contracting strategies (in conjunction with open architectures & APIs) create opportunities for NDC innovators to contribute individual capabilities to larger program objectives. The DoD can create opportunities to maximize participation by NDCs that will benefit SWP programs and foster innovation by:
Actively Finding and Engage NDCs
Shape strategies to enable broader interest and participation leveraging:
Addressing Barriers to Entry for NDCs
- Leverage CSO procedures and OT awards for flexibility to leverage commercial terms & conditions
- Leverage technical demonstrations, challenges, and oral proposals to assess vendor solutions in real time and reduce bid & proposal investments and cycle times
-
- Combine with phased evaluations and advisory down-selects to reduce the number of full proposals submitted and evaluated
-
- Consider CDRL alternatives, when appropriate, to reduce additional compliance requirements:
-
- Leverage DevSecOps environment/processes to deliver data
- Data Accession List (contractor data generated during work effort)
-
Issuing Tightly Scoped, Distinct Solicitations
- Embrace modular contracting to enable NDCs with specialties in the subject matter to submit proposals in response to specific elements of a program
- NDCs specializing in a certain field or a certain technology (e.g. DevSecOps specialist vs generic ‘Systems Integrator’) are more likely to bid, as contracts will not be weighed down with every single programmatic requirement
Streamlining Evaluation and Vendor Selection
Reference Source: OUSD (A&S) Guidance
There are numerous approaches that can be used to help ensure that the contractor/s selected for award will have the expertise to deliver the highest value solutions. These approaches are applicable beyond software development solutions, but are particularly helpful in assessing the capabilities of contractors in the software development space where requirements are less defined that those of traditional waterfall development projects. Some of the below examples are detailed in greater depth by the DHS Procurement Innovation Lab’s Bootcamp Workbook.
Standard written proposals are often not optimized for software development contract source selections. Although it may require more upfront planning, using an array of interactive source selection techniques (e.g., oral presentations, demonstrations, and/or challenges) offers a superior approach. These methods enable the Government to acquire better solutions by evaluating the technical expertise of contractors versus rewarding firms who can articulate a proposal well. These techniques also enable vendors to demonstrate their portfolio of technical capabilities.
Industry has a strong preference for well-designed and meaningful challenge events, including technical demonstrations and oral presentations, instead of delivering traditional paper proposals and enduring lengthy source selections. Meaningful challenges and oral proposals focus on the Agile and DevSecOps process. They enable the government to evaluate vendors in action and often to interact with the key technical persons that will be supporting the effort in execution. They can also streamline source selection timeframes and accelerate time to contract award by reducing the number of full proposals the government must evaluate.
The following techniques may be used individually or combined to craft an approach tailored for a program’s specific objectives.
Oral Presentations
Objective: Allow the program technical staff to see and hear proposed solutions from the team that would perform the work which provides a much more in-depth perspective of the proposed offer. This technique can provide greater confidence that the company understands the technical requirement.
Oral presentations generally enable offerors, particularly in the software space, a better opportunity to showcase their capabilities and differentiate themselves than written proposals.
DO:
- Includeon‐the‐spot questions.
- Add a twist by interrupting their pitch with a particular scenario for them to address.
- Use consensus evaluations immediately following each offeror’s oral presentation.
- State that a contractor/ subcontractor may attend only one oral presentation.
- Eliminate offerors via competitive range determination if the number of offerors is excessive.
- Pair with multi-phase evaluations to ensure that only the most competitive offers go through the oral presentation process. Oral presentations can be costly and time consuming for both industry and government.
- Consider inviting the end user or customer to the presentation to gain valuable insight that either supports or negates the proposal’s key points.
- Tailor oral presentations to the most impactful technical topics. Oral presentations that have been rehearsed and scripted rarely translate into anything besides a waste of bid & proposal dollars in which companies could find the best actors to put on stage.
- Consider pop-quiz style orals where each team brings their key personnel, and the government gives them 3-5 questions or scenarios and gives them an hour to respond.
DO NOT:
- Require the offeror to cover ALL aspects of the requirements document; rather, focus on the most important aspects and go into detail!
- Leave ambiguity in the solicitation concerning rules or format for the orals.
- Assume that you must record the presentation – there are several possibilities.
- Allow the offeror’s presenters to use electronics or phones for reach back.
- Duplicate work by asking for a detailed written proposal and a detailed oral presentation.
Product or Technical Demonstrations
Objective: Used to see, feel, and test out a product/system. This technique can help reveal a companies’ true capabilities. Demonstrations can also streamline the selection process and lower bid and proposal costs.
DO:
- Use as either a stand‐alone factor or an element of the oral presentation.
- Include a ‘test plan’ in the solicitation so industry knows what is being tested.
- Ensure end‐users are included in the evaluation, as their feedback is crucial.
- Pair with confidence level ratings.
DO NOT:
- Substitute the demonstration as the entirety of the technical proposal as there are other elements that will likely need to be considered.
- Require contractors to duplicate the demonstration in a technical proposal.
Challenges/Challenge-Based Acquisition
Objective: Challenges or Challenge-Based Acquisition (ChBA) offers a low-risk and high-reward strategy for tapping into industry’s innovative capabilities and keeping end-users closely engaged in the acquisition process. ChBA acts as an acceleration and innovation strategy, reducing execution risk early in the acquisition lifecycle and increasing the likelihood of more quickly delivering tailored capability that the end-user needs. Challenges also help ensure that the government is able to integrate leading-edge technology and deliver solutions deliberately targeted to meet end-user needs, with end-users providing immediate and continuous input and feedback throughout the acquisition process.
Challenges enable programs to acquire solutions when the problem sets are framed as needs and potential vendors are free to innovate solutions to meet those needs. Challenges provide an opportunity for vendors to demonstrate capabilities to meet operational needs, and challenge demonstrations may include operationally-relevant demonstrations or proofs of concept. Challenges enable vendors to showcase their talents, highlight their capabilities, and apply their innovative thinking; moreover, it affords the Government an excellent opportunity for evaluating execution risks.
Challenge-Based Acquisition – Version 5
DO:
- Tailor challenges to focus on the core needs of the program. Have vendors showcase capabilities and innovations that isolate core execution risks.
- Include detailed question and answer sessions as part of the Challenge – offer vendors an opportunity to demonstrate their unique value and capabilities.
- Frame challenge scenarios as problem statements. Allow vendors the freedom to innovate!
- Plan for the logistical complexities associated with hosting challenges. Practice with the team ahead of time and ensure that each member of the evaluation team understand their role. Perform detailed training, as needed.
- Employ a technically diverse assessment team that will understand the nuance of various presented solutions.
- Pair ChBA with multi-phase down-select techniques. Ensure only the most competitive vendors go through the challenge process.
- Focus challenges on risky areas such as: Building a small proof of concept that demonstrates vendor capabilities, demonstrating vendor approaches to agile development, or simulating an agile development activity.
- Balance and assess both Software Development abilities and Mission-oriented capabilities. Assess both how and what the vendor builds.
- Require vendors to show their work in any “take-home” type of challenge. Have vendors deliver artifacts generated from their process (e.g., agile tickets, code reviews, a README instruction file, and/or a source code repository).
- Consider Technical challenges where the government provides a list of stories and a timeframe of either a day (usually in-person) or a week and the vendor teams build the best prototype they can in the allotted time.
DO NOT:
- Limit a challenge to a “coding challenge” – ChBA is about harnessing the power of innovation and capabilities, not a coding competition.
- Create challenges that will be difficult or time consuming to evaluate. For example, requesting detailed code may provide some insight, but make sure that the resources to evaluate such code are available.
- Substitute the demonstration as the entirety of the technical proposal as there are other elements that will likely need to be considered.
- Award prizes for a challenge. ChBA is about awarding contracts as a result of the challenge selection process.
Resources
- Agile Assessment Guide: Best Practices for Agile Adoption and Implementation Revised, GAO-24-105506, Nov 2023
- De-Risking Government Technology: Federal Field Guide 18F, Federal Field Guide(pdf), GSA/18F, Sep 2020
- Agile Software Acquisition Guidebook, OUSD A&S, Feb 2020
- DoD Cloud Computing Acquisition Guidebook(pdf), Defense Acquisition University, Nov 2019
- Contracting Considerations for Agile Solutions: Key Agile Concepts and Sample Work Statement Language, OUSD (A&S), Nov 2019
- An Agile Software Development Solicitation Guide,18F/GSA, Aug 2019
- Prerequisites for Modular Contracting,18F/GSA, Feb 2019
- TechFAR Handbook, or pdf, US Digital Service, 2014
- Digital Services Playbook, US Digital Service, 2014
- Statement of Objectives Template, 18F/GSA
- Sample Quality Assessment Surveillance Plan (QASP), 18F
- Agile Acquisition 101 Video (Increment 1), April 2018 and updated video (Increment 2), Jun 2018
- Contracting for Change, Feb 2019
- Contracting – The Complexity Level Approach, Feb 2019
- Understanding Agile Software Development, Jan 2020
- Contracting – The Capacity Team-Based Approach, Jan 2020
- Understanding Agile Project Management – Jun 2020
- DoDI 5010.44 Itellectual Property (IP) Acquisition and Licensing, Oct 2019
- Creating Incentivized Agile Contracts, DAU, Jul 2021
- Contracting for Agile Software Development in DOD, SEI
- DAU Functional Area: Contracting
- DAU Community of Practice: Intellectual Property and Data Right