DLD:Deadline Driven

前幾天和一個原本同小組,最近被調去支援專案的朋友討論一些開發方法論的東西。由於他支援的專案快要進入 DEMO 期,所以在他 OOAD 完以後,沒剩多少時間了,我就開玩笑的說:「你該採用 DLD 開發法了!」

朋友如同現在在看文章的你,馬上問道:「什麼是DLD開發法?」

就我自已的定義,簡單的說,就是在 Deadline 之前用各種可能的方式交貨。用一句話來形容的話,就是:

DLD (Deadline-Driven) 開發就是: “拼死拼活會動就好.”  ~ bu

那為什麼會需要用到這樣的一種開發法呢?

通常在專案進行的過程中,開發的人員多少都會出現學生症候群。而什麼是學生症候群呢?這個是一個你在字典上還找不到的單字,以下是 Wikipedia 的說明:

Student syndrome refers to the phenomenon that many people will start to fully apply themselves to a task just at the last possible moment before a deadline. This leads to wasting anybuffers built into individual task duration estimates.

中譯:學生症候群是指一種很多人會直到期限的最後一刻才加緊趕工的一種現象。這個現象會消耗掉個別工作間原本安插的緩衝時間。

於是乎,因為這種現象的產生,我們就有了很多 DLD 的開發實例,比如說 DEMO 前一天才完成產品的 beta 版,或是在上線前一小時才把 bug 修好…等等。

重點是,在那樣極端的壓力下,沒有任何品質可言,就算有,也不是可以經由特定量化方法來量化的數據。因此,作任何工作的人,都應該極力避免使用這個開發方式。那麼要如何避免呢?二個簡單的方法:

  1. 在排時程的時候先留下末端20%的時間後,開始排時程(這個最好不要自已排)
  2. 把大工作切割成一個一個可以在行事曆上排定的項目

希望簡單提起這個問題,可以讓大家想一想,是不是有更好的方法來對付DLD (dance) 讓每個人都成為效率很高的工作者