Skip to main content
Contracting

What a good statement of work contains

The statement of work is the document both sides keep reading long after the kickoff call is forgotten. Most are drafted in an afternoon and argued over for a year. Here is what belongs in one, section by section, with a skeleton you can adapt.

The document everyone actually reads

A statement of work gets written under time pressure, usually by whoever has the topic knowledge and the least contracting experience, and then it governs every disagreement for the rest of the period of performance. When a delivery goes badly, our team almost never finds a technology failure at the root. We find a sentence that two competent people read two different ways, and nobody caught it because the sentence sounded fine. This piece is for the person about to write one, whether it is going into a federal subcontract, a state task order, or a commercial master services agreement.

The test for a finished SOW is simple. Hand it to an engineer who was not in any of the meetings and ask what they would build, how they would know they were done, and what they would need from the customer on day one. If that person answers all three without asking you a question, the document is ready. If they answer with "well, it depends what they mean by," the document is not ready, and the ambiguity is now a schedule risk you have already agreed to carry.

Where SOW defects surface during delivery

Acceptance criteria that cannot be tested
92%
Data access with no named owner or date
88%
Deliverable format and medium undefined
84%
No written path for a scope change
78%
IP and data rights left to boilerplate
71%
Environment and access not scheduled
64%

Editorial weighting from public guidance and practitioner reading. Illustrative, not a measured statistic.

Pick the right instrument first

Federal buyers have three related documents and they are not interchangeable. A statement of work describes the work in terms of what the contractor will do. A performance work statement, defined at FAR 37.602, describes the required outcomes in measurable, mission-related terms and lets the contractor choose the method. A statement of objectives is shorter still and asks industry to propose the work approach, which the winning offeror's own PWS then becomes.

FAR 11.002 pushes agencies toward describing needs by function and performance rather than by design, and that instruction is good drafting advice everywhere, including commercial work. Specify the result you need and the constraints you cannot move. Specify the method only when the method itself is the requirement, such as a mandated authentication standard or a required data format. Every design detail you write into a SOW is a detail you have taken responsibility for, and if it turns out to be wrong, the fix costs a modification.

The contract type matters too. Under a firm-fixed-price arrangement, the SOW carries the entire risk allocation, so precision is worth every hour it takes. Under cost-reimbursement or time-and-materials, the SOW still defines what "done" looks like even though the money mechanism differs. Same document, different consequences for the same ambiguity.

Objectives a stranger can measure

The objectives section is where most drafts go soft. "Improve data quality" is a wish. "Reduce the rate of unmatched records in the nightly load from the current 14 percent to under 4 percent, measured on the January through March extract" is an objective. The second version tells the engineer what to build, tells the evaluator what to check, and tells both sides what a partial success looks like.

Write three to six objectives, no more. Each one gets a current-state number, a target number, the measurement method, and the dataset or population the measurement runs on. If you cannot state the current-state number, that is worth knowing before the contract starts, and the honest fix is to make the baseline measurement itself the first task with its own deliverable. Our engineers would far rather start a program with a funded two-week baseline than start one against a target nobody can evaluate.

Write the out-of-scope list first

Scope is defined by its edges. A section that lists only what is included leaves every adjacent system, every neighboring dataset, and every "while you are in there" request available for interpretation. Draft the exclusions before the inclusions and the inclusions get sharper.

Useful exclusions are concrete: named upstream systems the contractor will not modify, environments the contractor will not enter, user populations outside the pilot, data domains not covered, integrations deferred to a later option. Nobody is offended by an exclusion list at the drafting stage. Everybody is offended by one in month five.

Scope is defined by its edges. Draft the exclusions before the inclusions and the inclusions get sharper.

Tasks are work, not wishes

Number the tasks and keep them parallel in structure. Each task gets a verb the contractor performs, an object, a bounded quantity, and a named output. "Task 3.2: Build and document ingestion for the four source systems listed in Appendix B, producing a validated loader and a source-to-target mapping." That sentence is auditable. "Task 3.2: Support data integration activities" is a blank check written against the contractor's margin, and experienced firms price it accordingly.

Quantity belongs in the task, not in a side conversation. Four source systems, not "the source systems." Two model retraining cycles, not "retraining as needed." Six weekly working sessions, not "regular collaboration." When a number is genuinely unknown at signature, write the assumption with a threshold and a trigger, such as up to six interfaces, with any interface beyond six handled through the change process in Section 11.

Deliverables need a format, a medium, and a date

List deliverables in a table with five columns: identifier, description, format, delivery medium, and due date expressed as days after award rather than a calendar date that slips the moment the award slips. Format means the actual artifact. A "technical report" can be a four-page memo or an eighty-page study, and both parties will assume the one that suits them.

DoD work formalizes this through Contract Data Requirements Lists on DD Form 1423-1, with each item pointing at a Data Item Description that fixes the content and structure. Even on commercial work, the CDRL discipline is worth copying. Say whether source code is delivered as a repository transfer or an archive, whether models come with training code and weights, whether documentation is Markdown in the repository or a formatted PDF, and who holds the credentials at the end.

Acceptance criteria that are testable

This is the section that decides whether the last month of the program is calm or ugly. An acceptance criterion is testable when someone with no memory of the negotiation can run the test and get an unambiguous pass or fail. Everything else is a preference.

  • Names the artifact under test and the version or build it applies to.
  • States a threshold with a number and a unit, not a direction like "improved" or "faster."
  • Names the dataset or environment the test runs against, including whether it is holdout data the contractor has never seen.
  • Names who runs the test and who witnesses it.
  • Sets a review window, such as ten business days, after which the deliverable is deemed accepted if no written comments arrive.
  • Sets a cure path, such as one correction cycle of ten business days before the item is treated as nonconforming.

That deemed-accepted clock matters more than it looks. Without it, a deliverable can sit unreviewed while the schedule burns and the invoice waits. FAR Part 46 governs inspection and acceptance on federal work, and FAR 52.246-4 covers services under fixed-price arrangements, but the clause tells you the government has the right to inspect. Only your SOW says what inspection consists of.

For AI and analytics work, write the metric the way a statistician would. Precision and recall at a stated operating threshold, on a stated evaluation set, with a stated sample size. A single accuracy number with no denominator is not a criterion. We ask for the evaluation set to be defined and set aside before the build starts, which protects both sides: the customer gets a real test, and the delivery team gets a target that cannot move.

Sentence in the draftWhy it failsWhat to write instead
"The system shall be user friendly."No test exists. It becomes a taste argument at delivery."Eight of ten pilot users complete the three scripted tasks without assistance in a moderated session."
"Deliver a production ready pipeline.""Production ready" means a different thing to each party."Pipeline runs unattended for ten consecutive nightly cycles with zero manual interventions and alerting on failure."
"Achieve high accuracy on the classification task."No metric, no threshold, no evaluation set."Macro F1 at or above 0.85 on the 4,000-record holdout set frozen before build start."
"Customer will provide data as needed."No owner, no date, no consequence when it does not arrive."Named data owner delivers the four extracts in Appendix B within 10 days of kickoff; delay shifts the schedule day for day."
"Contractor shall support the transition."Unbounded effort with no end condition."Two 4-hour handover sessions, a runbook, and 30 days of email support capped at 20 hours."
"Minor changes will be handled cooperatively."Every change becomes a negotiation with no forum and no record."Changes follow Section 11; work outside the signed scope begins only after a written modification."

Data access with a named owner and a date

The single most reliable predictor of a program that stalls is a SOW that treats data access as an administrative detail. Access is a schedule item with a dependency chain, and it belongs in the document with a human name attached.

Write four things for every data source: the person or role who owns the release decision, the exact date access is due relative to kickoff, the mechanism, and the consequence if it slips. The mechanism is the part people skip. A "database extract" can mean a nightly CSV drop into a bucket the team already has, or it can mean a new interconnection agreement, a security review, and a signed data use agreement with a privacy office that meets monthly. Those are different by a full quarter.

Then write the slip clause. Something as plain as "if access is delayed beyond the date in Table 4, the affected task schedule shifts day for day and the parties will review the period of performance at the next status meeting" removes the entire class of arguments where one side absorbed a delay it did not cause. We ask for that clause on every engagement, and we have never had a serious customer refuse it, because it protects them just as much when the dependency runs the other way.

Government-furnished items and environments

Anything the customer hands over gets listed: data, software licenses, hardware, test articles, credentials, VPN accounts, workspace, and the development or test environment itself. On federal work, government property carries its own clause at FAR 52.245-1 with real accountability obligations, so vague furnishing language creates compliance exposure, not just schedule risk.

Environments deserve their own line. Say which environment the work happens in, who provisions it, what the onboarding steps are, and how long those steps historically take. A cloud account inside an agency boundary can take weeks to stand up. If the SOW quietly assumes it takes a day, the first month of a six-month program is already gone.

Assumptions and constraints, written down

Every proposal contains assumptions. The only question is whether they live in the estimator's head or in the signed document. Put them in a numbered list, keep each one to a sentence, and make each one falsifiable: the number of interfaces, the availability of a subject matter expert for a stated number of hours per week, the stability of a named upstream schema, the absence of a new accreditation requirement, the remote-work posture, the response time for reviews.

Constraints are the other half. Regulatory constraints, security classification, data residency, accessibility obligations under Section 508, uptime windows that block deployment, and any customer freeze period. A constraint that appears for the first time in month three is a change in scope even when everyone insists it was always obvious.

Change control before you need it

Change control is cheap to write and expensive to omit. It needs four elements: who may request a change, who may approve one on each side, what the written record looks like, and what happens to schedule and price. Give it a short form. A one-page change request with the description, the technical impact, the hours, the cost, and the schedule effect, signed by both approvers, is enough for most programs.

The clause behind the clause

On federal work, only the contracting officer can change the contract

The Changes clauses at FAR 52.243-1 for fixed-price and FAR 52.243-2 for cost-reimbursement give the contracting officer the authority to direct changes in writing. A technical point of contact asking for extra work in an email is not a modification. Work performed on that basis is an unauthorized commitment, and recovering payment runs through the ratification process at FAR 1.602-3, which nobody enjoys. Name the contracting officer and the technical representative separately in the SOW, and state plainly which one can change scope.

Intellectual property and data rights

IP is the section most often left to whatever the template said. That is a mistake in both directions, because the default answer is frequently fine and knowing it is fine takes ten minutes.

For DoD noncommercial deliverables, technical data rights run through DFARS 252.227-7013 and computer software through DFARS 252.227-7014, with the standard categories being unlimited rights, government purpose rights, and limited or restricted rights. Government purpose rights typically convert to unlimited after five years unless the parties negotiate otherwise. Anything developed exclusively at private expense that you intend to protect has to be identified up front through the assertions table at DFARS 252.227-7017, and an assertion made after award is worth very little. Civilian agencies generally work from FAR 52.227-14, Rights in Data.

SBIR and STTR deliverables are their own case. SBIR data rights protect the small business for twenty years from award under the SBIR and STTR Policy Directive, carried in DoD contracts through DFARS 252.227-7018, and those rights follow the data into follow-on work. Patents on subject inventions follow Bayh-Dole at 35 U.S.C. 200 through 212 and 37 CFR Part 401, which lets the contractor elect title while the government keeps a paid-up license, with disclosure and election deadlines that are firm.

For commercial and state work, write three sentences: what the customer owns outright, what the contractor retains as pre-existing or general-purpose material, and what license each side gets in the other's material. Background IP that a firm brings to every engagement should be named as background IP, not silently absorbed. A clean paragraph here prevents the deal from dying in legal review two weeks before start.

Security, CUI, and who may touch the data

If controlled unclassified information is in play, the SOW says so and says which controls apply. DoD contracts flow this through DFARS 252.204-7012, which requires NIST SP 800-171 safeguarding for covered defense information and reporting of cyber incidents within 72 hours, and CMMC obligations reach contracts through DFARS 252.204-7021. Cloud workloads carry impact-level expectations that shape the architecture from day one.

Say who may access the data: citizenship or residency requirements, clearance level, background investigation status, and whether foreign national access is restricted. Say where the data may live and whether it may leave a named boundary. These sentences change the staffing plan and the price, so they belong in the SOW rather than in an email after award.

Key personnel, schedule, and payment on acceptance

Name key personnel by role and by person, state the minimum commitment as a percentage of time, and state the substitution process. A key personnel clause with no substitution process is either unenforceable or an accident waiting to happen when someone takes leave.

Schedule needs a period of performance, a milestone table tied to the deliverables, a meeting cadence with named attendees, and an option structure if the work continues. Payment should attach to accepted deliverables rather than elapsed calendar time. Milestone payments concentrate attention on the acceptance section, which is exactly where attention belongs, and they give the customer a real lever without resorting to disputes.

A skeleton you can adapt

The order below works for a federal subcontract, a state task order, and a commercial SOW under a master agreement. Cut sections that do not apply, but cut them deliberately rather than by forgetting them.

Fourteen-section SOW skeleton

  1. Purpose and background. Two paragraphs. The mission problem and why it matters now.
  2. Objectives. Three to six, each with baseline, target, measurement method, and population.
  3. Scope. In scope, then an explicit out-of-scope list.
  4. Tasks. Numbered, parallel, each with a verb, a bounded quantity, and a named output.
  5. Deliverables. Table with identifier, description, format, medium, and days after award.
  6. Acceptance criteria. Per deliverable, with thresholds, test data, tester, review window, cure path.
  7. Customer-furnished items. Data, environments, licenses, credentials, workspace, subject matter expert hours.
  8. Data access plan. Source, named owner, due date, mechanism, and the slip consequence.
  9. Assumptions. Numbered, falsifiable, one sentence each.
  10. Constraints. Regulatory, security, accessibility, residency, freeze windows.
  11. Change control. Requesters, approvers by name and title, the form, and the schedule and price effect.
  12. Intellectual property and data rights. Categories asserted, background IP, licenses each direction.
  13. Personnel. Key personnel, commitment levels, substitution process, access requirements.
  14. Schedule and payment. Period of performance, milestones, meeting cadence, invoicing tied to acceptance.

A tight version of that runs six to ten pages for a program of a few hundred thousand dollars. Length is not the goal. A ten-page SOW with a testable acceptance section beats a forty-page one that describes the customer's organization chart at length and then says the system shall be reliable.

Common questions on drafting

Can a statement of work be too detailed?

Yes, in one specific way. Detail about outcomes, thresholds, data, and dates is almost always good. Detail that dictates internal design, such as a required framework or a specific schema, transfers the design risk to the buyer. If the method is genuinely a requirement, say so and say why. Otherwise state the constraint and let the contractor propose the approach, which is what FAR 11.002 asks agencies to do.

We are a prime and our subcontractor drafted the SOW. Is that a problem?

It is common and it is workable, as long as the prime owns the acceptance section and the flow-down clauses. The party who will perform the work usually writes the clearest task language. The party who carries the contract has to make sure the deliverables map to the government requirement, the data rights assertions are consistent, and every mandatory clause flows down.

How does this change for an iterative or agile program?

The objectives, data access, change control, IP, and personnel sections stay identical. What changes is the deliverables and acceptance structure: instead of one large artifact at the end, you define a cadence, a definition of done that applies to every increment, and a per-increment demonstration with its own acceptance window. The discipline goes up, not down, because acceptance happens more often.

What if the customer will not commit to a data access date?

Then the first task becomes the access work itself, funded and scheduled, and downstream tasks state that they begin on access. That is an honest structure that both sides can sign. The failure mode to avoid is pricing a build against data nobody has confirmed you can get.

Frequently asked questions

What is the difference between a SOW, a PWS, and an SOO?

A statement of work describes what the contractor will do. A performance work statement, defined at FAR 37.602, states required outcomes in measurable terms and leaves the method to the contractor. A statement of objectives states the goal and asks industry to propose the work approach, with the winner's own performance work statement becoming part of the contract.

How long should a statement of work be?

Six to ten pages covers most engagements in the low six figures, with appendices for data sources and deliverable formats. Judge it by whether a stranger can execute and evaluate from the text alone, not by page count.

What makes an acceptance criterion testable?

A named artifact, a numeric threshold with a unit, a named dataset or environment, a named tester, a review window after which the item is deemed accepted, and a defined correction cycle. If any of those six is missing, the criterion will be argued rather than tested.

Who owns the software and models built under the contract?

On DoD noncommercial work, rights follow DFARS 252.227-7013 for technical data and 252.227-7014 for software, with restrictions asserted up front under 252.227-7017. SBIR deliverables carry SBIR data rights for twenty years from award. Civilian agencies typically apply FAR 52.227-14. On commercial work, write it explicitly: customer-owned deliverables, contractor-retained background material, and the license each side grants.

Why does data access belong in the statement of work at all?

Because it is the dependency that most often decides whether the schedule holds. Naming the data owner, the due date, the access mechanism, and the day-for-day slip consequence converts the biggest source of delay into a managed item both parties can see.

1 business day response

Send us the draft and we will mark it up, free

Email your SOW, PWS, or scope draft to [email protected]. Within one business day you get it back with tracked comments: every acceptance criterion rewritten to be testable, every data dependency given an owner and a date, and a flag on any IP or data-rights language that would cost you later. No fee, no obligation, no sales call attached.

Email your draftHow we workMore insights →
UEI Y2JVCZXT9HP5CAGE 1AYQ0NAICS 541512SAM.GOV ACTIVE