Sec. 874. Software development pilot program using agile best practices
940 words·~4 min read·
/bill/115/hr/2810/enr/section-874·A research copy — for the controlling text, always check the official state or federal source. Not legal advice.
Not later than 30 days after the date of the enactment of this Act, the Secretary of Defense shall identify no fewer than four and up to eight software development activities within the Department of Defense or military departments to be developed in a pilot program using agile acquisition methods. Software development activities identified under subsection
(a)shall be selected for the pilot program and developed without incorporation of the following contract or transaction requirements: Earned value management
(EVM)or EVM-like reporting. Development of integrated master schedule. Development of integrated master plan. Development of technical requirement document. Development of systems requirement documents. Use of information technology infrastructure library agreements. Use of software development life cycle (methodology). Selected activities shall include the following roles and responsibilities: A program manager that is authorized to make all programmatic decisions within the overarching activity objectives, including resources, funding, personnel, and contract or transaction termination recommendations. A product owner that reports directly to the program manager and is responsible for the overall design of the product, prioritization of roadmap elements and interpretation of their acceptance criteria, and prioritization of the list of all features desired in the product. An engineering lead that reports directly to the program manager and is responsible for the implementation and operation of the software. A design lead that reports directly to the program manager and is responsible for identifying, communicating, and visualizing user needs through a human-centered design process. The Secretary shall establish qualifications for personnel filling the positions described in paragraph
(1)prior to their selection. The qualifications may not include a positive education requirement and must be based on technical expertise or experience in delivery of software products, including agile concepts. The program manager shall ensure the availability of resources for test and certification organizations support of iterative development processes. The Secretary of Defense shall develop a plan for each selected activity under the pilot program. The plan shall include the following elements: Definition of a product vision, identifying a succinct, clearly defined need the software will address. Definition of a product road map, outlining a noncontractual plan that identifies short-term and long-term product goals and specific technology solutions to help meet those goals and adjusts to mission and user needs at the product owner’s discretion. The use of a broad agency announcement, other transaction authority, or other rapid merit-based solicitation procedure. Identification of, and continuous engagement with, end users. Frequent and iterative end user validation of features and usability consistent with the principles outlined in the Digital Services Playbook of the U.S. Digital Service. Use of commercial best practices for advanced computing systems, including, where applicable— Automated testing, integration, and deployment; compliance with applicable commercial accessibility standards; capability to support modern versions of multiple, common web browsers; capability to be viewable across commonly used end user devices, including mobile devices; and built-in application monitoring. The Secretary shall ensure that each selected activity includes— award processes that take no longer than three months after a requirement is identified; planned frequent and iterative end user validation of implemented features and their usability; delivery of a functional prototype or minimally viable product in three months or less from award; and follow-on delivery of iterative development cycles no longer than four weeks apart, including security testing and configuration management as applicable. The Secretary shall ensure that the selected activities— use a modern tracking tool to execute requirements backlog tracking; and use agile development metrics that, at a minimum, track— pace of work accomplishment; completeness of scope of testing activities (such as code coverage, fault tolerance, and boundary testing); product quality attributes (such as major and minor defects and measures of key performance attributes and quality attributes); delivery progress relative to the current product roadmap; and goals for each iteration. No funds made available for the selected activities may be expended on estimation or evaluation using source lines of code methodologies. The Secretary of Defense may not use lowest price technically acceptable contracting methods or cost plus contracts to carry out selected activities under this section, and shall encourage the use of existing streamlined and flexible contracting arrangements. Not later than 30 days before the commencement of a software development activity under the pilot program under subsection (a), the Secretary shall submit to the congressional defense committees a report on the activity (in this subsection referred to as a pilot activity ). The report on a pilot activity under this paragraph shall set forth a description of the pilot activity, including the following information: The purpose of the pilot activity. The duration of the pilot activity. The efficiencies and benefits anticipated to accrue to the Government under the pilot program. Not later than 60 days after the completion of a pilot activity, the Secretary shall submit to the congressional defense committees a report on the pilot activity. The report on a pilot activity under this paragraph shall include the following elements: A description of results of the pilot activity. Such recommendations for legislative or administrative action as the Secretary considers appropriate in light of the pilot activity. In this section: The term agile acquisition means acquisition using agile or iterative development. The term agile or iterative development , with respect to software— means acquisition pursuant to a method for delivering multiple, rapid, incremental capabilities to the user for operational use, evaluation, and feedback not exclusively linked to any single, proprietary method or process; and involves— the incremental development and fielding of capabilities, commonly called spirals , spins , or sprints , which can be measured in a few weeks or months; and continuous participation and collaboration by users, testers, and requirements authorities.