基礎題¶
為什麼有前置關係的任務,不適合只靠人工直覺安排順序?
什麼情況下,你需要的不只是單一順序,而是分階段執行清單?
為什麼循環依賴會讓流程永遠排不完?
如果某個依賴任務不存在,你希望系統怎麼回報才容易除錯?
實作題¶
讓分階段執行函式多回傳每一階段的任務數量。
新增一個函式,回傳目前所有沒有前置依賴的起始任務。
把依賴模型改成支援不同部門的擁有者欄位,並輸出跨部門交接點。
反思題¶
本章用拓樸排序找到一條「合法順序」,但合法順序可能不只一條。在真實專案裡,你會根據哪些額外條件(例如人力、風險、時間)來從多條合法順序中選出最好的一條?
循環依賴在程式層面會讓流程卡死,但它通常也是現實中的流程設計問題。你能想到在哪些真實工作場景,循環依賴最常出現?它的根本原因是什麼?
分階段執行清單讓你知道「哪些事可以同時做」。但如果同一階段的任務太多、人力不夠同時承接,你會怎麼在這個模型上加入人力限制?