GSA/christopher

View on GitHub
_guides/Agile_Contracts_PWS_Template.md

Summary

Maintainability
Test Coverage
---
title: Agile Contracts- PWS Template
category: Agile
audiences:
  - Developers
  - Designers
  - Project Managers
---

<style>
  table {
    width: 100%;
    table-layout: fixed;
  }
</style>

This content provides contract language guidelines and is intended to serve as a template for the government representative during the development of a Performance Work Statement (PWS) under an Agile BPA. The sample language provided here can be used to clearly outline and communicate the background, objectives, and delivery requirements of the intended product / service in-line with an Agile delivery process.

[GSA Tech Guides](https://tech.gsa.gov/guides/) also provides additional content and guidelines that delve further into and provide concrete tools/techniques on requirement breakdown and relevant sizing approaches to encourage delivery on an Agile project. Some example content include:

* [Conducting an Agile Project](https://tech.gsa.gov/guides/conducting_an_agile_project/)
* [Managing Requirements in an Agile Environment](https://tech.gsa.gov/guides/managing_requirements/)
* [Defining When a Requirement is Complete](https://tech.gsa.gov/guides/requirements_complete/)
* [Estimation and Relative Sizing](https://tech.gsa.gov/guides/estimation_and_storypointing/)

Moreover, [Interview Questions for Agile Vendors](https://tech.gsa.gov/guides/Agile_Contracts_Interview_Questions_for_Agile_Vendors/) and Specific [Agile Roles](https://tech.gsa.gov/guides/AgileContracts_Interview_Questions_for_Agile_Roles/) contents provde further guidance for GSA staff on what to inquire and expect from contractors during the vetting process.

# PERFORMANCE WORK STATEMENT (PWS) TEMPLATE

**[DOWNLOAD PWS Template]({{site.baseurl}}/assets/downloads/AgileContractsPWSTemplate.docx)**

<h2>Background</h2>

<p>[Provide background for the Task Order, outline why the contractor team would want to work on this and who the major user groups would be]</p>

<h2>Scope</h2>

<p>[Provide scope of work for Task Order]</p>

_Sample Scope Statement_

<p><i>The scope of this task order is for the Contractor to deliver the {name of product / system}
The preceding high-level requirements must be met in order to fulfill the objectives of this task order and may be refined     adaptively over the course of the effort to continuously meet specified user needs. User needs will be prioritized based on business value and technical dependencies in {name of application used for managing the product backlog}.</i></p>

<h2>Performance Objectives</h2>

<p>[Use this section to outline Objectives for the Task Order. Objective summarizes the Product Vision, High-level technical functions, high-level business functions, Primary end-users and their high-level needs (if applicable), the development approach and description of systems to be used (if applicable), ongoing process for evaluating and determining changing scope]</p>

_Sample Objective Statement_

<p><i> "{Name of organization} is seeking the creation of {feature name} prototype of {name of system}. The new {name of system} will {desired high-level functionality} and meet evolving requirements while leveraging Agile best practices in software development including but not limited to; open source code, human-centered design, and with an extensible infrastructure and robust communication between the product sponsor and the project team.” </i></p>
<p><i> “A minimum viable product (MVP) of this system is expected within the first {Time frame} under this task order. It is the Agency’s desire that the critical components, which are defined as “must haves” in priority (see {section name requirements}), are included to the greatest extent possible in the MVP. The MVP, which emerges out of user testing, must fall within the scope of the Product Vision as described in the statement of work or statement of objectives. Examples of high-level user stories include, “As a program manager, I would live to view a list FedRamp approved applications online so that I can invest on the right tools for my projects"</i></p>

<h2>Constraints</h2>

<p>[Provide technical constraints here]</p>

_Sample Constraint Statement_

<p><i> "Contractor shall adhere to US Web Design Standards or other development standards as developed by the 18F team.
As part of this being purchased off of the Agile Blanket Purchase Agreement (aBPA), work will be conducted in two-week sprints and reviewed at the end of each sprint for acceptability before moving on. The contractor and government may mutually agree to alter sprint length as needed. The contractor will not be responsible to perform the following: {add here} e.g. Hosting development environments"</i></p>

<h2>Roles and Responsibilities</h2>

<h3>Contracting Officer (CO)</h3>

<p>[Add specific roles here]</p>

_Sample Contracting Officer Language_

<p><i> "The Contracting Officer (CO) is responsible for monitoring call order contract compliance, contract administration, and cost control and for resolving any differences between the observations documented by the Government and the contractor. The CO will designate, at a minimum, one (1) CO’s Representative (COR) or one (1) Alternate CO’s Representative (ACOR) as the Government authority for performance management, based on the complexity of the services measured, as well as the contractor’s performance."</i></p>

<h3>Procurement Manager</h3>

<p>[Add specific roles here]</p>

_Sample Procurement Manager Language_  

<p><i> "The Procurement Project Manager is the interface between the requiring organization (GSA 18F) and contracting organization. The Procurement PM coordinates technical aspects of the contract with the COR / ACOR and CO, assists with contract administration, ensures client acceptance of services, and reviews invoices for payment."</i></p>

<h3>Product Lead</h3>

<p>[Add specific roles here]</p>

_Sample Product Lead Language_  

<p><i> "The Contractor shall provide a Project Lead as the primary point of contact for the coordination between the contractor, the Product Owner, as well as the CO and COR / ACOR. The Project Lead’s responsibilities include:</i></p>

* _Coordination with the contracting organization’s program office to enable timely problem resolution,_
* _Properly aligning staffing requirements_
* _Facilitating product reporting in line with Agile delivery methods
Per Agile development principles, the Contractor’s Project Lead will be expected to work with the 18F Product Owner and Scrum Master to develop Product / Sprint plans and reporting in line with Agile delivery approaches."_

<h3>Product Owner (PO)</h3>

<p>[Add specific roles here]</p>

_Sample Product Owner Role Statement_

<p><i> "The Product Owner is the project’s key stakeholder and is from the Federal product line team. The PO shall be responsible for having a vision of what product team wishes to build, and convey the vision to the contractor’s scrum or development team. The PO’s  responsibilities include, but are not limited to, the following:</i></p>
<p><b>Creating and Managing the Product Backlog:</b> The PO is responsible for delivering and maintaining the Product backlog with a complete with a prioritized list of features containing descriptions of desired functionality of the product.
<b>Providing clarification on requirements during Agile ceremonies:</b> Working with the Scrum Master, the PO shall hold recurring backlog refinement sessions to continuously refine and prioritize requirements and decision-making during sprint planning and implementation. The PO shall ensure the sprint backlog is created with the highest priority work to deliver the product.
<b>User Acceptance Review:</b>The Product Owner shall work with the COR / ACOR to inspect and accept / approve Contractor work delivered each sprint."</p>

*The PO role should be filled from the Federal side as a representative of the needs of the sponsoring business line.*

<h3>Scrum Master</h3>

<p>[Add specific roles here]</p>

_Sample Scrum Master Role Statement_  

<p><i> "The Scrum Master is responsible for facilitating Agile ceremonies and discussions among development and customer team members. They are responsible for coaching the team on the Scrum processes and removes impediments for the team. Scrum Master Role activities include, but are not limited to, the following:</i></p>

<p><i><b>Facilitate Scrum Meetings:</b> The Contractor is to coordinate and facilitate scrum meetings, such as, Sprint planning, Backlog Refinement, Sprint Reviews and Sprint Retrospectives and provide just enough records.</i></p>
<p><i><b>Team Performance and Metrics:</b> the Contractor works with product leadership and the team to define relevant metrics that are formulated and utilized for meeting project objectives.</i></p>
<p><i><b>Team Coaching and Coordination:</b> When appropriate, the Scrum Master shall plan and coordinate trainings and coaching for the team on the Scrum processes. The Scrum Master serves the Product Owner Ensuring the Product Owner knows how to arrange the Product Backlog to maximize value"</i></p>

*This role should be filled from the Federal side as a representative of the needs of the sponsoring business line."*

<h3>Technical Lead</h3>

<p>[Add specific roles here]</p>

_Sample Technical Lead Language_  

<p><i> "The 18F Technical Lead is responsible for coordination between the contractor’s development team, the Product Owner and the key technical stakeholders."</i></p>

<h2>Operational Requirements</h2>

<h3>Personnel - Skills and Knowledge</h3>

<p>[Add specific skills and knowledge required here]</p>

_Sample language on Skills and Knowledge_  

<p><i> "The contractor shall provide qualified personnel with relevant experience and domain knowledge in line with this task's performance work statement, in terms of necessary skills at the requisite level of knowledge and experience. Broadly, a team assigned to build the {product name} is expected to have experience with:</i></p>

* _{List relevant domain here} e.g. building and testing web-based or mobile applications: user-centric design practices, usability testing, User experience design, Visual design, Specific code languages, Cloud deployment, Open-source login / authentication services, Agile and scrum methodologies, etc."_

<h2>Deliverables</h2>

<p>[Add specific details here]</p>
<p><i> "The Contractor is required to provide the following deliverables within the designated timeframes:</i></p>

_Sample Deliverables table below_

| **Section(s)** | **Deliverable** | **Due Date** | **Delivery Method** |
|----------------|-----------------|--------------|---------------------------|
| # | Product Backlog | Beginning of each sprint | Electronic / visual board accessible via web (e.g. JIRA, Trello, etc.) |
| # |Design Deliverables | End of every applicable sprint | Mock ups and / or design files (if applicable) or design changes reflected in the Development Prototype|
| # |Development Prototypes | End of second sprint, and every sprint  | accessible on the web via staging server  /  development server|
| # |Reports | One business day after each sprint | Demo of product increment, Sprint performance metrics, etc.|
| # |Transition plan | # business days before the conclusion of the second-to-last sprint | See transitions Section |
| # |Code Repository of Product - Version controlled | End of call order|Version-controlled Open Source repository of code that comprises product that will remain in the public domain |

<h2>Review and Acceptance</h2>

<p>[Add specific details applicable to review of deliverables and acceptance process here]</p>

_Sample Language for Acceptance and Inspection_
<p><i> Quality Assurance - "The Government will provide a Quality Assurance Surveillance Plan (QASP) to monitor the Contractor’s performance. The QASP will provide oversight help to ensure that service levels reach and maintain the required levels for performance of this task. Further, the QASP provides the COR with a proactive way to avoid unacceptable or deficient performance, and provides verifiable input for the required Past Performance Information Assessments. The QASP is a living document and may be updated by the Government as necessary. Any updates to the QASP will be provided to the Contractor."</i></p>

<p><i> "The Government and Contractor define acceptance of the deliverables as follows:</i></p>
<p><i>Deliverable passes all new automated and manual acceptance tests that were defined before the most recent iteration. Deliverable passes all prior automated and manual acceptance tests, verifying that no regression has occurred. Deliverable conforms to the “definition of done” that was defined before the iteration.</i></p>
<p><i>The customer/PO will have a period of one week within an iteration (“Evaluation Period”) after increments of a deliverable have been provided to verify that the Deliverable or part thereof is not deficient per acceptance criteria. The PO should notify Contractor prior to the expiration of the relevant Evaluation Period if the Deliverable or part thereof is deficient in any material respect (a “Nonconformity” pursuant to the definition of done or acceptance criteria agreed upon by the parties). The Contractor will correct such Nonconformity as soon as reasonably practical but no longer than the length of one iteration whereupon. The Government will receive an additional Iteration period (“Verification Period”) commencing upon its receipt of the corrected Deliverables or part thereof to verify that the specific Non-conformity has been corrected.”  
“The Contractor will also deliver the release test plan which is a step by step walkthrough of the functionality in the release and allows the user community to make notes and
comments regarding how that functionality can be improved and made more useable or defect-free. The Contractor shall work to correct all errors and increase usability. Comments that are delivered within [agreed # of days] of the release walkthrough shall be included in the subsequent deliverable/release.”</i></p>

<h2>Transitions</h2>

<h3>Transition Plan</h3>

<p>[Add specific details applicable to transitions here]</p>

<h3>Transition Activities</h3>

<p>[Add specific details applicable to transitions here]</p>

<h2>Travel and Other Direct Costs (ODC)</h2>

<p>[Add specific details applicable here]</p>

<h2>Terms and Conditions</h2>

<h3>Type of Contract</h3>

<p>[Add specific details applicable here]</p>

_Sample Language for Contract Type_  

<p><i> "This is a [labor-hour (LH) FFP, Hybrid, etc.] order under master Agile BPA (aBPA) terms and conditions"</i></p>

<h3>Period of Performance (POP)</h3>

<p>[Add specific details applicable here]</p>

_Sample Language for POP_  

<p><i> "“The Period of Performance (POP) includes a base period of 3 month, with 5 additional option periods, each 3 months in duration. Further, a contingency of up to 6 months may be exercised . The POP is expected to begin within 10 calendar days after award."</i></p>

<h3>Place of Performance</h3>

<p>[Add specific details applicable here]</p>

<h3>Contract Administration</h3>

<p>[Add specific details applicable here]</p>

<h2>Payment and Invoicing Procedures</h2>

<h3>Content of Invoice</h3>

<p>[Add specific details applicable here]</p>

<h3>Final Invoice</h3>

<p>[Add specific details applicable here]</p>

<h3>Close-out Procedures</h3>

<p>[Add specific details applicable here]</p>

**[DOWNLOAD PWS Template]({{site.baseurl}}/assets/downloads/AgileContractsPWSTemplate.docx)** for additional resources including *pricing templates*

**References**

* [The TechFAR Handbook for Procuring Digital Services Using Agile Processes](https://github.com/usds/playbook/blob/gh-pages/_includes/techfar-online.md)
* [Software Development: Effective Practices and Federal Challenges in Applying Agile Methods, Agile Contracts Primer](http://www.gao.gov/products/GAO-12-681) Tom Arbrogast, Craig Larman, and Bas Voddee,
* [Finding a Partner to Trust](http://www.agilecontracts.org) The Agile RFP, by Peter Stevens cited
* [Agile Services for the Enterprise, Statement of Work Template](http://www.methodsandtools.com) - GSA Alliant Shared Interest Group (SIG)
* [PERFORMANCE WORK STATEMENT (PWS)](https://github.com/18F/bpa-opm-eqip/blob/master/PWS.md) Electronic Questionnaires for Investigations Processing (e-QIP) Prototype Development