Seems like creating and maintaining the dependency graph could be error-prone. If it's a manual process then it can't be very fine-grained, which you would want more of for maximum efficiency.
You have to maintain the dependency graph anyway to build the system. And no, maintaining the dependency graph is not entirely manual.