讀張維迎先生的《理性思考中國改革》一文,聯想到軟體企業所進行的cmm/cmmi過程改進工作,頗有感想。無論相對微觀的過程改進還是巨集觀的改革,其思考方式看來是可以借鑑利用的。
張先生一文的內容可以概括為四個短語:換位想、向前看、講可行、重邏輯,這些何尚又不是在軟體過程改進工作中必須遵循的思考方式呢?
中國的改革是摸著石頭過河,參照的樣板和理論都是最先由西方人創造、提出,軟體開發過程中的方法、工具、理論和規範更是來自歐美大的軟體公司的實踐,完全由中國人提出或實踐得出的東西幾乎為零,即使有,也是一些邊角的區域性的。基於這樣的環境,理性思考我們的軟體過程改進工作對我們在企業中開展過程改進就尤為重要。
換位想:在過程改進中,過程的主導者和過程實施者都應該具備換位想的思維方式,換個角度看問題,往往能得出不同的結論。作為過程主導者的epg,往往不是第一線的軟體管理、開發人員,經常容易犯緊靠cmmi條文的錯誤,而不是從執行者的角度來思考設計流程。因此,換位思維在過程改進活動中極為重要,epg不但需要從執行者的角度來思考流程設計的質量,也要從管理層來思考目標的實現成本。在推行cmmi時,所有遇到的阻力,很大程度上是由於照搬cmmi的條文,不切合專案組的實際,沒有具體情況具體分析而導致的。實際上,一線的管理、開發人員最了解事實真相和實際管理需要。誰了解實際,誰就有發言權。在制定cmmi規程標準時,尤其是在制定大家要執行的操作規程、模板和記錄模版時,一定要得到執行者的認同,從執行者的角度來判斷過程檔案的質量。如果主導者沒有換位思考,僅站在自己的立場看待問題,強行利用行政力量推行,表面上看來似乎大家照規程做了,其實是表面文章,對過程的改善沒有實際幫助。執行者同樣應該換位思考,把握流程實施的本質目標,從而對執行的困難和問題進行更有針對性的溝通,找尋到最佳的平衡點。如果執行者能換個角度思考,站在流程制定者的立場思考,清楚地知道為什麼要這麼做,規範是出於什麼目的,就不會出現被動執行的情況,相反能積極地影響到流程制定者,將最真實的現狀告訴他們。本身,乙個企業中,軟體過程改進人員和執行人員應該是基於同樣的目標在工作,如果大家都僅從自己位置思考問題,就容易造成執行和溝通的障礙。有些時候,導致spi工作受阻,其混亂產生的根源在於:epg認為是執行的問題,執行者認為都按規定執行了但體系不切實際,結果就出現出現體系和實際是"兩張皮"的情況。執行者的換位思考需要在體系培訓檔案時激發出來,甚至更早,而流程制定者的換位思維方式,在組建epg時就應該灌輸下去,讓每個人都能拋開條文,真正落地到現實執行中。
向前看:對於過程改進人員而言,是否具備向前看的思維方式將直接影響到過程改進工作的持續性、繼承性。一方面,流程制定要符合實際情況,另一方面,在分析差距、分析改進方向時要考慮到未來的變化,這種變化包括商業目標、環境、資源和人員的變化情況,從而系統地制定過程改進計畫。 在很多過程改進的案例中,epg執迷於過去經驗,執迷於現狀的情況不在少數。我們會聽到這樣的聲音:「我們過去一直都是這樣做的」,「我們現在沒有這個能力」,或者只是簡單地解決當前的問題,而不思考背後本質的原因。向前看,是指用發展的眼光系統地看待過程改進,而不是就事論事,只著手解決眼前問題和短期目標。向前看,需要高層管理對過程改進活動定義明確的目標和發展戰略,真正將過程改進活動融合到企業的戰略發展中。在同行的交流活動中,發現很多企業只是謀求一紙證書,對過程改進並未定義長期的發展目標,結果在實際執行時缺乏系統性和持續性。缺乏合理的發展目標,也是很多企業過程改進時從諮詢公司拿來一套模板,改改公司名稱就投入使用,這樣的情況屢見不鮮。
向前看,另乙個意思就是發展的看,過程改進是改良行為,不能做成革命,不可能一步到位,而是逐步發展,逐漸成熟。因此,在過程改進中,會有反覆,或有錯誤,需要管理層和執行層用發展的眼光看待,而不是只看到眼前。
講可行:就是充分考慮roi和執行條件。可行性一方面指操作上易於實現,流程所需的能力和資源符合企業實際情況,另一方面指執行的成本符合最優化管理原則,用盡可能少的投入獲得預期的過程控制效果。閱讀過一些體系檔案,也聽過一些討論,發現有些檔案定義得非常好,理論上論證充分,完全符合cmmi模型要求,但實際執行時成本太高,達不到預期效果。有些體系檔案中,為了滿足gp2.1的要求,方針政策定義得很超前,要怎麼樣管理規範,要怎麼樣。因此,在過程改進活動中,要充分考慮成本投入和可行性問題,如果為了過程改進而改進,則是捨本逐末,偏離了過程改進的本質目的。曾見過一家企業的做法,乙份過程實施的裁剪表需要包括pm、qa、epg和部門經理四種角色進行審批方能視為符合流程規定。從一定程度上看,似乎這樣的控制手段可以保證裁剪表完全符合要求,但其執行成本明顯過高,管理上冗餘成本很高,容易走向官僚主義。在一般的投資行為中,我們總是希望投1塊錢收穫2塊錢或更多,在過程改進中,一樣要考慮roi。就像風險管理中,如果緩解成本大於損失成本,我們根本不應該執行該緩解措施。一樣的道理,如果乙個流程執行成本高於收益,企業投入成本執行該流程就是負收益,因此,管理上需要乙個度,不是控制手段愈多,流程愈規範就是合理的。
重邏輯:軟體開發過程不同於一般的管理流程,既包含通常的管理方法、方式,又牽涉到具體的技術應用,所涵蓋的知識領域比較廣泛,因此在制定過程改進計畫、定義過程檔案的時候,需要將過程改進活動的範圍、約束條件、邊界以及流程體系與行政管理、運營管理規範和制度之間的關係從邏輯上梳理清楚。例如,在ipm中有關於工作環境的定義要求,而通常軟體企業會有專門的行政制度、it政策來定義這部分的內容,那麼體系檔案中相關部分的內容就必須邏輯上分清流程的邊界。另外一方面,過程體系中規定的控制方式、管理辦法要在理論和邏輯上遵從相關知識領域的內容,比如專案管理體系與pmp知識領域、開發管理與軟體工程領域,它們要在一定程度上保持一致,有不同時也應能界定相異點的原因。這樣,具備不同知識領域背景的員工在執行時,就不至於產生衝突,不至於導致員工對體系認知上的分歧和牴觸。同時,過程體系內部不同檔案的邊界和邏輯關係也要分析定義清楚。cmmi模型本身,不同pa之間存在交叉和聯絡,這樣,在架構體系檔案的整體框架時,就需要從邏輯上分析清楚不同體系檔案內容之間關聯,避免重複定義、交叉引用、遺漏定義等狀況的發生。 過程改進的邏輯性,一方面決定了體系檔案的嚴肅性,體系檔案是企業的管理制度之一,不適於頻繁變化;另一方面決定了體系檔案的專業性,就軟體開發過程而言,其專業程度相對很高,制定者需要有一定的工程背景、管理背景,才能保證體系檔案能正確指導到員工實施。既是制度,又是培訓教材或者指導手冊,因此重視體系的邏輯性非常重要。這種邏輯性需要貫徹到整個過程改進活動中,包括改進計畫的制訂,從沒有規範的企業和有一定成熟度規範能力的企業,其中不同階段的計畫,一定存在差別,其重點不同,計畫內容也應該不同。
在過程改進活動中,把握這四個短語的精髓,從方**層面解決認知問題,企業的過程改進活動一定能踏實、有序、富有成效的開展下去。
讀書心得 關於過程改進
從乙個客戶那裡借到一本書,關於過程改進與實踐問答,重新把cmm的過程改進的理論學習一下,現在因為是在看書,還沒有理出頭緒,把認為值得關注的地方做乙個記錄。軟體的缺陷率,10 是正常的,也就是1000行 有100個缺陷,最好的軟體開發組織的特點 這可以作為乙個有力的資料,在和客戶溝通中使用。sei術語...
過程改進的五條原則
過程改進的五條原則 這五條原則分別是 注重問題 強調知識創新 鼓勵參與 領導層的統 一 計畫不斷地改進。問題的解決是過程改進的核心,實踐不僅是spi組的目標也是它的起點。這條原則為過程改進人員指明了目標,明確了方法。spi就是要在實踐中發現軟體過程中的問題,並在實踐中尋找和找到解決問題的辦法,可以說...
走在過程改進的路上
忽然想到了這麼多年來軟體企業對軟體過程模型 質量改進模型的認識變化,隨筆幾句。十年前,軟體企業經過前幾年的發展,普遍認識到了隨著軟體規模 團隊規模的擴大,僅靠粗糙的管理已經無法保障軟體質量了,於是乎紛紛尋求外力的援助 當然,也有的是因為可以在競標時為自己增加乙份砝碼 但不管怎麼樣,iso認證已經開始...