Dependency graph
Definition
A dependency graph is a directed graph where nodes represent tasks, components, or modules, and edges represent 'must complete before' relationships. It shows what depends on what.
Dependency graphs appear in two main contexts: project planning and software engineering. In project planning, nodes are work items and edges show prerequisites — you can't start task B until task A is done. In software, nodes are code modules, packages, or services and edges show 'imports' or 'calls' relationships.
In project contexts, a dependency graph is the underlying data structure of both PERT charts and Gantt charts. In software contexts, build systems like Make, Gradle, and Bazel use dependency graphs to determine build order and what to recompile when something changes. Package managers (npm, pip, Cargo) use them to resolve what to install.
On whiteboards, dependency graphs show up during sprint planning (what can't start until this other thing ships?), architecture discussions (which service calls which?), and data pipeline design (which transformation depends on which input?). BoardSnap AI reads the nodes and arrows from a whiteboard photo and reconstructs the dependency structure as part of its summary — giving you a head start on turning the session into a real project plan or architecture doc.
Examples
- Sprint planning: Feature A depends on API endpoint; API endpoint depends on database schema migration
- npm dependency tree: your app depends on React, React-DOM, and Lodash; React depends on prop-types and scheduler
- Data pipeline: analytics dashboard depends on aggregation job; aggregation job depends on ETL; ETL depends on raw ingestion
- Infrastructure: application server depends on database, cache, and auth service being up first
Related terms
Snap a dependency graph. Ship its actions.
BoardSnap turns any whiteboard — including this one — into a summary and action plan.