一次寫程式時間分配的簡單觀察

許多人對寫程式的族群以及這樣的活動,存在著許多不了解以及神祕感。我在一個有名的社群上,看過這樣的對話:

工程師: 這個需求預計開發 48 個工時,所以最快要到下個禮拜。

PM: 不懂,可是一天有 24 小時呀

雖然我寫程式,但是一直都是業餘的性質,之前主要的工作還是管人寫程式。十幾年下來即使對於其中時間的分配有一些心得,但究竟不是第一手的接觸。現在有時間了,決定用幾天的時間,好好觀察自己的行為,順便印證之前的心得。

測試的時間是兩個星期,但是大叔還有其他外務以及家務要料理,真正能留下紀錄的只有兩個三天。紀錄的方式用手機計時,一旦活動有改變就記下來,從早上 6 點一直到 10 點。活動的分類及分析則是整個紀錄完再進行。

詳細內容就不列了,不然讀者到這裡就不看了。有一些規律,大致講一下:

  • 真正能冷靜下來面對編輯器的時間並不是連續的,上午約略是 10 點到 12 點前,下午則要到 3 點之後,一直到 4 點半左右。其他的時間幾乎沒有生產力,都在摸東摸西,發呆或是看網頁。

  • 解決比較大的問題或是 eureka 式發現的時間點,沒有例外都在早上。

  • 真正在 editor 中寫程式的活動再細分,發現查 API 用法的時間比例很大,大過去 stackoverflow 上面找解法。這個我有點驚訝,比我預期的高,因為現在的開發環境,Intelligent code completion 的功能越來越先進。現在回想,可能花時間在找 API 的 sample 用法。

  • 當解決一個大一點的問題之後,注意力反而下降,當天的其餘時間幾乎都寫不出東西,我想是因為壓力突然降低,人就鬆懈了。這也表示單一個人生產力是會上下波動,很難一直持續。

另外有兩點心得,這裡也記錄一下: 1, 即使是自己觀察自己,也感覺得出來有 「觀察者效應」,實際情況應該還是有點差異 (生產力可能更低?) 2. 這個觀察應該只限於獨立工作的人,若是團隊的時間分配應該會更複雜。

心得: 除了驗證了 programmer 也是人之外,目前並沒有其他可以彙整的結論。究竟這只是單一一個人在短期間的活動以及粗淺的判斷。不知道有沒有機會會有學術單位或是企業做有規模的研究? 可能會有意想不到的發現也說不定。

results matching ""

    No results matching ""