5.2: Plan of Attack
- Page ID
- 52229
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\dsum}{\displaystyle\sum\limits} \)
\( \newcommand{\dint}{\displaystyle\int\limits} \)
\( \newcommand{\dlim}{\displaystyle\lim\limits} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\(\newcommand{\longvect}{\overrightarrow}\)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Objective of This Milestone
You are now building a financial model for your project. This milestone requires you to translate the execution plan from Milestone 3 into a detailed, structured, and defensible budget—one that could be presented to a sponsor, finance lead, or procurement authority.
The final submission must include:
- A breakdown of all anticipated project costs (labor and non-labor)
- Calculated labor cost estimates based on prior effort figures
- Transparent pricing for tools, licenses, vendors, or materials
- Justified contingency buffering
- A clear, professional summary of what the budget enables
What You Will Produce
Your final deliverable will consist of the following five core components:
| Section | Description |
|---|---|
| 1. Cost Inputs and Categories | A clear and comprehensive inventory of all cost-driving elements grouped by type |
| 2. Labor Cost Estimation | A detailed calculation of effort × role × rate, linked to the WBS |
| 3. Non-Labor Cost Estimation | Estimates for tools, subscriptions, training, travel, and other goods or services |
| 4. Total Budget and Allocation Model | Roll-up of all costs with subtotals, grand total, and structure by phase or category |
| 5. Contingency and Funding Narrative | A reasoned buffer based on risk, plus a summary that tells the “financial story” of your project |
Step-by-Step Plan of Execution
Step 1: Identify All Cost Categories and Inputs
Start with your WBS, architectural model, and execution plan. Build a working list of anything that will require funds, including:
Labor
- Time spent by analysts, developers, PMs, testers, trainers
- Internal staff time billed to the project
- External consulting or contract staff
Non Labor (examples)
- Software licenses (e.g., per-seat tools, design software, PM systems)
- Cloud platform or hosting services
- Specialized equipment or configuration tools
- Third-party vendors (data cleansing, trainers, accessibility services)
- Stakeholder events (e.g., pilot launches, training sessions)
- Travel, room bookings, meals (if in-person support is needed)
Classification
- Direct vs Indirect: Is the cost tied directly to deliverables, or a shared overhead?
- Fixed vs Variable: Is the cost stable or usage-based?
- Recurring vs One-Time: Will this expense repeat monthly or occur once?
Deliverable: A categorized table of all cost inputs with basic tags for classification.
| Item | Type | Classification | Description |
|---|---|---|---|
| Developer labor | Labor | Direct, Variable | 240 hours over 6 weeks |
| Training software | Non-labor | Fixed, Recurring | $25/user/month |
Step 2: Estimate Labor Cost (Effort × Role Rate)
Take your task-level effort estimates from Milestone 3 and apply hourly rates based on:
- Internal rate card (e.g., C-Bay rates: PM = $110/hr, Dev = $95/hr, BA = $85/hr)
- Industry benchmarks (if rates not given—justify with source)
- Assumed team structure and availability (e.g., 50% allocation, 80% billable)
Example Calculation:
Task: Conduct stakeholder interviews
Effort: 16 hours
Role: Business Analyst
Rate: $85/hr
→ Total Labor Cost = 16 × 85 = $1,360
Break this down:
- By task
- By role
- By project phase (optional)
Deliverable: Labor Estimation Table
| WBS ID | Task | Role | Effort (hrs) | Rate | Cost | Notes |
|---|---|---|---|---|---|---|
| 1.2.1 | Conduct interviews | BA | 16 | $85 | $1,360 | Assumes 4 interviews @ 4 hrs each |
Step 3: Estimate Non-Labor Cost
Using your Cost Inputs list from Step 1, calculate:
-
Unit Cost × Quantity × Duration
-
Research pricing benchmarks if real quotes are unavailable
-
Document all assumptions (e.g., “$25/license/month based on vendor website”)
Examples:
-
12-month license for PM software: $30/user/month × 5 users = $1,800
-
2 stakeholder training days @ $850/day = $1,700
-
20 data transformation hours from vendor @ $150/hr = $3,000
Deliverable: Non-Labor Cost Table
| Item | Category | Quantity | Unit Cost | Duration | Total Cost | Source |
|---|---|---|---|---|---|---|
| Cloud subscription | SaaS | 12 mo | $300 | N/A | $3,600 | Vendor X pricing sheet |
| Training session | Event | 2 | $850 | N/A | $1,700 | Industry avg training rate |
Step 4: Build the Total Budget and Allocation Model
Create a consolidated view of:
- Labor cost total
- Non-labor cost total
- Contingency
- Grand total
- Optional: by phase, milestone, or deliverable
Use consistent structure. Clearly label rows and subtotals.
Deliverable: Budget Roll-Up Table
| Phase | Labor | Non-Labor | Subtotal |
|---|---|---|---|
| Planning | $8,240 | $1,800 | $10,040 |
| Design | $14,100 | $3,400 | $17,500 |
| Implementation | $20,500 | $5,200 | $25,700 |
| Total (Pre-Contingency) | $42,840 | $10,400 | $53,240 |
Then calculate your contingency (see Step 5) and append it:
| Contingency (7.5%) | $3,993 |
|---|---|
| Grand Total | $57,233 |
Step 5: Add Contingency and Write a Funding Narrative
Contingency
- Base your buffer on:
- Risk exposure
- Estimate uncertainty
- Task complexity
- External dependencies
-
Apply it per category (e.g., 10% on non-labor, 5% on labor), not just an overall “fudge factor”
Narrative
Write a 1-paragraph financial summary from the point of view of a project leader presenting to a sponsor.
Should answer:
- What is included?
- What is the basis of estimation?
- How does the budget account for risk?
- What value will this budget enable?
Example:
“This budget reflects the full execution plan approved in Week 6. Estimates are based on actual effort projections and market-standard rates. Contingency has been applied based on risk factors tied to stakeholder input availability and third-party tool integration. This funding will support configuration, training, testing, and deployment of the UCMS platform and prepare the system for live use by the beginning of Q2.”
Final Deliverables You Will Submit
- Cost Categories and Input Summary
- Labor Cost Estimation Table
- Non-Labor Cost Estimation Table
- Total Budget + Contingency Roll-Up
- Funding Narrative (1 paragraph)

