軟件過(guò)程改進(jìn)/過(guò)程改進(jìn)(Software Process improvement,SPI)幫助軟件企業(yè)對其軟件(制作)過(guò)程的改變(進(jìn))進(jìn)行計劃、(措施)制定以及實(shí)施。 他的實(shí)施對象就是軟件企業(yè)的軟件過(guò)程,也就是軟件產(chǎn)品的生產(chǎn)過(guò)程,當然也包括軟件維護之類(lèi)的維護過(guò)程,而對于其他的過(guò)程并不關(guān)注。
對于軟件企業(yè)來(lái)說(shuō),軟件過(guò)程是整個(gè)企業(yè)最復雜、最重要的業(yè)務(wù)流程,軟件產(chǎn)品就是軟件企業(yè)的生命,改進(jìn)整個(gè)企業(yè)的業(yè)務(wù)流程,最重要的還是要改進(jìn)它的軟件過(guò)程。多年以來(lái),人們認識到要想高效率、高質(zhì)量和低成本地開(kāi)發(fā)軟件,必須以改善軟件生產(chǎn)過(guò)程為中心,全面開(kāi)展軟件工程和質(zhì)量管理手段。這是世界各國軟件產(chǎn)業(yè)都要走的路,我國軟件產(chǎn)業(yè)之所以落后,不是因為技術(shù)落后,而是對軟件生產(chǎn)的管理落后。CMM就是結合了質(zhì)量管理和軟件工程的雙重經(jīng)驗而制定的一套針對軟件生產(chǎn)過(guò)程的規范。由此可見(jiàn),對軟件生產(chǎn)過(guò)程的管理在整個(gè)軟件企業(yè)的管理中起了決定性作用。因此,從這種意義上講,軟件企業(yè)的BPR和CMM軟件過(guò)程改進(jìn)在實(shí)施對象是一致的。
在世界范圍內,軟件項目需求正以非??斓乃俣仍鲩L(cháng),并且這種增長(cháng)看起來(lái)還遠未達到目的。這種增長(cháng)已經(jīng)導致軟件開(kāi)發(fā)活動(dòng)急劇性的增長(cháng),已使得對用于構筑軟件的過(guò)程,正確的說(shuō)法是軟件過(guò)程,得到更多的關(guān)注。軟件過(guò)程可以定義為人們用來(lái)開(kāi)發(fā)和維護軟件以及相關(guān)產(chǎn)品(如:工程計劃、設計文檔、規章、檢測事例及用戶(hù)手冊)的一組活動(dòng)、方法、實(shí)踐及轉換。軟件過(guò)程重要性的提高已經(jīng)引起了對軟件過(guò)程改進(jìn)的要求,這就需要過(guò)程分析和評估的方法。
CMM在軟件改進(jìn)措施的策劃上,措施計劃的實(shí)施上和過(guò)程定義的都有著(zhù)特使的價(jià)值。在策劃改進(jìn)措施期間,具有有關(guān)其軟件過(guò)程問(wèn)題和經(jīng)營(yíng)環(huán)境的知識的軟件工程組的成員可將CMM重關(guān)鍵過(guò)程域的目目標和當前的實(shí)踐相比較。應該開(kāi)查與恭喜目標,管理優(yōu)先級,實(shí)踐運行的層次,實(shí)施每次實(shí)踐對組織的價(jià)值,以及改組織在其文化背景下一個(gè)實(shí)踐的能力等方面有關(guān)的關(guān)鍵實(shí)踐。接下來(lái),軟件工程過(guò)程組必須確定那些需要作過(guò)程改進(jìn),如何實(shí)現更改,以及如何獲得所需要的買(mǎi)進(jìn)。CMM通過(guò)給有關(guān)過(guò)程改進(jìn)的討論的出發(fā)點(diǎn),并且幫助揭示與通用軟件工程實(shí)踐所采用的那些完全不同的假定,從而對這些活動(dòng)提供幫助。在實(shí)施行動(dòng)計劃計劃時(shí),過(guò)程組可以用CMM 和關(guān)鍵實(shí)踐來(lái)構造部門(mén)可操作的行動(dòng)計劃和定義軟件過(guò)程。
一、SPI的五條原則
SPI的五條核心原則分別是:
·注重問(wèn)題
·強調知識創(chuàng )新
·鼓勵參與
·領(lǐng)導層的統一
·計劃不斷地改進(jìn)。
“問(wèn)題的解決是過(guò)程改進(jìn)的核心,實(shí)踐不僅是SPI組的目標也是它的起點(diǎn)?!边@條原則為過(guò)程改進(jìn)人員指明了目標,明確了方法。SPI就是要在實(shí)踐中發(fā)現軟件過(guò)程中的問(wèn)題,并在實(shí)踐中尋找和找到解決問(wèn)題的辦法,可以說(shuō)過(guò)程改進(jìn)就是在不斷發(fā)現問(wèn)題和解決問(wèn)題的過(guò)程中不斷向前發(fā)展。
“改進(jìn)是一種知識的創(chuàng )新,SPI是受知識的驅動(dòng)的”。這條原則強調了知識創(chuàng )新在SPI中的作用,提醒了SPI人員在注重知識創(chuàng )新的同時(shí)更要注重知識的傳播和擴散。
通常從事SPI工作的做法是,過(guò)程改進(jìn)僅僅是過(guò)程改進(jìn)人員的事情,其他人員只是被動(dòng)地接受。而“合作促使改進(jìn)產(chǎn)生”這條原則給予了我們很好的啟發(fā)和提示。它告訴我們,過(guò)程改進(jìn)不僅僅是一個(gè)人或幾個(gè)人的事情,而是整個(gè)組織的事情。只有鼓勵大家都積極參與,讓這些人基于自身的經(jīng)驗和職業(yè)的判斷力來(lái)實(shí)實(shí)在在地設計和開(kāi)發(fā)新的過(guò)程,才能使設計出來(lái)的過(guò)程真正為他們所理解,為他們所用,從而實(shí)現過(guò)程的成功。這也是我們在過(guò)程改進(jìn)工作中容易疏忽的地方。
“SPI的關(guān)鍵點(diǎn)在于改變軟件開(kāi)發(fā)的方式。然而,改變人的行為并不是件容易的事?!边@條原則分析了我們在這項工作中可能會(huì )遇到的困難和阻力,本書(shū)中也不忘為我們提供了如何克服這些問(wèn)題的可行方法、建議和實(shí)例。
“改進(jìn)必須是綜合了各個(gè)層次的人的力量?!盨PI人員一定要保證SPI的目標與組織的整體目標是一致的,因為只有這樣才能保證SPI工作得到各個(gè)領(lǐng)導層的贊同、支持和投入,才能綜合利用各個(gè)層次的力量來(lái)推動(dòng)SPI工作的前進(jìn)。這是預防過(guò)程改進(jìn)項目風(fēng)險的重要手段。
“改進(jìn)應該是一個(gè)不斷持續的過(guò)程?!边@一原則進(jìn)一步提示和告誡SPI人員一定要認識到改進(jìn)的不斷持續的特性。到達頂點(diǎn)并不重要,關(guān)鍵的是,你現在處在一個(gè)上升的道路上,而且這條道路是適合于你的組織的。到達一個(gè)目標你就創(chuàng )造了另一個(gè)更高的目標,這個(gè)目標對我們的過(guò)程和環(huán)境都具有重要的意義。
這五條原則是從實(shí)踐中發(fā)展而來(lái)、相互關(guān)聯(lián)的SPI哲學(xué),對我們SPI工作具有非常重要的指導作用。
二、軟件過(guò)程改進(jìn)的策略
策略一:兩個(gè)方針
重診斷,輕評估 以診斷和解決企業(yè)實(shí)際問(wèn)題為SPI方法論,不追求商業(yè)評估。以往實(shí)施ISO9000的過(guò)程中發(fā)現,企業(yè)拿證書(shū)的愿望常常會(huì )沖淡“真正改進(jìn)”的目的。所以,除非不得已,建議一開(kāi)始不要把商業(yè)評估作為目標,以便將焦點(diǎn)集中在“改進(jìn)”上。的確,一旦進(jìn)行商業(yè)評估,難保不急功近利,限期取證。SPI如同“治病”,多長(cháng)時(shí)間治好怎么可以人為規定呢?
重診斷,正是前述自底向上方法論的具體貫徹。根據企業(yè)的不同狀態(tài)和癥狀,實(shí)施有針對性的方案,將有望設計出實(shí)用性更強、效率更高的應用模型。
重實(shí)施,輕宣傳 我們不妨來(lái)看一組數據,這是北京SPIN去年發(fā)起的一次調查,提問(wèn)是“您認為軟件企業(yè)中開(kāi)發(fā)不規范,不能突破管理瓶頸的原因是什么?”
可見(jiàn),以往我們多年來(lái)實(shí)施ISO9000這樣的體系,但效果差得可憐(客戶(hù)滿(mǎn)意度12%)。
據報道,中國通過(guò)ISO9000的企業(yè)超過(guò)了日本和韓國,但是中國并沒(méi)有因此成為質(zhì)量強國!
ISO9000在軟件企業(yè)的現狀,并不能僅僅歸結于ISO9000不適合軟件企業(yè)這一點(diǎn)上,更大的問(wèn)題在于,人們對體系的“可實(shí)施性”研究和重視得不太夠。
所以我們提出以高的“過(guò)程實(shí)施率”(定義的文檔被很好的遵守)和“過(guò)程性能改善”為SPI目標,不追求宣傳效應。
策略二:兩手抓
實(shí)施制度化的同時(shí),并行實(shí)施企業(yè)文化;既要施壓,又要清障。
中小企業(yè)往往制度化體系很不健全,存在著(zhù)隨意決策的管理習慣,甚至基本的企業(yè)紀律都不具備,企業(yè)還處于“人治”和“法制”的爭論中,這樣的狀態(tài)和某些大企業(yè)實(shí)施SPI的狀況是不同的,需要特別強調行政施壓。由于缺乏統一的企業(yè)文化,所以理念的統一也要加以重視。
CMM的實(shí)質(zhì)是制度化體系,實(shí)施CMM也是實(shí)施全面制度化的有效途徑。但是制度和組織文化總是辨證存在的,沒(méi)有良好的文化保障,制度化將困難重重,而沒(méi)有制度的支撐,文化也將是無(wú)源之水。企業(yè)文化的實(shí)施從改造企業(yè)價(jià)值觀(guān)開(kāi)始,價(jià)值觀(guān)是企業(yè)文化的核心,一個(gè)企業(yè)中如果好的行為不能得到鼓勵,壞的行為不能得到懲罰,那怎么能倡導出有利于制度生存的價(jià)值觀(guān)呢?
兩手抓還包括另外一個(gè)層次的含義,過(guò)程改進(jìn)要加強推進(jìn)和減少阻力并重。這針對兩種現實(shí)中的錯誤認識:一種認為,員工都是自覺(jué)的,只要把道理講清楚了,制度就能得到實(shí)施。這種假定是不現實(shí)的,如同法律,如果假設人們都是遵紀守法的,那么法律本身就沒(méi)必要存在了。實(shí)際情況是,人們在組織中總是有區分的,有的人主動(dòng)順應變革,有的人推一推也能動(dòng),有的人可能推十下也不動(dòng),從而成為變革的障礙。所以變革的落實(shí)需要一個(gè)強的“推力”。另外一個(gè)觀(guān)點(diǎn)剛好相反,認為沒(méi)必要對員工講為什么,只要告訴怎樣做就行了。這又走到另外一個(gè)極端,體系在強力的推動(dòng)下可能會(huì )暫時(shí)得到執行,但是由于并沒(méi)有解決觀(guān)念轉變的問(wèn)題,一定難以持久。
策略三:推行兩種工具
要推行配置管理工具和項目管理工具這兩種工具,工具將有效分解事務(wù)性工作,從而緩解人力資源投入不足的矛盾。
配置管理工具根據不同的平臺推薦使用VSS和CVS,項目管理工具使用微軟公司的MSP。使用工具,可有效分解管理工作量,提升工作效率;有助于管理制度的真正落實(shí),使體系更加固定化。
策略四:補兩門(mén)基礎課
為了解決基礎薄弱的問(wèn)題,需要在SPI前期為企業(yè)補基礎管理和基本軟件工程兩門(mén)課。
CMM的設計是以美國的軟件企業(yè)為研究對象,它假定企業(yè)在實(shí)施CMM前,已經(jīng)具備了基本軟件工程和基本管理的能力,所以有“先管理、后工程”的觀(guān)點(diǎn)。就是先把項目管理到位,再實(shí)施軟件工程(即軟件工程到位)。
但是這個(gè)假定對于絕大部分的中國軟件企業(yè)是不成立的。
軟件企業(yè)需要補的基礎管理內容包括:基本時(shí)間管理、角色轉變、目標管理、溝通管理、基本人力資源管理等?;拒浖こ虅t包括基本的軟件工程生命周期、階段劃分、基本文檔編制等。
策略五:發(fā)動(dòng)三方參與
按照ISO9000的說(shuō)法叫全員參與,分成三個(gè)層面就是:
一是高于項目管理的層面,稱(chēng)為高層經(jīng)理。他們提供資源和戰略?xún)煞矫娴闹С?,所以高層?jīng)理應該對體系總體架構、體系實(shí)施必要性、可行性、障礙和風(fēng)險、資源等負有責任。
二是項目管理層面,含項目經(jīng)理和SPI人員。SPI人員作為制度化體系的執行者和推行者應該加強自身修養,要求別人的事,一定要自己能做到。而項目經(jīng)理作為主要的一線(xiàn)實(shí)施人員,需要對整個(gè)體系的細節有深入了解和研究,應該把日常工作時(shí)間的30%~50%放在工程化管理相關(guān)事宜上,要貫徹公司的SPI整體制度,積極主動(dòng)在項目組內進(jìn)行推行。
三是項目組成員,包括開(kāi)發(fā)和測試人員,要求團隊以紀律性要求自己,做好局部和整體、短期和長(cháng)期的矛盾平衡。
特別要關(guān)注試點(diǎn)項目的PM(項目經(jīng)理)選擇,選擇好的PM意味著(zhù)SPI一半的成功。
需要說(shuō)明的是,自底向上并不是絕對不做正式評估,如果需要,等到水到渠成再實(shí)施評估,不僅使得過(guò)程改進(jìn)更實(shí)在,而且只需投入少量的資金就可獲得評估。
三、軟件過(guò)程改進(jìn)戰略策劃
介紹
如果我們把軟件過(guò)程改進(jìn)看作一個(gè)項目,象其他項目一樣,它也要有一個(gè)好的計劃,這個(gè)計劃不但要滿(mǎn)足公司的商業(yè)目標,還要包含過(guò)程改進(jìn)戰略和具體的實(shí)施步驟(子項目)。 軟件過(guò)程改進(jìn)非一日之功,急于求成必將導致失??;因此,如果不進(jìn)行系統的戰略策劃而盲目進(jìn)行過(guò)程改進(jìn),只會(huì )浪費時(shí)間和資金而不會(huì )取得好的效果。有了有效的戰略計劃,我們才能在這項長(cháng)期的活動(dòng)中獲得管理人員、開(kāi)發(fā)人員和公司的所有者的理解和耐心的支持。
那么如何進(jìn)行戰略策劃呢?本文介紹的兩位主任評審員開(kāi)發(fā)的過(guò)程改進(jìn)戰略策劃的方法,已經(jīng)在很多軟件企業(yè)成功實(shí)施。其中應用的主要技術(shù)包括:戰略決策、優(yōu)先級排序、過(guò)程改進(jìn)與過(guò)程評審。
通常,戰略策劃由一個(gè)小組負責,小組里要包括參與了過(guò)程評審的人員以及其他策劃工作的受益人,另外高層經(jīng)理的參與是非常重要的;策劃的方式是在負責人的指導下以討論方式進(jìn)行。實(shí)踐證明,以下步驟非常有效:
針對不同的改進(jìn)點(diǎn)分別制定改進(jìn)方案
方案評價(jià)
將改進(jìn)方案排序
估計并制定實(shí)施的進(jìn)度表
獲得管理層的承諾
具體介紹如下:
1 制定過(guò)程改進(jìn)方案
評審結束后,策劃組要對評審結果進(jìn)行分析,篩選出十個(gè)左右的改進(jìn)點(diǎn);然后將每個(gè)改進(jìn)點(diǎn)都作為一個(gè)改進(jìn)項目,分別制定兩到三頁(yè)的改進(jìn)方案。方案主要包括以下內容:
現狀的簡(jiǎn)單介紹
改進(jìn)方案介紹
預期收益
實(shí)施負責人
對成本、資源和項目周期的估計
方案中還應該說(shuō)明建議使用的實(shí)施方法,例如是否進(jìn)行試用等。估計成本時(shí)要包括:過(guò)程定義的時(shí)間、試用期間人員培訓的成本、處理反饋意見(jiàn)的時(shí)間和重新試用的成本。
因為所有的改進(jìn)工作不可能一次實(shí)施,所以接下來(lái)我們要確定各個(gè)改進(jìn)項目的優(yōu)先級,具體步驟如下:
2 評價(jià)各個(gè)改進(jìn)方案
我們怎么確定改進(jìn)活動(dòng)的優(yōu)先級呢?主要是通過(guò)考察三方面的因素,即:對商業(yè)目標的影響、風(fēng)險和在CMM中的定位。
有些公司還會(huì )對各方案進(jìn)行成本/收益分析(例如,考察投資回報率),但是1級或2級的企業(yè)往往沒(méi)有充分的歷史數據,因此無(wú)法準確估計過(guò)程改進(jìn)的無(wú)形收益;4級和5級的企業(yè)通常就能作到這一點(diǎn),3級的企業(yè)也有可能作到。
2.1 對商業(yè)目標的影響
對商業(yè)目標的影響是指某項改進(jìn)工作對總體的戰略目標的影響。
首先,策劃小組要和主管的高層經(jīng)理進(jìn)行討論,明確公司商業(yè)目標、并分析確定決定商業(yè)目標能否實(shí)現的5-7個(gè)關(guān)鍵成功因素(CSFs)。如果公司沒(méi)有明確成文的商業(yè)目標,小組的首要工作就是確定商業(yè)目標;如果商業(yè)目標已經(jīng)非常清楚、明確,并且形成了文檔,策劃小組的核心工作就是分析關(guān)鍵成功因素并每個(gè)關(guān)鍵成功因素確定權重。
接下來(lái),我們要對每項改進(jìn)活動(dòng)進(jìn)行分析,按其對每個(gè)關(guān)鍵成功因素的貢獻進(jìn)行評分,然后將結果進(jìn)行加權平均,作為最后比較的一個(gè)依據。
2.2 風(fēng)險因素
風(fēng)險是指實(shí)施改進(jìn)工作的困難程度,我們要考慮實(shí)施某項改進(jìn)是象賭博一樣冒險么?結果是不是有一定的可預測性呢?通常,風(fēng)險的來(lái)源主要有三個(gè)方面:項目的規模、結構的問(wèn)題和技術(shù)。
項目規模風(fēng)險,是指實(shí)施的人工成本,一般人工成本越低風(fēng)險越小。
結構方面的風(fēng)險,主要有以下因素
參與該項目開(kāi)發(fā)的功能組的數量
項目的復雜程度
制定解決方案的人員在該過(guò)程域的經(jīng)驗是否豐富
對改進(jìn)中帶來(lái)變更,預期存在抵觸行為
技術(shù)風(fēng)險,主要包括以下方面:
需要改進(jìn)的軟件工程過(guò)程的成熟程度
能否獲得充分的新技術(shù)方法的培訓
工具和其他支持條件的成熟程度
2.3 CMM中的定位:
是指某一改進(jìn)活動(dòng)對達到更高能力成熟度等級的貢獻。權重是按照KPA所屬的能力成熟度等級來(lái)確定,比較簡(jiǎn)單。我們可以初步確定:目前所處等級的下一個(gè)能力成熟度等級的KPA權重最大且相等,其后按順序遞減。各改進(jìn)點(diǎn)的分值按其對個(gè)KPA的影響確定,有些改進(jìn)點(diǎn)可能影響多個(gè)KPA;另外需要注意,各個(gè)改進(jìn)點(diǎn)對某一個(gè)KPA的影響總值不能超過(guò)100%。
接下來(lái),我們還可以根據評審結果將下一個(gè)成熟度等級的KPA進(jìn)行劃分,看看哪些更重要。評審中,大家達成共識認為對組織影響最大的問(wèn)題所對應的KPA應該獲得較高的權重。
3 對改進(jìn)方案進(jìn)行排序
進(jìn)行了以上分析之后,我們按照分值對各個(gè)改進(jìn)方案進(jìn)行排序,總分的計算方法如下:
總分=(權重1)(對商業(yè)目標的影響)+(權重2)(風(fēng)險)
+ (權重3)(在CMM中的定位)
公式中的得分是按上面介紹的步驟進(jìn)行處理得出的,權重主要是根據策劃小組成員的共識確定的,有些公司認為三方面的因素同樣重要因此賦予相同權重,也有些公司認為對商業(yè)目標的影響的重要性是在CMM中定位的的三倍,而風(fēng)險因素是在CMM中定位的兩倍。
這樣,我們就基本建立了各個(gè)改進(jìn)項目的優(yōu)先級,分數最高的優(yōu)先級最高。
4 估計實(shí)施的進(jìn)度表
排序完成后,我們就要考慮各個(gè)改進(jìn)點(diǎn)的依賴(lài)關(guān)系,根據優(yōu)先級順序和依賴(lài)關(guān)系進(jìn)行總體戰略策劃,并制定進(jìn)度表。有趣的是,優(yōu)先極較低的改進(jìn)項目往往是優(yōu)先級較高的項目的先決條件,因此在進(jìn)度表中就應該靠前。另外,我們還要考慮實(shí)施效果的影響和可視性。例如,對于1級的企業(yè),管理層還沒(méi)有建立起過(guò)程改進(jìn)的威信,過(guò)去給人的印象總是言行不一,那么就要選擇風(fēng)險較低,大家都能看到且有不凡收益的改進(jìn)項目,幫大家建立信心,即使這些項目?jì)?yōu)先級較低。
5 獲得管理層的承諾
下一步,我們要完成正式的計劃、提交管理層獲得認同和承諾。我們在上面說(shuō)過(guò),高層管理人員的參與確定關(guān)鍵成功因素是非常必要的,這里,我們要再次強調管理層的重要作用,因為他們要負責批準戰略計劃、授權啟動(dòng)改進(jìn)項目并且不斷重申對于過(guò)程改進(jìn)的承諾。
過(guò)程改進(jìn)的總體計劃通常包括:介紹(說(shuō)明計劃的目標)、制定計劃時(shí)所使用的方法、對評審結果和推薦措施的總結,主要內容是各個(gè)改進(jìn)項目的方案和策劃活動(dòng)的結果。當然也應該包括:進(jìn)度表、相關(guān)任務(wù)、負責人、項目運行指標以及所需的資源,如:人員、資金、軟件、硬件工具等。
管理人員評審和簽字批準,意味著(zhù)管理層對改進(jìn)活動(dòng)人員和資源上的支持和承諾。
總結
通過(guò)以上的介紹,希望大家對過(guò)程改進(jìn)的戰略策劃有了一定的了解。我們需要強調的是:成功的過(guò)程改進(jìn)策劃是建立在以下的基本原則之上的:
過(guò)程改進(jìn)與商業(yè)目標相結合
合適人員的參與
有效的策劃方法
積極溝通、思路共享
保持整體觀(guān)念
我們的很多客戶(hù)通過(guò)實(shí)施以上的方法,在評審結束后迅速、有效地實(shí)施了過(guò)程改進(jìn),他們對自己的決策滿(mǎn)懷信心、不斷向著(zhù)更高的能力成熟度邁進(jìn)。
四、軟件過(guò)程改進(jìn)建議
1 改進(jìn)用戶(hù)需求過(guò)程
1.1 改進(jìn)用戶(hù)需求的獲取方式
1) 研究用戶(hù)特點(diǎn)
2) 成立需求調查小組
1.2 改進(jìn)獲取用戶(hù)需求的態(tài)度
1) 正式的外部文檔方式
2) 正式的提交過(guò)程
1.3 改進(jìn)用戶(hù)需求內容準備工作
1) 專(zhuān)業(yè)的用戶(hù)需求調查表單,力求取得用戶(hù)的配合,由用戶(hù)或需求調查人員填寫(xiě)表單
1.4 改進(jìn)用戶(hù)需求的內外部溝通
1) 用戶(hù)需求的分析、總結,須及時(shí)反饋到用戶(hù)方,以取得及時(shí)而有效、滿(mǎn)意但不多余的需求
2 改進(jìn)需求分析方式
1) 改進(jìn)需求分析的前提條件——正確的獲取用戶(hù)的需求
2) 針對不同類(lèi)型的系統采用不同的需求方式和模型,更有助于界定需求的范疇
3) 及時(shí)總結、改進(jìn)需求分析方式和模型,形成需求分析模式庫
4) 復用和改進(jìn)需求分析模式庫
5) 加載有效的、適用的、先進(jìn)的需求分析理論于經(jīng)驗分析基礎之上
6) 改進(jìn)項目組內需求分析的溝通和流通
7) 在需求分析初始,盡早分析需求的可行性,并作備案
8) 對不適當需求,與用戶(hù)溝通,以取得理解和信任
9) 對不合理需求,協(xié)調用戶(hù),以降低成本
10) 需求一旦獲得認定,盡快進(jìn)行系統分析和設計
11) 及時(shí)有效的控制需求的變化,防止對需求隨意的更改和增刪
3 改進(jìn)系統分析和設計原則
1) 以最小的代價(jià)實(shí)現系統
2) 以開(kāi)發(fā)人員最熟悉的方法、技術(shù)和工具實(shí)現系統
3) 盡量采用先進(jìn)的方法和理論,以適應發(fā)展的需求
4) 在系統的相關(guān)處,與具體的實(shí)施人員進(jìn)行及時(shí)有效的溝通,尋求實(shí)現的最佳途徑
5) 以簡(jiǎn)單、易懂的方式進(jìn)行分析和設計
6) 以簡(jiǎn)單、易懂的方式表現系統
7) 系統分析的方式要易于復用,并及時(shí)進(jìn)行調整、改進(jìn),系統系統分析庫
8) 對系統的分析、設計加以控制、遵守,防止系統結構的隨意更改
4 改進(jìn)系統的實(shí)施和驗證
1) 確保在取得共同的理解后才進(jìn)行系統的實(shí)施和驗證
2) 系統的實(shí)施和驗證遵循一定的流程,以約定的方式進(jìn)行溝通
3) 系統的變化能夠以多種不同方式進(jìn)行溝通,以確保變化被告知、并被認可
4) 確保在系統的實(shí)施和驗證過(guò)程中,所采用的方式和方法是易于理解的,且不易發(fā)生變化
5) 系統的實(shí)施和驗證完成標識明顯,易于被相關(guān)人員識別
5 改進(jìn)用戶(hù)驗收被動(dòng)局面
1) 理解和支持用戶(hù)的行為
2) 取得用戶(hù)的理解和支持
3) 對系統進(jìn)行充分的驗證
4) 提高系統安裝的成功率和速度
5) 改進(jìn)系統界面,使系統直觀(guān)、有效
6) 保證進(jìn)度,提高誠信度
6 改進(jìn)系統維護過(guò)程
1) 對用戶(hù)進(jìn)行有效的培訓
2) 快捷、有效、合理的處理用戶(hù)的問(wèn)題
3) 跟蹤問(wèn)題,形成問(wèn)題庫
五、為什么要實(shí)施SPI?
SPI的最根本利益其實(shí)在于,他能夠極大的提高項目成功的幾率,這是大家都追求的。當然需要明確定義這里的“項目成功”的含義,不是客戶(hù)要求三個(gè)月完工,最后按時(shí)交工,就是成功。而是綜合平衡進(jìn)度、交付后質(zhì)量、成本等若干要素后所達到的最優(yōu)狀態(tài)。
在項目管理三要素中,項目干系人通常會(huì )把進(jìn)度當作第一目標,結果相當多趕進(jìn)度完成的項目,在交付后面臨者大量的后續修改,甚至推翻重來(lái)。如果把這部分開(kāi)銷(xiāo)算到項目中去,項目早已失敗的一塌糊涂了。
對大量失敗項目的統計結果表明,最大的原因在于缺乏過(guò)程或者沒(méi)有很好的遵循已定義的過(guò)程。我們知道決定項目質(zhì)量和生產(chǎn)率的要素有人、技術(shù)和過(guò)程,如果借用木筒的比喻,過(guò)程不見(jiàn)得是其中最寬的一條,但是當前它是最短的,所以它決定著(zhù)木桶的盛水量。我們迫切的需要SPI,就是要把最短的木條盡快補上去。
只有基于良好的過(guò)程,人和技術(shù)才能發(fā)揮出最大的威力。
六、以項目形式管理SPI(北京SPIN 雅行)
以項目形式管理軟件過(guò)程改進(jìn),特別有利于提高團隊凝聚力、規避風(fēng)險、明確目標、提高效率,而且由于SPI項目組與其他項目組形成了一種矩陣式組織結構,可以有效促進(jìn)組間交流。所以對于SPI這樣一件比較復雜的工程來(lái)說(shuō),以項目形式進(jìn)行管理將是成功的重要保證。
國外的一項有關(guān)SPI(Software Process Improvement軟件過(guò)程改進(jìn))的調查表明,沒(méi)有很好地對過(guò)程改進(jìn)進(jìn)行管理造成了至少70%以上的軟件企業(yè)改進(jìn)失敗或挫折!當我們問(wèn)自己如下問(wèn)題的時(shí)候,能否迅速給出滿(mǎn)意的答案——
SPI強調管理,自身是如何管理的?
SPI提供方法論,自己的方法論如何?
SPI強調做事要有計劃性,自身計劃性如何?
SPI倡導風(fēng)險管理,自身的風(fēng)險被很好識別了嗎?
本文試圖給出一種對SPI自身進(jìn)行管理的方法——“以項目形式管理SPI”。
以項目形式管理SPI通常分為如下五步驟:體系診斷,方案設計,項目策劃,過(guò)程管理,項目驗收總結。
體系診斷
診斷是一切過(guò)程改進(jìn)和管理咨詢(xún)的前奏,對于不以取證為目的的軟件過(guò)程改進(jìn)來(lái)說(shuō),這一步尤其重要。
“過(guò)程診斷”和“過(guò)程審計”有著(zhù)某種程度的相似性,通常的方式為面談、文檔查閱、檢查表填寫(xiě)等形式。
典型的基于CMM的檢查表(軟件項目跟蹤和監督)舉例如下:

典型的SPI診斷花費大約為2~3人/日,這和組織的成熟度、組織的歷史長(cháng)短、管理和業(yè)務(wù)的復雜度都有關(guān)系。
對診斷過(guò)程的漠視是自上向下改進(jìn)策略的最大弊端。
方案設計
在了解了組織、項目的實(shí)際狀態(tài)以后,就可以有針對性地提出解決方案了,這一步驟稱(chēng)為方案設計。

在上圖方案中,我們可以看到主要的元素來(lái)自于CMM、SEBOK(軟件工程)、GOOD Practice (最佳實(shí)踐)。這種結果是與該企業(yè)的如下現狀相適應的:
首先,該企業(yè)沒(méi)有形成基本的軟件工程流程。
其次,項目沒(méi)有生命周期的概念,無(wú)明確啟動(dòng)和驗收點(diǎn),正如其項目經(jīng)理所言,“我們的項目結束點(diǎn)要等到下一個(gè)項目已經(jīng)開(kāi)始,本期項目不得不結束時(shí)才會(huì )出現”。
再次,該企業(yè)整體管理基礎薄弱,資源提供不充分,這種情況下,在大企業(yè)順理成章的事情可能在這里都是問(wèn)題,所以需要大量的變通和折衷策略,這些都被歸納在GOOd Practice中。
諸如此類(lèi)的方案設計,存在兩個(gè)裁減特征: 一是橫向裁減,可以在打破現有知識體系的基礎上,創(chuàng )造性的構建新體系;其二是縱向裁減,比如對于CMM具體KPA,也可以分兩步或更多步來(lái)達到要求。所有這些裁減都會(huì )帶來(lái)更多的靈活性。
SPI方案的編制需要涵蓋如下內容:本組織軟件過(guò)程改進(jìn)的歷史,過(guò)程診斷(包括診斷方法、診斷結果和差距分析),改進(jìn)方案(包括總體目標、總體工程化管理系統設計和詳細改進(jìn)措施),資源需求預測,計劃進(jìn)度概要(包括前提和承諾、資源需求預測),風(fēng)險,里程碑。
項目策劃
方案得到認可后,可啟動(dòng)項目策劃。SPI的項目策劃要求與其他項目策劃的要求并無(wú)多少差異,主要是編制一份項目計劃,有如下內容:項目目標(包括整體目標和本階段目標),假定和約束,項目組織(包括組織結構、接口關(guān)系、報告關(guān)系和責任矩陣),項目進(jìn)度跟蹤方式,項目里程碑,交付物(包括文檔編制和人員培訓),風(fēng)險管理,項目激勵,項目驗收。
值得一提的是SPI風(fēng)險管理,其說(shuō)明如下表。

過(guò)程管理
計劃制定好以后,還要對 SPI的實(shí)施過(guò)程進(jìn)行定期和不定期的過(guò)程跟蹤,一般可通過(guò)“周”和“里程碑”兩種周期進(jìn)行跟蹤。周跟蹤的內容為進(jìn)度、完成量、問(wèn)題和風(fēng)險,通過(guò)周報和周會(huì )的形式進(jìn)行;里程碑跟蹤的內容為進(jìn)度、工作量、人力開(kāi)銷(xiāo)、風(fēng)險等,還要對項目管理的經(jīng)驗和教訓進(jìn)行總結,里程碑也是識別典型案例和收集最佳實(shí)踐的良好時(shí)機。里程碑跟蹤活動(dòng)通常包括“里程碑總結報告編制”和“里程碑總結會(huì )”兩種形式。
項目驗收總結
對于自底向上的軟件過(guò)程改進(jìn),并沒(méi)有標準的驗收準則可利用,這要求組織根據自身裁減的體系編制自己的驗收準則。驗收準則有定性和定量?jì)煞N形式,定量適合于有一定管理基礎的組織,需要有足夠的、可信的、可比的歷史數據。但多數中小軟件企業(yè)可能在起步階段只能選擇定性驗收的方式,這種定性驗收方式常常是“先僵化、再固化、后優(yōu)化”理念的一種體現。
項目驗收后,組織需要進(jìn)行SPI項目的最后一項活動(dòng)——項目總結,需要提交書(shū)面報告并召開(kāi)總結會(huì ),項目總結中要統計匯總SPI本身數據、進(jìn)度、開(kāi)銷(xiāo)、偏差及分析,還要識別和共享經(jīng)驗教訓。這一階段的工作將為今后的SPI持續改進(jìn)打下良好的基礎。SPI將進(jìn)入下一個(gè)改進(jìn)循環(huán)。
聯(lián)系客服