官术网_书友最值得收藏!

1.5 過程改進

隨著軟件工程知識的普及,軟件工程師都知道,要開發高質量的軟件,必須改進軟件生產的過程。一旦建立了軟件過程,改進這些過程就是一個重要任務,其實任何過程都需要進行改進。我們看一個Watts S. Humphrey的過程改進例子,他在服軍役時,練習機槍射擊,開始訓練時,成績很糟糕,并且經過練習也沒有提高,教官對他進行了一段時間的觀察后,建議他改用左手射擊,作為一個習慣右手的人,剛開始肯定不習慣,但是經過一段時間的練習之后,他的成績提高得非常快,而且幾乎是優秀。這是一個過程改進的例子,首先教官采用測量來診斷問題,通過Watts S. Humphrey擊中靶子和脫靶的情況分析,教官看出必須對他的射擊過程進行調整,然后,客觀分析數據,通過觀察他的射擊過程:上膛、就位、跟蹤目標、瞄準,最后擊發。教官的目標就是要發現Watts S. Humphrey哪些步驟存在問題,找到問題后,建議他改為左手射擊。

過程改進是困難的,人們不愿意嘗試新的事物,傳統的習慣看起來很自然,以至于不相信改變會有什么幫助,Watts S. Humphrey習慣使用右手,從來沒有想到左手射擊是什么樣子的,自從他采納了教官的意見之后,成績大幅度提高了。

過程改進的步驟與Watts S. Humphrey射擊改進的步驟是類似的,一般地,過程改進的基本流程如圖1-6所示。

圖1-6過程改進基本步驟

①首先確定改進的目標,例如Watts S. Humphrey射擊改進的目標是百發百中。

②然后度量目前過程:了解目前的過程,進行記錄和度量,積累數據,例如,教官觀察Watts S. Humphrey的操作之后,看看應該作哪些調整。

③通過對度量的過程數據進行分析,了解目前過程存在的問題,例如,教官發現Watts S. Humphrey右手射擊無法進步。

④根據分析的結果,確定本次過程改進的內容,例如,教官建議Watts S. Humphrey改用左手射擊。

⑤實施改進后的過程,例如讓Watts S. Humphrey進行幾輪左手射擊。

⑥記錄實施改進后的過程的結果,例如,教官數了數Watts S. Humphrey擊中靶子和脫靶的數量。

⑦與定義的改進目標進行比較,根據分析比較結果,例如,從統計數字看,Watts S. Humphrey的成績大大提高了。

⑧確定是否進行循環改進,根據過程的具體情況決定是否需要進一步改進。

在進行軟件過程改進的過程中,可以基于一定的模型進行過程改進,基于模型的過程改進是使用一個結構化的架構來指導一個組織的過程改進,其目的是增強過程的能力。模型為過程提供了公共集合,結合了最好的實踐,運用模型,組織可以使用模型中的最佳實踐來改進本組織的過程或者建立過程,而且利用這個模型也可以評估軟件過程的能力。例如,可以基于CMMI模型進行過程改進。

基于模型的過程改進開始于組織管理層對自己組織過程的承諾和評估,將評估結果作為下一步過程改進的基礎,改進之后,可以再進行下一步的評估,以此類推,使得組織的過程逐步成熟。

必須牢記,軟件過程的改善不可能在一夜之間完成,它是一個漸進的過程。

主站蜘蛛池模板: 张掖市| 曲阳县| 平江县| 宜章县| 神池县| 泸溪县| 邯郸市| 江西省| 神池县| 宜兰市| 凤翔县| 海林市| 垣曲县| 尤溪县| 安新县| 嘉峪关市| 东港市| 酒泉市| 顺昌县| 涞源县| 玉田县| 藁城市| 洛川县| 通海县| 靖远县| 北川| 泊头市| 阿尔山市| 扶余县| 皋兰县| 乌兰县| 泸西县| 洞头县| 新巴尔虎左旗| 安阳市| 五大连池市| 安达市| 南开区| 嘉祥县| 特克斯县| 武鸣县|