死亡無所懼——但請處理好你的「巴士因子」

巴士因子
我第一次聽說巴士因子這個詞是在2013年的一次協作專題學術討論會上。簡言之,它指的是為了使一個軟件開發維護完全無法進行下去,需要有多少個團隊成員被車壓死——一個很妙的概念,至少我是這麼想的。而我馬上就意識到,我的軟件的巴士因子是1,也就是我,於是,我想,應該花時間思考一下為什麼會變成這樣,我應該用某種方式讓我的軟件傳播出去。

那麼,巴士因子僅僅是一個讓我們去思考如何開發軟件的黑色幽默術語嗎?兩個星期後,我的朋友,也是我的同事,就被一輛重型貨車撞了。我不打算說出她的名字,我不想因為這篇文章導致有人跳出來在搜索引擎上搜索關於她的信息——儘管如果真的想找出她也不需要太多的偵探技術。我最後一次見到她是在她的博導的葬禮上——也是我的朋友和同事——也是正當壯年,在新年那一天從樓梯上摔下來。全都是這麼突然,巴士因子對於我來說已經不是一個輕率兒戲的詞語。它開始像鬼魂一樣糾纏着我。

對與他們的死亡的評論,有的是「45年積攢的寶貴經驗就這樣沒了」,有的說「現在沒人知道這些衛星是如何工作的了」。我知道這些並不都是實話。他們倆都在歐洲航天局衛星項目組工作,那裡有嚴格的工作制度。也就是說,會有一個Algorithm Theoretical Baseline Document(算法理論基本文檔ATBD),這是一本很厚的,詳細的文檔說明,它能準確的告訴你衛星是如何工作的。還有源代碼,偽代碼,還有一個很大的團隊,都能接替他們的工作。如果沒有意外,他們留下的工作將會繼續下去。

儘管如此,我們仍然應該認真想想如何處理我們的研究工作。一次意外的死亡並不是像我們想象的那樣遙不可及。為了避免這種意外事故造成的影響,我想到了以下幾點。首先,密碼——如果我不在了,我的同事如何能進入我的計算機?然後是準備一個備忘錄。有時我找到自己的文件都很困難,如果能更好的整理它們?然後是這最重要的一塊,軟件本身。

所以,這就是我下一步要做的。我會單獨拿出時間來整理這套軟件,將散亂的東西整理到一起,發佈時要附帶所有必要的文檔。我會堅持要求我的學生在去做其它新任務前也要這樣做。好的習慣現在就要開始,我們要讓它成為日常工作的一部分——以防萬一。

[英文原文:Don't fear the reaper - dealing with the bus factor ]

想在手機閱讀更多程式設計資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems