Software Acquisition

New IDIQ Contract

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.



Example Language for Establishing a New Agile Services IDIQ Contract

Reference Source: OUSD (A&S) Guidance

The following are examples of Performance Work Statement (PWS) language. They do not constitute a full PWS and are intended to provide examples that can be customized for specific contract requirements.

The following questions may be considered when developing the objective and the technical details for an IDIQ:

  • What are the requirements for access by the government to the code?
  • How will intellectual property rights be handled?
  • Will the code be developed within a government hosted environment or a contractor hosted environment?
  • What is the agile methodology to be used?
  • Will the government provide the infrastructure supporting the development or is the contractor required to supply the infrastructure?
  • What are the requirements for user manuals and training?
  • What governance practices will be required to support the requirement?

IDIQ Objectives Examples

This IDIQ will support the Government’s modernization initiatives by ensuring the Government has streamlined access to the modern commercial services required to deliver digital products to the Government’s internal and external users. Successfully delivering such products often requires the Government to obtain commercial agile delivery services supported by teams with capabilities in user-centered design, user research, product management, agile application development, Application Programming Interface (API) development, automated testing, cloud infrastructure design and management, continuous integration/continuous delivery (CI/CD), and/or Development Security Operations (DevSecOps).

The objective of this effort is to provide the Government with a streamlined enterprise-wide method to obtain such agile services. Specifically, the IDIQ will meet the following goals:

  1. Establish a streamlined and common contracting vehicle that will provide the Government access to contractors specializing in agile services including user-centered design, user research, product management, agile software development, API development, automated testing, cloud infrastructure design and management, continuous integration/continuous delivery, and agile development.
  2. Allow for services to be delivered in a rapid-cycle fashion, in accordance with industry best practices.
  3. Support the execution of multiple digital modernization efforts by providing the Government a simplified method to add specific and specialized commercial capabilities.
  4. Ensure the Government can rapidly adopt industry best practices.

The contractor(s) shall provide the Government with teams that shall deliver viable, digital solutions in support of the Government’s strategic mission and objectives. The specific nature of the capabilities required for each team will be articulated at the Task Order level. However, it is expected that a typical agile delivery team requested under this IDIQ will require the contractor provide multi-disciplinary teams with members having expertise in product management, agile software development, user research, UX strategy, and User Interface (UI) and visual design.

The Contractor shall design, develop, configure, customize and deploy solutions to some of the Government’s most pressing challenges. Once deployed, the Contractor shall provide production support of the solution as required. The Contractor shall deliver modern digital services that use DevSecOps techniques that embrace CI/CD. The Contractor shall deliver secure and tested modern mobile and web application designs using automated testing frameworks.

The Contractor shall provide support to projects that are developing new systems as well as projects that are modifying or replacing, existing systems. The Contractor shall be familiar with current and emerging technologies, COTS products, services, programming languages and processes required to deliver high-quality products.

The Contractor shall:

  1. Deliver high-quality, functional products that are measured by user feedback from surveys, research, etc.
  2. Be agile. Incorporate Agile methodologies and ceremonies into work, such as (but not limited to) sprint planning, daily scrum, sprint review, sprint retrospective, backlog grooming, and estimating activities.
  3. Actively involve users in the design of all solutions. Incorporate best practices for modern user research and usability testing, such as (but not limited to) creating user personas, problem space definitions, affinity maps, user flow diagrams, wireframes, information architecture diagrams, design prototypes, user research plans, conversation guides, and user research synthesis.
  4. Maintain a consistent look, feel, and voice across user facing sites and services.
  5. Personalize solutions for the individual or team using the product.
  6. Optimize web applications for mobile-first operation, with all solutions being equally available on both mobile and desktop whenever possible. Incorporate robust accessibility principles into design, development and testing for all web applications to deliver high-quality digital experiences to users of assistive devices.
  7. Protect user information with best-in-class security, given the constraints of the environment.
  8. Use DevSecOps techniques of CI/CD across all environments including, at a minimum, development, staging, and production.
  9. Use automated testing frameworks to create unit tests, integration tests, functional/black box tests, and load tests (or their equivalents as applicable) to test 100% of functionality delivered. Strive for compliance with Test Driven Development practices.
  10. Ensure configuration and sensitive data, including data the Government defines as sensitive, are not present in source code, and are stored in encrypted credential management systems.
  11. Deliver all code not containing configuration or sensitive data to a Government-approved repository.
  12. Cultivate a positive, trusting, and cooperative working relationship with the Government and all other vendors supporting this work.

Technical Functional Area Examples

Example: User Research and User Story Collaboration Detail

The contractor shall use a range of qualitative and quantitative user research methods to determine people’s goals, needs, and behaviors. If requested in the Task Order, the contractor shall have the ability to recruit test users from a variety of backgrounds for the purpose of conducting the research. This research shall be documented in a form that the Government and other contractors can easily access and learn from. The contractor shall work with the product owner or other Government staff to generate and prioritize user stories based on this research.

Example: User-Centered Design Detail

The contractor shall design digital services that help people easily complete the desired tasks. Work will include UX strategy, UI and visual design, rapid prototyping, and front-end engineering. Contractors shall implement the government-approved design guides for work performed.

The contractor shall work with stakeholders to develop written plain-language content that is easy for people to understand while accurately describing processes, requirements and other content. Content shall be tested with users to ensure it is easily understood. Contractors shall implement the government approved style guide as a default for work performed.

Example: Agile Software Development Detail

The contractor shall develop software in an iterative style following the modern best practices described in the Digital Services Playbook or other approved best practice. Specific technologies to be used (if known) will be communicated at the Task Order level but will commonly include industry-standard web programming languages and frameworks such as JavaScript, Ruby, Java, and .NET; or COTS products and platforms that can be used or adapted to meet the Government’s needs. Specific capabilities to be delivered by a team will be defined at the Task Order level, but may include developing/modifying responsive web applications, developing/modifying REST APIs, and developing/modifying native mobile applications. Activities may include writing custom software, configuring Software as a Service (SaaS) platforms, or configuring COTS products to support specific objectives.

Software developed under this IDIQ will be covered by automated unit and integration tests, and all software and configurations created under the IDIQ will be developed in a modern software version control system specified by the Government. Contractors shall use both code reviews and automated checks to ensure software quality. The Contractor shall monitor industry trends and propose suitable technologies to the Government to implement requested functionality.

Example: Product Management Detail

The contractor shall provide the oversight, planning and strategy to design, develop, and deliver products. This includes defining and managing product roadmap definitions and life cycles to ensure productivity throughout the entire product life cycle from idea to marketing and post-launch product phases, with a clear and complete product view throughout.

Example: Automated Testing Detail

The contractor shall create and maintain an automated test suite for the purposes of performing automated unit, functional and integration testing on all user stories and for ongoing regression testing to ensure functionality and quality of the overall system. These automated tests shall be integrated into the continuous integration workflow, such that new features delivered do not break existing capabilities and can be verified with new automated tests.

Example: Usability Testing Detail

The contractor shall evaluate products delivered by the team by testing them with users throughout the development lifecycle. This includes but is not limited to performing accessibility testing. Findings from usability testing shall be used to iteratively improve the products.

Example: Customer Support Detail

The contractor shall ensure users can get support for the products it delivers. As specified in the Task Order, the Contractor shall ensure existing Government customer-support channels have the information, training and system access required to provide support, and if specified may be requested to provide direct Tier 1, 2 and/or 3 customer support capabilities.

Example: DevSecOps Requirement

The contractor shall work collaboratively and cross functionally with engineering, security and operations to implement CI/CD, security accreditation, production monitoring, and production support. The Contractor shall support its own code while in production. The contractor shall be experienced with modern commercial cloud environments and tools and have experience with government security requirements and deploying code to testing, staging, and production in a commercial cloud environment.

Example: Integration Support Requirement

The contractor shall integrate open source, COTS, Government Off the Shelf (GOTS) and/or SaaS solutions into existing, custom built, or new systems and provide configuration, customization and implementation services. The Contractor shall also integrate with other government systems using modern standards-based communication protocols and data formats.

Example: Cross-Functional Collaboration Requirement

The contractor shall participate in integrated program, project, or product teams and agile teams to enhance communication, share lessons learned and facilitate rapid identification of dependencies between various functional entities to ensure that the projects deliver the right solutions and value to the business and end-users. This collaboration may include coaching product teams as directed in support of Government attempts to stand up or execute an agile project.

Example: Metrics Reporting and Analytics Requirement

The contractor shall develop and communicate project metrics. This may include both metrics about the delivery of the products, such as agile burn down charts, release roadmaps, and schedule, as well as analytics about product usage, such as number of users or transactions. It is expected that all capabilities delivered under this IDIQ will be instrumented with system monitoring, error tracking, and user analytics.

Example: Terms and Definitions

The following terms and definitions are an initial list to be considered for inclusion in an IDIQ for Agile Services.

Licensee. The term “licensee” shall mean the [Add Organization] and is synonymous with “Government.”

Licensor. The term “licensor” shall mean the contractor having the necessary license or ownership rights to deliver license, software maintenance and support of the computer software being acquired. If the contractor is a reseller and not the Licensor, the contractor remains responsible for performance under this order.

Software. The term “software” shall mean the licensed computer software product(s) cited in the Schedule of Supplies/Services.

Maintenance. The term “maintenance” is the process of enhancing and optimizing software, as well as remedying defects. It shall include all new fixes, patches, releases, updates, versions and upgrades, as further defined below.

Technical Support. The term “technical support” refers to the range of services providing assistance for the software via the telephone, email, a website or otherwise.

Release or Update. The term “release” or “update” are terms that refer to a revision of software that contains defect corrections, minor enhancements or improvements of the software’s functionality. This is usually designated by a change in the number to the right of the decimal point (e.g., from Version 5.3 to 5.4). An example of an update is the addition of new hardware.

Version or Upgrade. The term “version” or “upgrade” are terms that refer to a revision of software that contains new or improved functionality. This is usually designated by a change in the number to the left of the decimal point (e.g., from Version 5.4 to 6).

Example: Deployment Activities Detail

The contractor shall plan, create and validate the implementation and deployment of scripts for use during application deployment, and provide release planning and management support. Deployments should not require any planned or unplanned downtime or outages.