- 精益軟件度量——實踐者的觀察與思考
- 張松
- 1433字
- 2019-01-01 23:46:40
4.6 指標體系需要演進
度量體系中的指標不是一成不變的,所謂“流水不腐,戶樞不蠹,動也”。企業內部和外部環境的變化不可避免,我們設計體系時所期望滿足的目標和優先級也可能發生變化,因而需要隨之增加、減少或是修改當前的指標。當增加一個指標的時候,一定要記住重新審視一下己有的指標,看看是否有可以減去的,否則指標體系將會越來越沉重,體系的投資回報逐漸降低。
說到演進,我們在不同公司,特別是比較大型的公司,看到的現象經常是只增不減。當遇到一個需要從流程角度來解決的問題時,流程人員就會嘗試在流程上增加新的內容,或者增加新的流程活動,或是啟用新的指標,以減小該類問題發生的可能性。隨著時間的流逝,流程和指標變得越來越復雜,由于執行貫徹的難度和成本己經使其成為正常運轉的枷鎖,整套體系形同虛設,最后就沒什么人會再關心什么是真地被落實了。
度量體系的演進受到多個因素的影響,有必要對這些因素進行定期的評估。首先是目標的演進,組織在不同階段,應該對目標定義有不同的優先級,而目標的優先級會對指標體系的裁剪產生影響。以產品生命周期的一個場景為例。如圖4-4所示,在早期,搶占市場份額,奪取先發優勢可能是最重要的成功要素,那時,市場響應速度就是度量的重心;而當產品進入成長和成熟階段,質量是樹立高端形象,在利潤率上拉開優勢的關鍵;到了更后面的階段,效率、成本則對延長產品生命期,獲得更多的收益起到更重要的作用。

圖4-4 產品生命周期
其二是指標數據的收集和分析手段。前面說到,指標設計的選取需要考慮有效性、可靠性和成本3個因素,而數據收集和分析工具的適用性對這幾個因素都有至關重要的影響。項目管理工具是否能有效地體現精益的理念,直觀地呈現工作單元的狀態和在工作環節之間的流轉狀況,以“看板”的方式把各個環節的隊列可視化出來?構建設施是否能夠及時反饋每次合入代碼的內部質量和外部質量,監測新的變更對整個產品、各個團隊有什么影響?逐步有意識地部署、定制和改進相關的工具,就能夠以較低的成本,為度量指標的選擇和裁剪提供更多的靈活性,使體系更加契合目標的需要。
其三是團隊的成熟度。一般來講,團隊對于指標的使用也是有一個認識的過程。如果一個團隊很少在日常運營中使用度量,哪怕經過了系統的培訓,還是很難在一開始就能判斷到底什么指標是有效的,什么指標是沒有太大意義的,因此團隊對指標的使用經驗,其實也是指標體系演進的重要輸入。經過一段時間的實踐,團隊應該能夠從覆蓋不同領域和目標的指標中做出選擇,獲得有意義的綜合性信息,而不至于淹沒在一大堆讓人困惑,不知道有什么價值,充斥著噪音的數據。
指標演進所面臨的一個明顯的挑戰是歷史數據的保留和延續。通常來講,我們收集和保持越長的歷史指標數據,我們就越容易從中間發現規律性的線索,這種規律性也就越可靠。這種規律其實就是關于這個組織、這個系統所沉淀的一種知識。指標的變化可能意味著歷史數據的中斷,那么在指標的演進和歷史數據的延續性之間如何權衡呢?我們觀察到,歷史數據的價值在不同的產品開發組織中是不一樣的。對于前面舉的Big Bank和Big Teleco兩個例子來說,Big Bank的軟件開發團隊面臨的業務和技術的演進相對很快,幾年前的度量數據對當前的軟件開發的借鑒意義可能己經不是太大。相對而言,Big Teleco使用的技術就相對穩定,產品的生命周期也比較長,在這種情況下,提煉一個核心的指標集合,在相當長的一段時間內累積這些指標的歷史數據,在具備一定程度一致性的數據中尋找模式(pattern),則能夠對后續的提升和創新機會提供線索和證據。