【第167期 August 5, 2011】
 

CMMI與軟體工程

Sensitivity 與 SMART Analysis - CMMI HM 的應用

作者/鄭堃斌

[發表日期:2011/8/1]


前言

本文主要探討的是Sensitivity與SMART兩項工具方法如何實務地應用在原因分析與解決方案的導入。 執行的前提是在組織已選定重要流程(Critical processes) ,建立流程績效度量(Process Performance Measure) ,與設立產生品質及流程績效目標(QPPO) ,初步的流程績效基準(PPB)與流程績效模式(PPM)都已建立。

隨著量化數據的建立和運用,與統計控制過程(Statistic Process Control),為能持續組織的Capable process, 流程改善是必要一直進行的。 因此有缺失/問題時,須要查明原因,並採取行動,改善流程以求組織流程過程是Capable的。 組織與專案因此實施”原因分析與解決方案”(Casual Analysis & Resolution) , 包含從 SEPG到專案團隊著手選擇缺失/問題開始,分析問題,以確定根本原因,採取決議,研擬並實施主要的改進 /糾正措施,解決問題的根源。 而搭配Sensitivity與SMART高階分析的運用,藉以分析,評估與產生最後最佳的可量化的行動方案。

而其實施分析的問題收集來源可能如下:

  • 客戶的問題回饋
  • 專案研發時的review與test缺失/問題
  • 稽核所發現的不符事項(Non-compliance items)
  • 型態管理時的缺失/問題
  • 一般改善建議的事項與Lesson Learnt
  • 重大事件的發生
  • 量測的流程績效評估的Special Cause發生
  • 量測的流程績效評估的QPPO/Business goal未能達成 等等


  • 本文將以原因分析與解決方案的執行導入為應用範例, 介紹方法與工具,應用不一而足,但以能符合CMMI 訂定的目標與執行方法(SG/SP)為首要。

    原因分析與解決方案

    在組織與專案實施”原因分析與解決方案”(CAR)時, 一開始在分析討論上, SEPG,專案團隊和經驗豐富的工程師運作的活動實施為如下:(HM CAR進行的進入準則是 QPPO需要維持是穩定的)

    一、Pareto Chart

    如果要分析的主要缺失/問題(或目標達成的改善)有足夠的缺失問題記錄來源且有很好的分類,可以先使用Pareto Chart選取重要的少數問題(Vital-few)為重點式的處理(80/20%法則),選取重點問題優先做處理分析。

    二、Cause and Effect Diagram –> Affinity Diagram

    使用魚骨圖(Cause and Effect Diagram),開始需要將大量回饋的想法/意見/問題的初步原因收集整理後,運用4M或親和圖(Affinity Diagram) 分群組, 將與魚頭(分析的主要問題或目標的達成)的關係做有組織性的分類。

    三、5W –> Brainstorming –> Possible Root Causes

    使用腦力激盪與5W方法實施根本原因分析,以找出可能的根本原因。

    四、DAR -> Primary Root Cause -> Resolution

    將可能的根本原因,再以決策分析和解決方案(Decision Analysis and Resolution)方法來決定找出主要根本原因和解決方案/替代方案。

    五、OID candidates -> Use PPM –> Measure factors -> Cost-Benefit

    使用SPSS工具找出回歸模式(Regression model/PPM)以確定經過原因分析與解決方案產生的糾正/改善解決方案是可以針對前述主要問題/或目標改善有所助益,這其中包括創新項目,與該項目的預期目標和成本效益分析的評估,當然回歸模式的建立需有充分的因子變數的歷史數據,並進一步演算出預期數據。

    六、Sensitivity Analysis - QPPO and Business Goal tradeoff
    • Why Sensitivity analysis?

    • 因為前述解決方案的目的與組織目標/流程績效目標(Business Goal/QPPOs)的方向是一致地, 但是某一解決方案的因子變數與組織各目標的方向卻非全然一致地. 譬如因子”defect rate”的改進,對quality 與schedule目標是有幫助,但對effort與cost的改進並卻非全然有幫助,甚至是有負面影響。 亦即, 不同QPPO/business goal互相之間,會因因子變數的變化而有相互間的拉扯關係, 亦正亦負皆有可能, 因此需要敏感度分析來做權衡取捨(trade-off)。

      當然執行敏感度分析的前提是度量的因子變數與各QPPO/business goal是有關係的。

    • What’s the tool?

    • 敏感度分析是可以運用Crystal Ball 執行產生,因子變數與目標的回歸模式需要已建立好。(還好! 鬆了一口氣, 原來有工具可計算出!)

    • How to do the trade-off?

    • 目的是找出最佳的或有最輕微負向影響的行動方案,確定主要優先要執行的。

      執行上是由QPPO trade-off 先行過濾,然後Business goal trade-off篩選出最後可行的2-3項行動方案。依據Crystal Ball的分析結果因子變數與目標的敏感值(正負百分比值)判斷,篩選的基本準則如下:

      1.先釐清因子變數與目標(QPPO)的正負向關係, 才能往下做判斷. 譬如因子”coding defect number” 與”coding quality”有關的目標是負向關係; 與”testing productivity/efficiency”有關的目標是正向關係。

      2.保留最想改善的目標的正向影響的敏感值最高的行動方案者。

      3.劃掉(除名)最想改善的目標的負向敏感值最高者。

      4.劃掉擁有很高負向敏感值者(通常以負向50%為中線)。

      5.依據此原則,同樣的篩選的基本準則,執行Business goal trade-off。

    七、SMART分析

    最後再運用SMART方法分析評估,產生最終的最佳可量化的行動方案, 以期能有可達成和實際可量化的精確目標。 SMART 是一套嚴謹有效的產生目標分析方法如下:
    • S(Specific)

    • 精確的人事時地物描述(who,what,which,where,when,why)

    • M(Measurable)

    • 統計數據的衍生也是需要SPSS工具。
      因子變數與目標的回歸模式。
      決定回歸模式的係數聯繫強度(R平方值)。
      導出預期目標和成本效益分析的評估。

    • A(Achievable; Attainable; )

    • 如何證明是可以達到/可行的?
      使用的技能; 並考量限制(constraints)與釐清障礙(barriers)
      Capable resource與responsibility
      參與的resource承諾; 相關單位人員的同意
      在合理的人力分配與應用; 是否可在期限內完成

    • R(Realistic; Relevant; Result-oriented)

    • 如何證明是務實/真實可及的目標?
      要實事求是,有足夠真實的resource能夠工作。
      具備足夠的authority, knowledge與 skill,
      以前曾經完成類似的經驗
      是否財務無疑

    • T(Time bound)
    • 執行期間

    八、組織依此建立行動方案資料庫,並以確定最終需進行的改進和創新活動項目,並計劃初步需完成活動以供專案引用。 專案亦啟動相關活動項目,並依此落實和追蹤行動的進行。

    九、改進和創新活動項目進行一段時間後,SPC engineer再以Minitab工具算出常態分佈測試檢驗(K-S test)和假設性檢定檢驗(t-Test/Z-Test)QPPO/business goal的流程績效(實施活動前,後差異)和產生Cpk值(對於合格流程capable process的判斷),評估行動措施是否有達到目標。

    十、組織建立定期性的實施報告,並依此落實和追蹤行動的進行。


    敏感度分析的介紹

    一、是一種用來研究評估不同的模式參數(model components)對於統計模式(statistic model)的結果所造成影響的程序。或是以模式的結果值(output) 的變化/不確定性(variation/ uncertainty)如何歸因於模式的輸入值(input)的不同的變異(variations)。換句話說,它是一種有技術性/系統性地改變一個模式的變數(variables),以確定這種改變對結果值的影響程度。

    二、是一項模擬試驗的整合部分,可能會影響模式組成的過程,一般被用於檢驗/解釋模式的變化關係。一般程序是先定義一個模式的結果變數來代表模式的主要目的,模擬改變不同的輸入參數,並且監控結果變數的變化。若結果變數的變化較大,意味著此某特定輸入參數對於模式變化是很重要的,若結果變數的變化小,表示此輸入參數對於模式變化是較微弱。

    在CMMI領域中,組織/專案量化目標(如 Productivity, Defect Rate, Effort Variation等等)的預估過程中總會有因子變數是不確定的。如review與test程式的缺失數、缺失率、階段時辰變異、重工的人力及其他無法非常精確預知的變數。敏感性分析可以回答這個問題,“如果這些變數偏離預期,量化目標的結果會出現什麼樣的影響? 又譬如在其他商業方面,任何預算編制過程中總會有變數是不確定的。未來稅率,利率,通貨膨脹率,員工人數,營業費用及其他變數可能無法事先非常精確估算。同樣的敏感性分析可以分析如果這些變量偏離預期,會出現什麼影響(在業務上,模式,系統,或任何正在分析的事項)?”

    更甚而言之,在研究建立某種形式的統計模式(Statistic modeling) 時須要不確定性和敏感性分析來探討其穩定性。而敏感性分析的使用對模式建立者則是非常有用的,其目的範圍包括:

  • 提供決策者做決策或提出建議的開發(如測試一項結果值的穩定性)
  • 加強從模式建立者(通常是SPC engineer) ,執行者,專案經理,客戶到決策者之間的溝通(例如,藉此提出佐證建議更可信,可以理解的,令人信服的或有說服力)
  • 進一步了解或量化的系統(如理解輸入和結果變數之間的關係)
  • 統計模式的發展(例如可尋找出模式的錯誤)。


  • 註解

    QPPO(品質及流程績效目標;Quality and process-performance objectives):

    產品品質、服務品質、及流程績效的目標及需求。 雖然流程績效目標包含產品品質,不過為了強調產品品質在CMMI 產品系列中的重要性,使用quality and process-performance objectives 而非process-performance objectives。譬如: Time to Market, Cost, Requirement Volatility, Productivity, Defect Rate, Effort Variation都有可能是QPPO。

    參考文件

    Wikipedia 對敏感度分析的定義