Skip to content
Webb Technologies

Illustrative sample, not a client project

This scope is for an invented project, written to show what the document you’d receive contains.

Illustrative sample · written scope

Sample scope of work: a plant-floor dashboard.

The document you review before accepting a fixed price. This one is for an invented read-only dashboard fed from a PI historian and a Kepware OPC UA server.

Email to a colleague

Jump to the document ↓

Illustrative sample, not a client project

The client, plant, systems and names in this document are invented. It shows the structure and level of detail of the document you'd receive; it is not a record of work for a client.

Written scope · fixed-price project

Line 3 production and downtime dashboard

Client
Example Manufacturing Co. (fictional)
Prepared by
Webb Technologies
Document
Scope of work and fixed-price basis
Status
Illustrative sample, not a client project

1.Background and goals

Example Manufacturing Co. (“the Client”) runs a packaging line, Line 3, controlled by Allen-Bradley PLCs with Rockwell FactoryTalk View SE HMIs. Line 3's counts and states are collected in the plant's AVEVA PI (OSIsoft PI) historian. Today supervisors see live status only at the HMI, and shift reports are compiled by hand from historian trends and paper downtime logs.

This project delivers a read-only web dashboard, available on the business network, that shows Line 3's current state, counts and downtime for the current and previous shifts. The goals are:

  • Supervisors and the plant manager can see Line 3's state, good and reject counts, and downtime for the current shift from a browser on the business network, without walking to the HMI.
  • Shift production and downtime figures come from one agreed source, the historian, instead of being re-keyed.
  • Nothing built in this project can write to a PLC, an HMI, the historian or the OPC UA server.
  • The Client's IT and controls teams can run, change and extend the system after handover without us.

2.In scope

  • Collector. A service on a Client-provided host in the industrial DMZ that reads Line 3 values from the DMZ PI server through PI Web API, and live line state from the existing Kepware OPC UA server, read-only. It pushes values outbound over HTTPS to the API.
  • API and database. A service in the Client's AWS account that stores the collected values and serves them to the dashboard.
  • Dashboard. A web application with three screens: Line status (current state, run rate against the ideal rate, good and reject counts), Shift summary (counts, downtime events and total downtime by shift) and Downtime log (each stop with its start, end and duration, filterable by shift).
  • Sign-in. Single sign-on through the Client's existing identity provider, over OpenID Connect or SAML, with two roles taken from groups the Client's IT team manages: viewer and administrator.
  • Infrastructure and delivery. Infrastructure defined as code (AWS CDK), deployed through a CI/CD pipeline (GitHub Actions) into separate test and production environments.
  • Monitoring. Alarms for data freshness, collector errors, API errors, sign-in failures and backups.
  • Documentation and handover. Runbooks, a data dictionary, architecture and security documentation, and knowledge-transfer sessions, as set out in section 11.

3.Out of scope

  • Any write to PLCs, HMIs, the historian or the OPC UA server, including setpoints, alarm acknowledgements and recipe changes.
  • Changes to PLC logic, HMI screens, historian configuration or tag naming. Where a new tag is needed, the Client's controls team creates it.
  • Operator entry of downtime reasons. A candidate for a later phase, quoted separately.
  • An OEE figure. The dashboard shows the inputs (state, counts, downtime); an agreed OEE calculation can be added later as a change.
  • Lines other than Line 3. The design allows more lines to be added (see the “Add a tag or a line” runbook), but configuring them is a separate change.
  • Mobile apps, offline use, and access from outside the Client's network.
  • Integration with any other business system.
  • Hardware, network changes and software licenses. We specify what is needed; the Client's teams make the changes and hold the licenses.
  • Support, maintenance or new features after handover. Available as separately quoted work.

4.Systems and data sources

Systems this project connects to, the access it needs and who owns each one on the Client's side

System
AVEVA PI (OSIsoft PI) historian, DMZ replica
Role in this project:
Source of Line 3 counts and state history
Access needed:
PI Web API, read-only account limited to the Line 3 points in the data dictionary
Owner (Client):
Controls engineering
System
Kepware OPC UA server
Role in this project:
Source of live line state
Access needed:
OPC UA with SignAndEncrypt; read-only user scoped to the Line 3 tag group
Owner (Client):
Controls engineering
System
SQL Server (existing plant database)
Role in this project:
Shift calendar and ideal rates per product
Access needed:
Read-only login to two named views, reached from the Client's AWS account over its site-to-site VPN
Owner (Client):
Plant IT
System
Rockwell FactoryTalk View SE (existing HMIs)
Role in this project:
Unchanged; its tag names are the reference for the data dictionary
Access needed:
None
Owner (Client):
Controls engineering
System
Identity provider (Client's existing)
Role in this project:
Sign-in for dashboard users
Access needed:
An SSO app registration and two groups
Owner (Client):
IT
System
AWS account (Client-owned)
Role in this project:
Hosts the API, database, dashboard and monitoring
Access needed:
A deployment role for the pipeline; named user access for us during the project
Owner (Client):
IT
System
GitHub organization (Client-owned)
Role in this project:
Repositories and CI/CD pipeline
Access needed:
Member access for us during the project
Owner (Client):
IT
Data flow, read-only, one directionBuilt in this projectExisting, Client-ownedClient systemsHTTPSread-only login · VPNAVEVA PI historianDMZ replicaKepwareOPC UA serverSQL Servertwo namedviewsLine 3 collectorindustrial DMZ · read-onlyAPI and databaseClient AWS accountDashboardroles: viewer,administratorIdentity providerClient's SSOsign-inFactoryTalk View SE HMIsunchanged · no connection
Data-flow overview (illustrative): where each value comes from and the access used. Every flow is read-only and one-directional. The full design, with every connection and firewall rule, is prepared in phase 1.

5.Assumptions and dependencies

  • The Client provides the access in section 4 before the build phase starts. If access arrives later, the schedule moves with it; the price changes only if the scope does.
  • The Client's controls team reviews and signs off the data-flow design (phase 1) before any software connects to the OPC UA server or the historian.
  • A PI server replica, or another read-only historian endpoint, is available in the DMZ. If it isn't, sections 4 and 13 are revisited before the build starts.
  • The Client's network team opens the firewall rules listed in the design document. We don't change network equipment.
  • A site-to-site VPN (or AWS Direct Connect) links the business network to the Client's AWS account, set up by the Client's network team.
  • The Client names one product owner who can answer questions and accept deliverables, and one controls engineer for tag questions.
  • The historian is the source of truth. Where the dashboard and the historian disagree, the dashboard is treated as wrong and, before acceptance, is fixed under this scope.
  • The test environment reads the same historian points as production. No plant simulator is built.
  • Hosting, license and other third-party costs are billed to the Client's own accounts.

6.Deliverables

  • Source code for the collector, API and dashboard, with automated tests, in the Client's repositories.
  • Infrastructure as code (AWS CDK) for the test and production environments.
  • A CI/CD pipeline (GitHub Actions) that tests, builds and deploys every change, authenticating to AWS with OIDC so no AWS keys are stored.
  • An architecture and data-flow document for the Client's security review, including every firewall rule with its source, destination, port and purpose.
  • A data dictionary covering every tag and field the dashboard uses.
  • Runbooks: deploy, roll back, rotate credentials, add a tag or a line, and respond to each alert.
  • Knowledge-transfer sessions, listed in section 11.

7.Acceptance criteria

The system is accepted when every criterion below passes in production. Each one is checked together with the Client's product owner.

Acceptance criteria and how each one is checked

Ref
AC1
Criterion:
A change in line state appears on the Line status screen within 30 seconds.
How it is checked:
The controls engineer observes a state change at the HMI and times the dashboard.
Ref
AC2
Criterion:
Good and reject counts for a completed shift equal the historian's totals for the same shift.
How it is checked:
Three completed shifts compared with PI totals; all must match.
Ref
AC3
Criterion:
Every stop of 2 minutes or longer appears in the Downtime log, with start and end times within one minute of the historian's.
How it is checked:
The log compared with PI line-state history for three completed shifts.
Ref
AC4
Criterion:
Users outside the two groups cannot sign in, and viewers cannot open administrator pages.
How it is checked:
Tested with three accounts: no group, viewer, administrator.
Ref
AC5
Criterion:
No component can write to a PLC, HMI, the historian or the OPC UA server.
How it is checked:
The controls team reviews account permissions and the collector's code; a write attempted with the collector's credentials is refused.
Ref
AC6
Criterion:
If the collector stops, the dashboard marks its data as stale and an alert reaches the named recipients within 10 minutes.
How it is checked:
The collector is stopped in the test environment.
Ref
AC7
Criterion:
Each screen loads in under 3 seconds on a supervisor's PC on the business network.
How it is checked:
Timed on two supervisor PCs.
Ref
AC8
Criterion:
The Client's team deploys a change and rolls it back using only the runbooks.
How it is checked:
Done during knowledge transfer, observed by both parties.

Acceptance is judged against these criteria only. Anything not listed here is not a reason to withhold acceptance, and is not in the price; it can be raised as a change (section 9).

8.Milestones

Work runs in five phases. Each phase ends on a written exit criterion, and working software is reviewed with the Client in the test environment throughout phases 2 and 3.

Project phases and the exit criterion that closes each one

Phase
1. Access and design
What happens:
Access set up. Data-flow design, firewall rules and data dictionary drafted and reviewed with IT and controls.
Exit criterion:
Written sign-off of the design by the Client's controls and IT leads.
Phase
2. Data path
What happens:
Collector and API built and deployed to test. Values compared with the historian.
Exit criterion:
AC2 and AC3 pass in test.
Phase
3. Dashboard
What happens:
Screens built and reviewed with supervisors in test. Sign-in and roles in place.
Exit criterion:
Product owner approves the screens; AC4 passes.
Phase
4. Acceptance
What happens:
Full acceptance run in test, then deployment to production.
Exit criterion:
All acceptance criteria pass in production.
Phase
5. Handover
What happens:
Documentation delivered, knowledge-transfer sessions held, access handed over.
Exit criterion:
Handover checklist signed.

Milestone dates: stated here in the real document, agreed with the Client before work starts.

9.Change process

  1. Either party raises a change in writing: what is needed and why.
  2. We reply in writing with its effect on scope, price and schedule, or confirm that it has none.
  3. Nothing changes until the Client's product owner approves it in writing. Approved changes are added to this document as numbered amendments.
  4. A change that isn't approved isn't built, and the original scope and price stand.

Until the system is accepted, fixing something that fails an acceptance criterion in section 7 is not a change. It is covered by the fixed price.

10.Security and IT review

The following are prepared for the Client's IT, controls and security teams during phase 1, before any connection to plant systems:

  • A data-flow diagram showing every connection, its direction and the zone boundary it crosses. Nothing in AWS or on the business network opens a connection into the OT network. The only connection into the OT network is the collector's read-only OPC UA session to the Kepware server, opened from the DMZ on a single firewall rule the Client's network team controls.
  • A firewall rule list: source, destination, port, protocol and purpose for each rule.
  • Service accounts: one per system, read-only, named and documented. No shared or personal credentials in the running system.
  • OPC UA security: SignAndEncrypt mode, with certificate trust set up by the Client's controls team.
  • Secrets kept in AWS Secrets Manager (and, for the collector, the DMZ host's protected store), never in code, configuration files, tickets or email.
  • Sign-in only through the Client's identity provider. The dashboard is reachable only from the Client's network addresses.
  • Encryption in transit on every connection, and at rest for stored data and backups.
  • Logging of sign-ins, deployments and collector errors to CloudWatch, retained according to the Client's policy.
  • Dependency scanning in the pipeline, with findings reported to the Client before each release.
  • Data classification: production values and user sign-in names only. No other personal data is stored.
  • Answers to the Client's security questionnaire, and an architecture walkthrough for the security team.

11.Handover

Handover is part of the fixed price. It is complete when the Client's team has deployed a change, rolled it back and responded to a test alert themselves, using only the documentation. It includes:

  • Everything in section 6, confirmed in the Client's repositories and accounts.
  • Knowledge-transfer sessions: architecture walkthrough, code tour, supervised deployment, rollback and recovery, and a test incident.
  • Access and credentials: every account confirmed as the Client's, secrets rotated, and our access removed or reduced to whatever support is agreed.

The full contents are shown in the sample handover package for this same illustrative project.

12.Ownership

  • The Client owns all code, infrastructure definitions, documentation and data produced under this scope. There is no license fee and no lock-in.
  • Everything is built in the Client's repositories and AWS account. Nothing runs in accounts we control.
  • Open-source components remain under their own licenses, which are listed in each repository.
  • Confidentiality is covered by the NDA signed before this engagement.

13.Price and what it covers

Fixed price: stated here in the real document.

The fixed price covers everything in sections 2, 6, 7 and 11: design, build, testing, deployment to test and production, documentation, knowledge transfer, handover, and fixing anything that fails an acceptance criterion before acceptance.

It does not cover:

  • Anything listed as out of scope in section 3.
  • Approved changes under section 9, each priced before it starts.
  • Hosting, software licenses and other third-party costs, billed directly to the Client's accounts.
  • Support, maintenance or new features after handover, quoted separately if wanted.

Invoicing schedule and payment terms: stated here in the real document.

14.Approval

Nothing is built until this scope is accepted. Signing below accepts the scope and the fixed price stated in section 13.

For the Client

Name
Signature
Date

For Webb Technologies

Name
Signature
Date

Use it as a checklist

What to look for in any scope you're given.

Whoever you hire, a scope worth signing answers these questions in writing before work starts.

  1. Out of scope is as specific as in scope.

    Disagreements start with something nobody wrote down. A list of what isn't included surfaces them before they cost anything.

  2. Every acceptance criterion says how it's checked.

    Your team can test each one themselves, so “done” isn't a matter of opinion.

  3. Your side's dependencies are named.

    Access, sign-offs and the people who give them are written down, so a delay is visible to both sides.

  4. The change process is on paper.

    How a change is raised, priced and approved, and what happens if it isn't approved.

  5. The price section says what isn't covered.

    Hosting, licenses, changes and support after launch are listed, so nothing outside the price comes as a surprise.

Want a scope like this for your project?

A 30-minute call. If it's a fit, one to two weeks of working sessions, then a scope like this one and one fixed price before any build work starts.