Una dependencia puede ser: obligatoria o discrecional, interna o externa. La dependencia tiene cuatro atributos, pero sólo se pueden aplicar dos simultáneamente.

Por lo tanto se pueden clasificar:

  • Dependencias obligatorias externas.
  • Dependencias obligatorias internas.
  • Dependencias discrecionales externas.
  • Dependencias discrecionales internas.

Las obligatorias (lógica dura o dependencias duras) son las requeridas legal o contractualmente, a menudo implican limitaciones físicas, como en un proyecto de construcción, en que es imposible erigir la superestructura hasta que no se hayan construido los cimientos; o en un proyecto de electrónica, en que es necesario haber construido el prototipo para poder probarlo. No se deben confundir las dependencias obligatorias con la asignación de restricciones de cronograma en la herramienta de programación.

Las discrecionales ( lógica preferida, lógica preferencial o lógica blanda)  se establecen en donde se desea establecer una secuencia específica, aunque existan otras secuencias aceptables.

Las dependencias externas  implican una relación entre las actividades del proyecto y las que no pertenecen al ámbito del mismo; estas dependencias están fuera del control del equipo del proyecto. Por ejemplo, la actividad de prueba en un proyecto de software puede depender de la entrega del hardware por parte de una fuente externa.

Las internas  implican una relación de precedencia entre actividades del proyecto y están bajo el control del equipo del proyecto. Por ejemplo, si el equipo no puede probar una máquina mientras no la haya ensamblado, se trata de una dependencia interna obligatoria.