一部講述三部工作法的小說
概述
全書貫穿了“三步工作法”的理論,主角比爾通過這個理論一步步的成長,最后成了下一任的COO。開篇主角比爾只是負責中型機的技術總監,但突然之間,他上面的領導都被公司開除,于是他成為了新一任的領導,而且剛一上任就出現了一個重大的問題,薪資系統出現問題,面臨的最糟糕的情況就是員工無法開資,需要他當天就解決這個問題,這就是他上任遇到第一個問題,也是無極限IT部門暴露給他的第一個問題。隨后,問題接二連三的出現,讓他無法喘息。而最主要的是公司要讓一個已經開發了多年而又一盤散沙項目馬上上線,因為董事會已經決定要拆分公司。如果不可以在這個項目上翻盤的話,IT部門將會解散,比爾自己也要重新尋找工作。而這個項目就是這本書的書名“鳳凰項目”。
這個項目的名稱我非常喜歡,“鳳凰” —— 在中國的傳統文化中,鳳凰是一種瑞鳥,稱為百鳥之王。而在外國的文化中,可能更和這本書的內容相容,在國外鳳凰是來源于希臘語,他混合了亞述人的不死鳥和埃及的太陽鳥演變而來,而無論是亞述人的不死鳥還是埃及的太陽鳥都有可以重生的寓意。就像無極限公司的這個項目一樣,需要重生。因為此時他們正在不斷的被競爭對手吞噬市場,就算是董事會不拆分公司,他們不久的將來也會被對手所打敗,最終的命運也將一樣。這就是我喜歡這個書名的原因,要死過才可重生。
主角終于在被弄的焦頭爛額的時候,“掃地僧”埃瑞克出現了,他一步步的指導比爾利用三步工作法讓IT部門走上正規。
第一步 —— “正向”推向市場
比爾首先利用“第一步工作法”。這一步主要是控制從“開發”到“運維”再到“客戶”的工作流,既然稱他為流,那么他的一個特征就要時刻的關注,那就是“流量”。這個工作流的流量是這步工作法的關鍵,為了使這個流可以更快的流動起來,那么就要保證足夠小的批量規模和工作間隔,也就意味著你每次發布的東西不能太大,發布的周期也要足夠的密。這樣才能減少這條流的空閑時間,增加這條流的流量。
互聯網產品的特點即是:你不需要憋大招,需要的是可以快速的上線并且不斷的迭代,大膽的嘗試,小心的試錯。這就是要把第一步工作法中的流量最大化。當然,要想更大限度的增加這個流量,還是需要保證:持續構建、集成及部署、嚴控半成品、以及能夠順利變更的安全系統和組織。比爾通過這一步的工作,將人員的工作側重點有效的控制了起來,制定合理的工作流,讓每個人都清楚的理解工作流,按照工作流來做是第一步工作法的關鍵。在這一步中,還提到了幾個概念:約束點、四種類型的工作以及技術債務。
約束點是在這個工作流中的關鍵點,如果這個點出現了問題將很可能使得整個工作流停止,所以當比爾了解到這個問題之后,他做的就是將約束點保護起來,然后想盡一切方法讓其它的事情不去打擾到約束點,這樣可以讓這個約束點只為了鳳凰項目而生產,讓鳳凰項目可以最大力度的推進。
四種類型工作:業務項目、IT運維項目、變更以及計劃外工作。這四種類型的工作,前三種是無法主觀的來控制的,但是第四種“計劃外工作”是可以進行控制。很多時間管理的書籍也提到過這一點,那就是對于計劃外的事情,要學會如何來拒絕,如果實在無法拒絕,那么可以把他變成前三種類型的工作,這樣其它的工作就會順延。
最后一個概念“技術債務”,這個對于開發人員可能更好的理解一些,那就是Bug。一個系統或產品的開發,是不可有做到“零Bug”的,這個對于開發人員來說,只能出現在夢里,那么當出現Bug需要修正的時候,其實這就是一個技術債務,是因為前期沒有做好所欠下的債務。對于這類的工作如果已經發生了,那么沒辦法只能將債務盡力償還,但是最關鍵的是在前期不讓自己欠下這類的債務。
第二步 —— 反饋
第二步最關鍵的是形成反饋,用今天互聯網的思維來說,其實就是快速迭代的過程,當你可以快速的發布了之后,也要可以快速的收集到反饋。但是在這里又提到了幾個概念來完善這個反饋,那就是“等待時間可視化”與“節拍時間”。其實從另一個角度上來說,這兩個概念是相輔相成的關系,為什么要有“節拍時間”。這個詞來源于制造業,就是跟上客戶需求所需的周期時間。如果在工作流中有任何操作的時間比節拍時間要長,就無法跟上客戶的需求了。那么如何來知道自己的節拍時間呢?這就是要讓“等待時間可視化”。等待時間取決于資源使用率。“等待時間是‘忙碌時間百分比’除以‘空閑時間百分比’。也就是說,如果一個資源的忙碌時間是50%,那么它的空閑時間也是50%。等待時間就是50%除以50%,也就是一個時間單位,比如是一個小時,所以平均來說,一個任務在處理前的排隊等待時間為一個小時。但當資源使用率超過80%時,等待時間就會直線上升。那么這樣你可以推進的進度就會放慢,因為等待時間變長,一但出現計劃外或者“技術債務”的發生,其它的工作就會停止下來。
第三步 —— 創造公司文化
“第三步工作法”則是更高一個層次的方法。是關于創造公司文化,該文化可帶動兩種風氣的形成:不斷嘗試,這需要承擔風險并從成功和失敗中吸取經驗教訓;理解重復和練習是熟練掌握的前提。
嘗試和承擔風險讓我們能夠不懈地改進工作系統,這經常要求我們去做一些與幾十年來的做法大不相同的事。一旦出了問題,不斷重復的日常操練賦予我們的技能和經驗,令我們可以撤回至安全區域并恢復正常運作。
必要的做法包括營造一種勇于創新、敢于冒險(相對于畏懼或盲目服從命令)以及高信任度(相對于低信任度和命令控制)的文化,把至少20%的開發和IT運維周期劃撥給非功能性需求,并且不斷鼓勵進行改進。