- Home
- Blog
- Glossary (EDGEBIC)
- What Is a Dependency Type in Scheduling? EDGEBIC D…
What Is a Dependency Type in Scheduling? EDGEBIC Definition
A dependency type says how two linked operations relate to each other in time. In EDGEBIC by User Solutions, routing operations are connected into a chain, and every link in that chain carries a type describing what the connection actually requires: finish before start, start together, finish together, or the rare inverse.
The project-plan analogy holds well. Pour the concrete, then build the walls, is a finish-to-start link. Two painters starting opposite ends of the same room at the same moment is a start-to-start link. The arrow between two boxes always means something specific, and the type is what it means.
For the broader vocabulary of planning, see the manufacturing glossary.
How a Dependency Type Works
A schedule is a graph. Operations are nodes; the links between them are edges. The engine reads that graph to work out what order things can happen in, which is why a link that points the wrong way or forms a loop breaks scheduling entirely.
But an edge on its own is not enough information. Saying that milling connects to deburring does not say whether deburring waits for all of milling, some of it, or none of it. The dependency type supplies that.
Finish to start is the ordinary case and the one you will use almost everywhere. The predecessor must complete before the successor may begin. Saw, then mill, then inspect. It is what a routing chain means by default, and it is correct for the vast majority of manufacturing sequences because the part physically has to be through one process before the next can touch it.
Start to start means both operations may begin at the same time. This is the shape of genuinely parallel processing, where two stations work on the same job simultaneously rather than one handing off to the other.
Finish to finish means both operations must end together. It suits synchronized work where two machines have to stop at the same point, because stopping one without the other would leave the job in an invalid state.
Start to finish is the rare inverse: the successor must finish when the predecessor starts. It appears in some constraint-based models and almost never in an ordinary routing.
One distinction is worth stating clearly, because it causes more confusion than the four types put together. Overlapping two sequential operations, so the second station can begin on parts the first has already produced, is not a change of dependency type. The link is still finish to start in principle; what changes is that the handover happens in batches rather than at the end. That is lot streaming, configured on the routing step with a transfer batch size or a start-to-start lag in hours, and it is a different mechanism entirely.
A Concrete Example
Job 42 has four operations: saw, mill, deburr, inspect.
Every link here is finish to start. The blank cannot be milled before it is cut, cannot be deburred before it is milled, cannot be inspected before it is deburred. The engine reads the chain, sees that each link requires completion before the next begins, and schedules the four in sequence. Nothing about this is interesting, which is the point: the default type describes the default situation.
Now change the job. Milling takes thirty hours because the order is large, and deburring is quick. Waiting for all thirty hours before touching the first part is obviously wasteful, since parts come off the mill in trays of twenty-five all day long.
The instinct is to reach for a different dependency type. That is the wrong tool. What you want is lot streaming: set a transfer batch of twenty-five on the milling step, and the deburring step may start as soon as twenty-five parts exist. The two operations now overlap by many hours, the sequence is still honest, and the job's total span drops sharply.
Contrast that with a case where a different type really is correct: two drill heads that must run on the same job at the same time, starting together because the fixture demands it. That is a genuine start-to-start relationship, and it is what parallel processing describes.
How EDGEBIC Uses It
The dependency type describes the relationship on a link between operations:
- Finish to start is the routing default, and it is what the chain of steps in a normal routing means. The engine orders operations from that chain before placing them on machines.
- Start to start and finish to finish describe genuinely simultaneous or synchronized work, which is the territory of parallel processing rather than ordinary sequence.
- Overlap is not a dependency type. Letting a downstream step begin on partial output is lot streaming, configured on the step itself.
For the graph the links form, see what is a dependency graph in scheduling. For overlapping sequential work, see what is lot streaming. To wire the links yourself, follow how to sequence operations with dependencies.
Expert Q&A: Deep Dive
Q: Two of our operations really do run at the same time. Do I need a different dependency type?
A: Possibly, though check first which kind of simultaneity you mean. If two stations genuinely start together on the same job, that is a start-to-start relationship and it is what parallel processing describes. If instead you mean the downstream station can begin once the first has produced enough parts to hand over, that is not a different link type at all, it is lot streaming, and it is configured with a transfer batch or a start-to-start lag on the routing step. Getting that distinction right saves a lot of confusion, because the two look similar on a Gantt chart and behave quite differently.
Q: Why does my second operation wait for the whole first operation to finish?
A: Because a plain finish-to-start link means exactly that, and it is the default for good reason. If the second station could actually start on partial output, the fix is not a different dependency type but lot streaming: set a transfer batch so the downstream step may begin once that many pieces exist, or a start-to-start lag in hours. That overlaps the two operations while keeping the sequence honest, and it is usually the largest single lead-time reduction available on a routing where parts move in trays rather than whole lots.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
The EDGEBIC Scheduling Glossary Index
A themed index to the EDGEBIC glossary: scheduling engine, capacity and calendars, materials and planning, shop floor, reporting, quoting, and data import terms, defined in plain language.
What Is the Critical Chain in Manufacturing Scheduling?
The critical chain is the longest dependent path through a plan once shared machine contention is counted, not just step precedence. Here is how it differs from the critical path.
What Does Finite Capacity Mean in EDGEBIC?
Finite capacity means the scheduler refuses to book more hours on a machine than that machine actually has. See exactly how EDGEBIC enforces it, day by day and shift by shift.
