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.