Is It Out of Scope? — Web development

Is adding a blog to the website out of scope for a web development project?

Usually yes. A blog needs its own data model, templates, and content-entry workflow — build work the original scope of functionality didn't include, even on a platform where posts are a built-in content type.

The functional spec lists the pages and features being built — say, a marketing site with a contact form and a lightweight CMS for the core pages. Mid-build, the client asks for a blog to be added "since we're already in the CMS." On a headless or custom-built site, that means a new content model (post schema, categories/tags, author field), a listing template with pagination, a single-post template, and often RSS/sitemap wiring for it — a real feature, not a config toggle, even when the underlying CMS supports posts natively.

Is it out of scope?

Yes. A blog is additional functionality — a new content model and two new templates at minimum — not a variation on features already in the spec. This holds even when the platform (WordPress, a headless CMS) technically ships blogging as a built-in capability, because the SOW scoped specific pages and features to build with it, not everything the platform is capable of.

Clause typically implicated

Clause typically implicated

Deliverables clause→ — Lists the specific features and page templates being built — a blog's content model and templates sit outside that list.

Example contract wording

Example contract wording (illustrative, not legal advice)

The signed scope covers the features listed in the SOW: [list]. A blog is additional functionality — a post content model, listing/detail templates, and (if needed) RSS/sitemap support — outside that list. I can scope it as a fixed add-on ([$X]) or estimate it hourly once we confirm what fields and features the blog needs. Want me to put together a quote?

How MarginFlow flags it

MarginFlow checks the request against the contract's extracted feature list rather than reacting to the word "blog" on its own — a request to fix an existing blog bug would classify differently than a request to build one from scratch. Since a new content model and templates aren't in the extracted deliverables, the request is flagged outside_scope, with a confidence score, a short explanation an account manager can scan in seconds, and the specific SOW language it's grounded in, all surfaced as an Alert for review.

Catch scope creep the moment it lands in your inbox

14-day free trial · No credit card required