Recent from talks
Nothing was collected or created yet.
Dependency (project management)
View on WikipediaIn a project network, a dependency is a link among a project's terminal elements.[citation needed]
The A Guide to the Project Management Body of Knowledge (PMBOK Guide) does not define the term dependency, but refers for this term to a logical relationship, which in turn is defined as dependency between two activities, or between an activity and a milestone.[1]
Standard types of dependencies
[edit]There are four standard types of dependencies:[2]
- Finish to start (FS)
- A FS B means "activity A must finish before activity B can begin" (or "B can't start until A has finished").[3]

- (Foundations dug) FS (Concrete poured)
- A FS B means "activity A must finish before activity B can begin" (or "B can't start until A has finished").[3]
- Finish to finish (FF)
- A FF B means "activity A must finish before activity B can finish" (or "B can't finish before A is finished") .[3]

- (Last chapter written) FF (Entire book written)
- A FF B means "activity A must finish before activity B can finish" (or "B can't finish before A is finished") .[3]
- Start to start (SS).
- A SS B means "activity A must start before activity B can start" (or "B can't start until A has started").[3]

- (Project work started) SS (Project management activities started)
- A SS B means "activity A must start before activity B can start" (or "B can't start until A has started").[3]
- Start to finish (SF)
Finish-to-start is considered a "natural dependency". The Practice Standard for Scheduling recommends, that "Typically, each predecessor activity would finish prior to the start of its successor activity (or activities)(known as finish-to-start (FS) relationship). Sometimes it is necessarily to overlap activities; an option may be selected to use start-to-start (SS), finish-to-finish (FF) or start-to-finish (SF) relationships....Whenever possible, the FS logical relationship should be used. If other types of relationships are used, they shall be used sparingly and with full understanding of how the relationships have been implemented in the scheduling software being used. Ideally, the sequence of all activities will be defined in such a way that the start of every activity has a logical relationship from a predecessor and the finish of every activity has a logical relationship to a successor".[3]
SF is rarely used, and should generally be avoided. Microsoft recommends to use SF dependency for just-in-time scheduling.[4] It can be easily shown however, that this would only work if resource levelling is not used, because resource levelling can delay a successor activity (an activity, which shall be finished just-in-time) in such a way, that it will finish later than the start of its logical predecessor activity, thus not fulfilling the just-in-time requirement.
There are three kinds of dependencies with respect to the reason for the existence of dependency:
- Causal (logical)
- It is impossible to edit a text before it is written
- It is illogical to pour concrete before you dig the foundations of a building
- Resource constraints
- It is logically possible to paint four walls in a room simultaneously but there is only one painter
- Discretionary (preferential)
- I want to paint the living room before painting the dining room, although I could do it the other way round, too
Early critical path-derived schedules often reflected only on causal (logical) or discretionary (preferential) dependencies because the assumption was that resources would be available or could be made available. Since at least the mid-1980s, competent project managers and schedulers have recognized that schedules must be based on resource availability. The critical chain method necessitates taking into account resource constraint-derived dependencies as well.
Leads and lags
[edit]Dependencies can be modified by leads, and lags. Both leads and lags can be applied to all 4 types of dependencies.
PMBOK defines lag as "the amount of time whereby a successor activity will be delayed with respect to a predecessor activity".
For example: When building two walls from a novel design, one might start the second wall 2 days after the first so that the second team can learn from the first. This is an example of a lag in a Start-Start relationship.
In accordance to PMBOK a lead is "the amount of time whereby a successor activity can be advanced with respect to a predecessor activity For example, on a project to construct a new office building, the landscaping could be scheduled to start prior to the scheduled punch list completion. This would be shown as a finish-to-start with two-week lead".[1]
Example
[edit]If you are building a building, you can't paint the walls before installing the water pipes into the walls.
Advanced cases of activities dependencies
[edit]Maximal-type relationships
[edit]Activity A and Activity B are said to have a Maximal-Type Relationship, if Activity B can start after Activity A, but with the delay of no more than X.[5] Real life examples, which are simulated by Maximal-Type Relation:
- Shoring of the trench has to be done not necessarily immediately after excavation, but within certain time, otherwise the trench will collapse.
- Vaccination of baby has to be done not immediately after birth, but within certain time
- Renewal of the passport has to be done some time after the current one has been issued, but before it expires.
- Invoice payment does not have to be done immediately, but within certain time after it has been issued.
Maximal-type relationships are rarely implemented in the project management software, most probably because with this feature it is too easy to create contradictory dependencies.
See also
[edit]Citations
[edit]- ^ a b A Guide to the Project Management Body of Knowledge: PMBOK Guide. Project Management Institute, Incorporated. 1 January 2013. ISBN 978-1-935589-67-9.
- ^ Mulcahy 2021, p. 173.
- ^ a b c d Practice Standard for Scheduling. Project Management Institute. 2011. ISBN 978-1-935589-24-2.
- ^ "Microsoft article of SF links for Microsoft Project". Archived from the original on 2014-02-02.
- ^ "ProJack Manager web site, describing maximal-type relationships". Archived from the original on 2014-02-03.
References
[edit]- Mulcahy, Rita (2021). PMP Exam Prep, Tenth Edition-Upgraded. ISBN 1-943704-27-9.
Dependency (project management)
View on GrokipediaFundamentals
Definition
In project management, a dependency refers to a logical relationship between two activities, or between an activity and a milestone, that dictates the order in which they must be performed to maintain the project's sequence.[2] This relationship ensures that the start or completion of a successor activity is contingent upon the progress of a predecessor, thereby influencing the overall project timeline and resource allocation.[2] Dependencies differ from constraints in that they emphasize inherent logical sequencing among tasks, rather than external impositions like fixed deadlines, resource limitations, or budgetary boundaries that restrict project options.[3] While constraints set absolute boundaries on how and when work can occur, dependencies focus on the relational flow between elements, allowing flexibility within those bounds as long as the sequence is preserved.[3] The concept of dependencies emerged in the 1950s through pioneering network-based scheduling techniques, including the Critical Path Method (CPM) developed in 1957 by DuPont and Remington Rand for optimizing plant construction timelines, and the Program Evaluation and Review Technique (PERT) introduced in 1958 by the U.S. Navy for the Polaris missile program.[4] These methods formalized dependencies as arrows or links in activity diagrams, revolutionizing project planning by highlighting critical sequences and potential delays.[5]Importance
Dependencies play a pivotal role in project management by enabling accurate scheduling through the identification of task sequences, which ensures activities are executed in the optimal order to avoid rework, unnecessary delays, and resource inefficiencies.[6][7] By mapping these sequences, project managers can develop realistic timelines that align with project objectives, minimizing disruptions and enhancing overall efficiency during execution.[8] This foundational aspect builds on the logical relationships between activities, allowing for a structured approach to planning.[9] Furthermore, dependencies are essential for determining the critical path in a project, defined as the longest chain of interdependent tasks that directly influences the total project duration.[10][11] Without properly accounting for these relationships, the critical path cannot be accurately identified, potentially leading to miscalculated completion dates and scope creep.[12] This integration of dependencies into critical path analysis provides a clear view of the project's constraints, enabling managers to prioritize efforts on time-sensitive activities.[13] In terms of risk management, dependencies serve as key indicators of potential vulnerabilities, where unmanaged interdependencies can create bottlenecks, escalate costs, and derail timelines.[7][14] Effective handling of these elements supports proactive contingency planning, allowing teams to anticipate issues and implement mitigation strategies to safeguard project success.[15][16] The significance of dependencies has evolved in modern project management standards, with the PMBOK Guide Eighth Edition (2025) emphasizing their role within the Schedule Performance Domain to facilitate value delivery through coordinated and adaptive planning processes.[17] This domain underscores how dependencies contribute to organizing project work, ensuring alignment with strategic outcomes and continuous adaptation to changes.[17]Classification
By Nature
In project management, dependencies are classified by their inherent nature into mandatory and discretionary categories, which influence the rigidity of activity sequencing and overall schedule flexibility. Mandatory dependencies, also known as hard logic, are intrinsic to the work itself and arise from unavoidable constraints such as physical limitations, legal requirements, or contractual obligations. These dependencies are non-negotiable, as altering them could render the project infeasible or non-compliant. For instance, in construction, the foundation must be poured and cured before walls can be erected, due to fundamental engineering necessities.[18][19] Discretionary dependencies, or soft logic, stem from project team decisions based on best practices, experience, or preferences for optimizing efficiency, and they can be adjusted if needed without violating core requirements. However, such changes may introduce risks like suboptimal quality or increased rework. A common example is sequencing a design review before procurement in product development, a preferred approach to minimize errors but one that could be reversed to accelerate timelines.[18][20] The core difference between mandatory and discretionary dependencies is their level of compulsion: the former are fixed and immutable by design, ensuring compliance and feasibility, while the latter provide leeway for adaptation, potentially enhancing project agility but requiring careful evaluation to avoid inefficiencies.[21][22] In the PMBOK Guide, this classification by nature supports the Develop Schedule process by guiding activity sequencing to produce a realistic and optimized project timeline.[23]By Source
Dependencies in project management are classified by source into internal and external categories, reflecting their origins relative to the project team's control and environment. Internal dependencies emerge from relationships and activities within the project's defined scope, allowing the project team to exert direct influence over their timing and execution. For instance, a development task might depend on the completion of testing by another internal team, enabling adjustments through internal scheduling and resource shifts.[6] External dependencies, in contrast, arise from factors beyond the project's boundaries, such as third-party vendors, government regulations, or unpredictable elements like weather conditions. An example is a construction project awaiting material delivery from an external supplier, which introduces constraints outside the team's direct management.[6] The management of these dependencies differs significantly: internal ones can be optimized through enhanced team coordination, clear communication channels, and agile reallocations to minimize delays, whereas external ones demand proactive stakeholder engagement, detailed contracts, and contingency planning to mitigate uncertainties.[22] In the PMBOK Guide, Eighth Edition, dependencies are incorporated into the Uncertainty Performance Domain, which focuses on risk assessment and resilience; this update particularly highlights external dependencies in hybrid project environments to address volatility from outside influences.[24][17]Relationship Types
Precedence Relationships
In project management, precedence relationships define the logical dependencies between schedule activities, specifying how the start or finish of one activity constrains the start or finish of a successor activity. These relationships form the foundation of network diagramming techniques used to sequence project tasks, ensuring that activities are performed in an order that respects their interdependencies. The four primary types—Finish-to-Start (FS), Start-to-Start (SS), Finish-to-Finish (FF), and Start-to-Finish (SF)—allow for flexible modeling of real-world project flows beyond simple sequential execution.[25] The most common precedence relationship is Finish-to-Start (FS), where the successor activity cannot begin until the predecessor activity has completed. This type reflects traditional sequential dependencies, such as completing the design phase before initiating construction in a building project. FS relationships are the default in many scheduling tools and practices, as they align with the natural progression of most project workflows.[25][26] Start-to-Start (SS) relationships occur when the start of the successor activity depends on the start of the predecessor activity, enabling overlapping execution once both have begun. For instance, in a software development project, resource mobilization (predecessor) might start concurrently with procurement activities (successor), allowing parallel initiation to accelerate timelines. This type is particularly useful for activities that can proceed in tandem after an initial trigger.[25] In Finish-to-Finish (FF) relationships, the successor activity cannot complete until the predecessor activity has finished, focusing on alignment at the end points. An example is quality testing (successor) that must conclude after development (predecessor) is fully done, ensuring that all components are ready before final validation. FF is often paired with SS for ongoing support activities, such as project management oversight that spans multiple tasks.[25] The Start-to-Finish (SF) relationship, though rare, links the finish of the successor to the start of the predecessor, where the successor's completion is delayed until the predecessor begins. A practical case involves shutting down an old system (successor) only after the new system installation (predecessor) has started, minimizing downtime in IT migrations. Its infrequent use stems from the uncommon scenarios where a successor's end directly hinges on a predecessor's initiation.[25] These relationships are implemented through the Precedence Diagramming Method (PDM), a technique that represents activities as nodes (boxes) connected by arrows indicating dependencies, typically flowing left to right to depict time progression. Developed by John W. Fondahl in 1961 as an alternative to arrow diagramming, PDM supports all four relationship types and defaults to FS unless otherwise specified, facilitating clearer visualization of complex schedules. In PDM, every activity except the project start and end nodes should have at least one predecessor and successor to maintain a fully connected network.[25][27]Leads and Lags
Leads and lags are time-based adjustments applied to precedence relationships in project scheduling to account for overlaps or delays between activities, allowing for more precise modeling of real-world timing constraints. A lag represents a positive delay imposed on the successor activity relative to the predecessor, requiring a specified waiting period before the successor can begin or finish; for instance, a 5-day lag in a finish-to-start (FS) relationship might be used to allow concrete to cure before framing commences.[28][25] Conversely, a lead functions as a negative lag, permitting the successor activity to start ahead of the predecessor's completion, thereby enabling partial overlap; an example is a -2-day lead in a start-to-start (SS) relationship, where testing begins while development is still concluding.[28][25] These adjustments can be incorporated into any of the four standard precedence diagramming method (PDM) relationship types—finish-to-start (FS), start-to-start (SS), finish-to-finish (FF), and start-to-finish (SF)—to refine the logical sequence without altering the underlying dependencies.[25] In scheduling software tools, leads and lags are typically specified as numeric values, often in calendar units such as days, hours, or weeks, though some tools support percentages of predecessor duration for more flexible modeling.[25] This capability ensures that the schedule reflects practical constraints, such as resource availability or physical processes, while maintaining network integrity.[25] Leads and lags are employed in project schedule management to establish realistic activity relationships and adjust timing as needed.[25] They facilitate schedule optimization by managing total float—allowing leads to compress the project timeline through overlaps and lags to enforce necessary pauses—ultimately reducing overall duration without compromising logical dependencies or introducing undue risk.[28][25] The Practice Standard for Scheduling emphasizes their judicious use, recommending that they supplement, rather than replace, clear activity definitions to avoid schedule complexity.[25]Applications
Examples
In construction projects, a common dependency is the finish-to-start (FS) relationship between pouring the foundation and beginning framing, where framing cannot commence until the foundation has fully cured and passed inspection. This often incorporates a lag of 7 days or more—for example, to allow for curing and mandatory inspection—to ensure structural integrity before proceeding.[29][30][31] In software development, dependencies frequently dictate sequential workflows, such as the FS relationship where coding must finish before testing can start, preventing errors from unverified code impacting quality assurance. Conversely, to enable overlap and efficiency, UI design might employ a start-to-start (SS) relationship with a lead, allowing it to begin shortly after coding initiates rather than waiting for completion, facilitating iterative feedback in agile environments.[32] A hybrid example arises in technology projects combining internal and external elements, where software testing is delayed by an external dependency on vendor hardware delivery; internal teams prepare test environments, but actual validation waits for the shipment, highlighting the interplay between controllable internal tasks and unpredictable external factors.[33][6] These dependencies are often visualized in network diagrams, where tasks appear as nodes (e.g., boxes or circles) and relationships as directed arrows indicating precedence, lags, or leads for clear sequencing.Common Challenges
One prevalent challenge in managing dependencies is the occurrence of circular dependencies, where tasks form a loop, such as Task A depending on Task B and Task B depending on Task A, leading to infinite cycles in the project schedule and potential errors in critical path calculations.[35] These loops invalidate the schedule model and can cause significant delays or miscalculations in resource allocation and timelines.[25] To resolve them, project managers can break the loop by introducing milestones as intermediate checkpoints or adjusting logic ties to eliminate the circularity.[25] Over-reliance on discretionary dependencies, which are based on best practices or team preferences rather than hard requirements, can introduce rigidity into the project schedule by limiting flexibility and increasing the risk of inefficiencies or delays if assumptions prove incorrect.[36] This over-dependence may constrain adaptation to changing conditions, as these "soft" relationships become treated as mandatory over time.[37] Mitigation involves conducting regular reviews during agile or hybrid project iterations to reassess and adjust these dependencies dynamically, ensuring they support rather than hinder progress.[36] Neglecting external dependencies, such as those involving vendors or regulatory approvals outside the team's control, often results in unforeseen delays that cascade through the project timeline.[38] According to a 2003 analysis of hundreds of projects from the PERIL database, dependencies represented the most severe schedule risk category, with an average impact exceeding seven weeks per incident.[38] Effective strategies include incorporating buffer times into the schedule to absorb potential disruptions and enforcing vendor service level agreements (SLAs) to define clear expectations and accountability.[39] In agile environments, dependencies spanning multiple sprints pose unique challenges by requiring robust cross-team coordination to avoid bottlenecks and maintain flow.[40] The PMBOK Guide, Eighth Edition (2025), addresses this through its adaptive approaches, emphasizing the use of cross-functional teams and collaborative planning to minimize handoffs and interdependencies across iterations.[40][17] This involves prioritizing communication channels and dependency mapping to enable timely resolution and alignment with overall value delivery.[41]Advanced Concepts
Maximal Relationships
Maximal relationships in project management scheduling impose an upper bound on the timing between a predecessor and successor activity, requiring the successor to commence or conclude no later than a specified maximum duration after the predecessor to avert delays that could compromise project viability. These dependencies contrast with conventional minimal relationships, such as the standard finish-to-start (FS), by enforcing a ceiling on allowable lags rather than a floor, often modeled mathematically as inequalities where exceeding the limit renders the schedule invalid.[42] The primary types of maximal relationships mirror the four standard precedence types in the precedence diagramming method (PDM) but incorporate maximal constraints: maximal finish-to-start (maxFS), where the successor starts no more than a defined period after the predecessor's finish; maximal start-to-start (maxSS), limiting the gap between starts; maximal finish-to-finish (maxFF), capping the interval between finishes; and maximal start-to-finish (maxSF), restricting the time from predecessor's start to successor's finish. These are particularly applicable in scenarios demanding tight coordination, such as resource sharing across activities. To integrate them into traditional critical path method (CPM) analysis, maximal relationships are typically transformed by negating the lag value, which reverses the inequality direction and may necessitate specialized algorithms for resolution.[42] In construction projects, maximal relationships enable precise modeling of time-critical sequences under resource constraints. For instance, when multiple teams are constructing houses simultaneously, a maxSS relationship might stipulate that framing on the second house begins no more than five days after framing on the first to optimize crew allocation and prevent idle time. This approach ensures logistical efficiency while adhering to practical limits on material and labor availability.[42] Despite their utility, maximal relationships introduce complexities in network development and analysis. Converting them to minimal equivalents for standard CPM tools can generate feedback loops, potentially yielding contradictory early and late dates or infeasible project durations that demand iterative computational methods to resolve. Furthermore, they are infrequently natively supported in mainstream project management software, often requiring bespoke implementations or advanced algorithms programmed in languages like C++ to handle the non-linear constraints effectively.[42]Software Implementation
Most project management software tools, such as Microsoft Project and Oracle Primavera P6, provide robust support for the four standard precedence dependency types—Finish-to-Start (FS), Start-to-Start (SS), Finish-to-Finish (FF), and Start-to-Finish (SF)—along with leads and lags to adjust timing between tasks.[43][44] These tools allow users to define dependencies through task linking interfaces, visualizing them in Gantt charts for timeline representation or network diagrams for logical flow.[45][46] Additionally, both Microsoft Project and Primavera P6 automatically calculate the critical path by analyzing dependency chains, total float, and project constraints to identify tasks that directly impact the overall duration.[47][48] Despite these capabilities, limitations persist in handling advanced or complex dependencies. Standard tools offer poor support for maximal relationships, which constrain the latest possible start or finish times, often requiring custom scripting or manual adjustments rather than native features. Dynamic external dependencies, such as those spanning multiple projects or involving real-time vendor inputs, are typically managed through manual overrides or external links, which do not automatically propagate changes across interconnected schedules.[49][50] Best practices for implementing dependencies in these tools emphasize leveraging built-in mapping features to create visual representations, such as dependency graphs or roadmaps, which aid in identifying risks and bottlenecks early.[7] For construction projects, integrating Primavera P6 with Building Information Modeling (BIM) software enables synchronized dependency tracking between 3D models and schedules, improving accuracy in sequencing structural elements.[51] In agile environments, tools like Jira support dependency visualization through issue links and plugins, facilitating cross-team coordination without disrupting sprints.[52] Post-2021 updates in project management software have increasingly aligned with the principle-based approach introduced in the PMBOK Guide 7th Edition (2021) and continued in the 8th Edition (2025), emphasizing adaptive and hybrid methodologies over rigid processes.[17] Emerging features include AI-assisted dependency detection, where machine learning algorithms analyze historical data and task patterns to suggest or automate links in tools like enhanced versions of Jira and specialized platforms, reducing manual effort in hybrid project settings.[53][54]References
- https://business.[adobe](/page/Adobe).com/blog/basics/project-network-diagram




