4.2.2: Step 2 – Task Dependencies and Sequencing
- Page ID
- 52266
\( \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}\)🎯 Purpose of This Section
Once you've built your Work Breakdown Structure (WBS), the next step is to determine how the work flows.
In this section, you’ll identify:
-
Which tasks depend on the completion of others
-
What tasks can be done in parallel
-
What sequence the work must follow
-
What delays or blockers might impact delivery
Your goal is to build a logical, actionable map of execution that enables your team to work efficiently—and your schedule to hold together.
🔍 Why Task Sequencing Matters
You can have the best scope, team, and deliverables—but if tasks are completed in the wrong order, your project will stall.
Dependencies help teams:
-
Prevent wasted effort
-
Minimize idle time
-
Uncover bottlenecks
-
Create realistic timelines
-
Align internal and external coordination
Well-sequenced projects are faster, clearer, and more resilient under pressure.
🧱 What Are Task Dependencies?
A dependency is a relationship between two tasks where one relies on the other in order to begin or end. These relationships define the order of execution.
There are four basic types of task dependencies:
| Type | Description | Example |
|---|---|---|
| Finish-to-Start (FS) | Task B cannot start until Task A finishes | “Write test plan” → “Run test cases” |
| Start-to-Start (SS) | Task B can start once Task A starts | “Begin training materials” ↔ “Begin user manual” |
| Finish-to-Finish (FF) | Task B must finish at the same time or after Task A | “Write report” → “Edit report” |
| Start-to-Finish (SF) | Task B cannot finish until Task A starts (rare) | Often used in shift transitions or monitoring |
In this milestone, focus primarily on Finish-to-Start and Start-to-Start—they’re most common in planning engagements.
🧭 Step-by-Step Guide to Mapping Dependencies
🔹 Step 2.1 – Start With Your WBS Task List
Pull all Level 3 tasks from your WBS. Use your updated task list from Section 1.
📘 Example:
| Task ID | Task Name |
|---|---|
| 1.1.1 | Identify stakeholders |
| 1.1.2 | Schedule interviews |
| 1.1.3 | Conduct interviews |
| 1.1.4 | Summarize findings |
| 2.1.1 | Draft architecture overview |
🔹 Step 2.2 – Identify Logical Predecessors for Each Task
Ask:
-
Can this task start independently?
-
Does it need input, sign-off, or results from another task?
-
Will other tasks be delayed if this one is late?
📘 Example:
| Task | Predecessor | Dependency Type |
|---|---|---|
| Schedule interviews | Identify stakeholders | Finish-to-Start |
| Conduct interviews | Schedule interviews | Finish-to-Start |
| Summarize findings | Conduct interviews | Finish-to-Start |
🔹 Step 2.3 – Identify Parallel Workstreams
Not all tasks need to wait for others. Some can happen simultaneously (Start-to-Start).
📘 Example:
-
“Write internal training guide” and “Draft user-facing manual” can start at the same time, even though they serve different audiences.
Use this technique to:
-
Shorten your overall schedule
-
Maximize team capacity
-
Avoid unnecessary delay
🔹 Step 2.4 – Flag External or Conditional Dependencies
Some tasks depend on external events, such as:
-
Stakeholder availability
-
Vendor responses
-
System access
-
Regulatory approvals
📘 Example:
-
“Conduct security review” depends on the availability of the compliance officer (external).
📌 Document these clearly and include notes.
🔹 Step 2.5 – Create a Dependency Map or Table
Organize your logic into a readable format.
| Task ID | Task Name | Depends On | Type | Notes |
|---|---|---|---|---|
| 1.1.2 | Schedule interviews | 1.1.1 | Finish-Start | Needs full stakeholder list finalized |
| 1.1.3 | Conduct interviews | 1.1.2 | Finish-Start | Dependent on confirmed calendars |
| 1.1.4 | Summarize findings | 1.1.3 | Finish-Start | Can start as each interview finishes |
| 2.1.1 | Draft architecture | 1.1.4 | Finish-Start | Uses insights from findings |
You may also choose to visualize this using:
-
A Gantt chart
-
A simple flow diagram
-
A logic network (for more advanced schedules)
✅ Common Pitfalls to Avoid
-
Missing dependencies: If no task depends on another, your project will appear flat—but real projects have flow.
-
Chained delays: If too many tasks are Finish-to-Start with no overlap, your schedule will stretch unnecessarily.
-
Ignoring bottlenecks: If many tasks depend on a single task, it becomes a risk concentration.
-
Assuming ideal conditions: Assume delays, meetings, and review cycles—plan conservatively.
🧠 Strategic Planning Tips
-
Start with milestone anchors and build backwards
-
Look for natural sequences: research → analysis → draft → review → approval
-
Build in “soft starts” where possible to enable concurrent work
-
Use sequencing to surface resourcing problems early
-
Don’t over-engineer: focus on the tasks that drive progress and control
📄 What to Submit
You must submit either:
-
A dependency matrix, OR
-
A task list with annotated sequencing, OR
-
A flow-style diagram or network map (optional)
Minimum requirements:
-
Every Level 3 task should have at least one dependency or relationship identified
-
External or risky dependencies must be noted
-
The format should be readable, clear, and logically ordered
🧩 Final Alignment Check
Before submitting, verify:
-
Your sequence makes sense in real time
-
The logic aligns with your delivery approach
-
All milestones from Section 4 are supported by a sequence of tasks
-
You can explain why tasks must follow the order you’ve chosen

