Fixed-price projects at D3 — milestone-driven, contract-anchored
A fixed-price (FP) project locks scope, timeline, and price at contract signing. Once signed, change happens only through a formal Change Request. The job is to deliver the agreed scope on time, at the agreed price, with the agreed quality. This page describes how D3 runs that delivery.
Six roles run an FP project. The min level shown is the floor — anyone above qualifies. The biggest difference from agile: Project Manager (formal, not Scrum Master), and the Solution Architect carries a much heavier upfront role.
Six phases run sequentially with hard gates. A phase ends when its outputs are signed off — not when "we feel ready". Build is the longest; everything else is short and disciplined.
- Client interviews · stakeholder mapping
- Scope decomposition into deliverables
- High-level architecture sketch + tech stack proposal
- Effort estimation with reserve (10-20%)
- Top-3 risks identified
- scope.md drafted · all deliverables enumerated
- Estimate signed off internally (PM + SA + Head of D3)
- Risk register seeded with top-3 risks
- Client agrees to proceed to SoW
- Let AI analyze historical project data to benchmark estimates and detect risk patterns, then draft a Project Plan for the PM to review.Project Plan (AI-assisted estimation + Risk forecast)
- Formal Statement of Work drafted from scope.md
- Acceptance criteria attached to every deliverable
- Milestone payment schedule defined
- Change Request process documented in contract
- Legal review + redlines + sign-off
- Contract signed by both sides
- Kickoff date scheduled
- Project added to Techvify DES with milestone calendar
- Team allocations confirmed
- Install the SpecKit toolkit, set up the project's constitution file defining its coding principles, capture the environment profile, and enable real-time security scanning in the IDE.SpecKit scaffolding + constitution.md committed; environment profile captured; IDE SAST active
- System architecture diagrams (C4 or equivalent)
- ADRs for non-trivial choices (DB, queue, auth, etc.)
- NFR plan: performance, security, scalability targets
- Detailed AC per deliverable (BA owns)
- UAT plan drafted (QA Lead owns)
- Build phase plan with weekly checkpoints
- Architecture document signed off by SA + Tech Lead + Client tech contact
- All ADRs reviewed
- AC and UAT plan attached to project tool
- Build phase plan agreed
- ⚠ Build does NOT start before this gate passes
- Create the Figma design with node IDs, design tokens, component states and responsive breakpoints, so it is fully machine-readable before the AI analysis stage begins.Figma design (node IDs, all states, design tokens complete) [Mandatory]
- Let AI generate the specification document by reconciling the user story, the Figma design and prior analysis into structured user stories, testable acceptance criteria and functional requirements.spec.md (User Stories, BDD ACs, FR-xxx list) [Mandatory]
- Design the HLD and ADRs with AI support for anti-pattern review, while the Solution Architect retains ownership of the final architectural decision.HLD Document; ADR
- Let AI generate the technical plan once the specification is approved, covering the constitution compliance check, data model, API contracts and project structure.plan.md, data-model.md, contracts/ [Mandatory - same ADLC PLAN phase as spec.md]
- Let AI break the technical plan down into an ordered task list, naming exactly what each task touches.tasks.md [Mandatory - final artifact of the ADLC PLAN phase]
- Draft a threat model and testable security requirements from the specification before coding begins, keeping security a checkpoint in the pipeline rather than a review at the end.Threat model + security requirements
- Set up the CI/CD environment as in the Standard lane, plus configure the repository-indexing tool that lets AI reason over the whole codebase once implementation begins in the next stage.CI/CD Pipeline; Code Project Structure; Coding Convention; repo-indexing configured
- Feature build sprint-by-sprint (often 2-week iterations internally)
- Continuous internal QA on each feature
- Weekly client demo (informal) — keep visibility high
- Burn-rate tracked vs plan weekly
- Risk register refreshed weekly with weekly report
- Change Requests triaged immediately (no batching)
- 100% of SoW deliverables coded
- Internal QA pass rate ≥ 95%
- NFR targets met (perf, security scan, etc.)
- Build environment matches UAT spec
- UAT readiness checklist signed by Tech Lead + QA Lead
- Confirm the task list scope fits the iteration capacity before the iteration starts.Iteration Plan (scope confirmed)
- Review all approved artifacts, then let AI implement the code phase by phase from the task list, reading the design tokens from the earlier analysis, with security gates running on every commit.Production Code; Unit Tests; tasks.md updated
- Prepare the test environment, then let AI run the automated test pipeline end to end: inspecting the application, generating test scenarios and page objects, executing the full suite, and running load testing.qa-report.md (BDD pass/fail, FR coverage map) [Mandatory]; Load/stress test report
- Have a named engineer review the AI-generated QA report and make the mandatory go or no-go decision before the pull request can proceed.QualityGatekeeper decision [MANDATORY]
- Client runs test cases against UAT plan
- Defects logged with severity (P0-P3)
- P0/P1 fixes within 1-2 days · P2/P3 batched
- Daily UAT status: open defects, sign-offs, blockers
- Acceptance log updated per story
- 0 open P0/P1 defects
- 100% acceptance criteria signed (or formally waived)
- Acceptance log signed by client sponsor
- P2/P3 defects either fixed, deferred to warranty, or formally accepted
- ⚠ Payment milestone triggers on this signature
- Support User Acceptance Testing and any hotfixes, then obtain sign-off — the same process as the Standard lane, since UAT validates business behavior regardless of which lane built the release.UAT Sign-off Document; Hotfix releases
- Production deployment per cutover plan
- Smoke tests + production health check
- Handover docs delivered (runbook, ops guide, contact list)
- Warranty: defect SLA only for SoW-scope bugs, NOT new features
- Final lessons-learned + project retro
- Warranty period elapsed without open critical defects
- All warranty tickets resolved or transferred to support contract
- Final payment received
- Project archived in DES (post-mortem written, lessons captured)
- Prepare the Deployment Checklist as in the Standard lane, with AI log monitoring configured and production promotion gated through an automated release pipeline that always starts in a lower environment first.Deployment Checklist; Go-no-go criteria; AI log monitoring configured
- Promote to production automatically through the CI/CD release pipeline, with AI monitoring logs for anomalies.Deployed Software (automated CI/CD pipeline)
- Let AI draft the Lesson Learned from tickets, commits and the QA report for human review, and automatically score how closely delivery followed the process, feeding any gaps back into the next project cycle.Lesson Learned (AI-synthesized, human-verified); Method scorecard; backlog items for next cycle
The CR process is the only legal way to change scope, price, or timeline after the contract is signed. It must be followed without exception. Bypassing the CR process is the #1 cause of FP project failure.
Five milestone gates govern progression. Each gate has a named owner with veto power. If a gate fails, the project does not advance — the next phase doesn't start. Escalation goes to Head of D3, then to client sponsor.
- Architecture doc signed by SA + Tech Lead + client tech contact
- All ADRs for non-trivial choices recorded
- NFR plan agreed (perf, security, scalability targets)
- AC documented per deliverable
- 100% of SoW deliverables coded and merged
- Internal QA pass rate ≥ 95% across all features
- NFR targets met (load test, security scan, etc.)
- UAT environment provisioned and matches spec
- 0 open P0/P1 defects
- 100% acceptance criteria signed (or formally waived) by client
- Acceptance log signed by client sponsor
- P2/P3 either fixed, deferred to warranty, or formally accepted
- Cutover plan reviewed (rollback, backout, comms)
- Production environment provisioned + smoke-tested
- Handover docs ready (runbook, ops guide, contacts)
- Warranty SLA documented + on-call schedule agreed
- Warranty period elapsed with no open critical defects
- All warranty tickets resolved or transferred to support contract
- Final payment received
- Post-mortem written, lessons archived in DES
The price is locked, so every unknown is risk. The job is to keep risks visible and reserves disciplined — never silently burn through the buffer.
- Scope creep without CR — silently absorbed "small" changes accumulate. Mitigation: CR culture enforced from day 1.
- Late-discovery complexity — design uncovers issues not flagged at estimation. Mitigation: 10-20% reserve, design phase taken seriously.
- Client UAT delays — client doesn't show up to test, project sits idle. Mitigation: UAT plan agreed at design, schedule confirmed at Build start.
- Vague AC — "works well" is not a testable AC. Mitigation: BA owns AC quality, every AC is a measurable test.
- Team turnover mid-build — key Dev or Tech Lead leaves, knowledge transfer suffers. Mitigation: documentation discipline, bus-factor >1 for critical components.
FP reporting is milestone-driven, not sprint-driven. The chart below shows when each report fires across the 6 project phases.
Most FP project failures share a small set of root causes. Each of these has bitten D3 projects before — and each has an early-warning signal you can watch for.