軟件工程與開發(fā)技術(shù)(西電第二版)第23章小組軟件過程
《軟件工程與開發(fā)技術(shù)(西電第二版)第23章小組軟件過程》由會員分享,可在線閱讀,更多相關(guān)《軟件工程與開發(fā)技術(shù)(西電第二版)第23章小組軟件過程(81頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第23章 小組軟件過程,23.1 TSP的由來與發(fā)展 23.2工程協(xié)作與工程小組 23.3小組協(xié)作的條件 23.4保證小組工作的有效性 23.5 TSP的目標(biāo)與與工作 23.6 啟動一個TSP小組 23.7 基于TSP的協(xié)同工作 23.8 TSP的質(zhì)量管理 23.9 TSP小結(jié),23.1 TSP的由來與發(fā)展為了系統(tǒng)地解決軟件項目管理問題,美國國防部于1984年在Carnegie-Mellon大學(xué)建立了軟件工程研究所,1986年開始研究并于1991年提出能力成熟度模型CMM,1989年開始研究并于1994年提出個體軟件過程PSP,1994年開始研究并于1998年在CMU/SEI召開的過程工程年會
2、上第一次介紹了TSP草案,于1999年發(fā)表了有關(guān)TSP的一本書,使軟件過程框架形成一個包含CMM、PSP和TSP三者的嚴(yán)密整體。,,,開發(fā)TSP的最初的原意是提供一個環(huán)境,為受過PSP培訓(xùn)的工程師使用規(guī)范方法提供支持。PSP要求工程師們使用統(tǒng)一的規(guī)范化工作過程。但是,由于環(huán)境的原因,這些工作過程并不總是能夠得到堅持。其原因有多種:第一,管理者沒有接受過培訓(xùn),不懂得PSP或者不欣賞它的好處,他們經(jīng)常反對他們的工程師們在制定計劃、進行個人過程復(fù)審或收集和分析數(shù)據(jù)上花費時間;第二,即使有了支持和指導(dǎo),規(guī)范化的工作做起來也是很困難的,沒有TSP提供的這些支持和幫助,長時間維持不變的規(guī)范工作幾乎是不可能
3、的。TSP最初的實際目的就是著眼于解決這些問題。,1996年,Watts Humphrey建立了TSP過程的最早的版本。目的是為了提供一個規(guī)范的操作過程,幫助工程技術(shù)人員持續(xù)地做高質(zhì)量的工作。最原始的TSP過程被稱為TSP0,這一過程十分簡單。他拿兩個工作組來做實驗,然后看結(jié)果來評價他們的工作情況。第一個TSP0過程是為經(jīng)過PSP培訓(xùn)的小組設(shè)計的,除了小組的直接領(lǐng)導(dǎo)外,小組沒有受過其他的培訓(xùn)和指導(dǎo)。根據(jù)這兩個最初的TSP小組的結(jié)果分析,實施TSP能夠明顯地幫助工程技術(shù)人員進行曾接受過訓(xùn)練的工作,但是需要更多的指導(dǎo)和支持;另外,管理者要全面地支持TSP過程。在此基礎(chǔ)上,一個增強的過程版本TSP1
4、.0很快就被其他的小組試用,在試用過程中,搜集了更多有關(guān)進一步提升TSP的必需的過程信息。,,在接下來的3年中,Humphery開發(fā)了另外9種TSP版本。他最初的目標(biāo)是想了解一下針對通用目標(biāo)的小組過程能否幫助軟件項目工程組更好地完成工作。取得肯定的結(jié)論之后,他將研究方向轉(zhuǎn)為簡化這個過程,減少它的規(guī)模并提供更有效和有用的支持和指導(dǎo)。結(jié)果最近的TSP版本比TSP1.0(1996年底)和TSP2.0(1997年初)版本明顯小了。越來越多的工程組已經(jīng)使用了TSP過程。TSP中的一些基本方法已經(jīng)能夠被用來協(xié)助工程技術(shù)人員和管理人員建立有效的小組,使他們能更好地按照這個過程開展工作,實施定期評估,在必要時
5、重新計劃工程。不同的原型支持工具也已經(jīng)被發(fā)展用來簡化工程師必須要做的計劃、數(shù)據(jù)采集與存儲、數(shù)據(jù)分析和工程報告活動。,,,23.2 工程協(xié)作與工程小組幾乎所有的工程都要求由小組來進行合作開發(fā)。雖然一些小的硬件或軟件產(chǎn)品能被單人開發(fā),但是考慮到現(xiàn)在系統(tǒng)的范圍和復(fù)雜程度以及對開發(fā)時間的緊迫要求,使得大部分的工作實際上不可能僅僅由一個人來做。系統(tǒng)開發(fā)是一種小組的活動,而小組的工作效率很大程度上決定于他們所采用的工程方法的質(zhì)量。,,在工程中,開發(fā)小組的活動經(jīng)常像籃球隊的競賽,所有的成員為一個共同的目標(biāo)而工作,盡管成員們可能有各種各樣的特點,但是必須互相配合、互相協(xié)調(diào)、互相協(xié)作。一個軟件工程小組不只是恰巧
6、在一起工作的一群人。小組需要公共的過程以規(guī)范大家的活動;全組人員需要統(tǒng)一目標(biāo);工作組的任務(wù)是進行軟件開發(fā)實踐,他們的工作中包含著特定的技巧,需要有效的指導(dǎo)和領(lǐng)導(dǎo)?;诮?jīng)驗,大家知道一些如何指導(dǎo)和領(lǐng)導(dǎo)這個小組的方法,但是了解的并不十分清楚,TSP能夠指導(dǎo)技術(shù)工作人員管理者開展有效協(xié)作,提升小組的過程質(zhì)量,改善協(xié)作狀況。,,,23.3 小組協(xié)作的條件如前所述,一個小組是具有共同目標(biāo)的一群人,他們必須為這個目標(biāo)共同努力,必須具有一個公共的工作框架。一般來說:(1) 一個小組最少要由兩個人組成。(2) 小組成員要為一個共同的目標(biāo)工作。(3) 每個人都被分配一定的角色。(4) 小組使命的完成依賴于小組全
7、體成員的努力。,,關(guān)于小組的定義的四個部分都是非常重要的。例如,很明顯一個小組必須要多于一個人,并且一個共同的目標(biāo)也是應(yīng)該被接受的。然而為什么每個成員必須要有自己的角色這一點好像是不明顯的。角色提供了所有權(quán)和隸屬感覺,它們在怎樣完成自身的工作方面幫助、指導(dǎo)小組成員;它們避免沖突、重復(fù)的工作和無效的努力;它們以特定的工作環(huán)境為基礎(chǔ),按照一定的規(guī)程分配不同任務(wù)給工作成員。這種規(guī)程對于形成一個既有紀(jì)律又具有活力的小組來說是一個基本的要求。,,相互依賴也是小組的一個基本的要素。也就是說,每一個成員的成功都在某種程度上依賴于其他成員的工作的完成情況。相互依賴可以加快工作的進度,因為小組成員之間可以相互幫
8、助。例如,設(shè)計小組提供的產(chǎn)品設(shè)計一般來說要比單獨一個人設(shè)計的產(chǎn)品好。這是因為小組成員比一個單獨的個人有更廣泛的技術(shù)和經(jīng)驗。人類本身就是一種社會動物,幾乎沒有人喜歡完全一個人工作,最起碼不喜歡長時間的單獨工作。小組的工作會因社會的支持而得到增強。因為社會固有的小組特性,每個人努力完成他自己的任務(wù),余下的就由其他人來完成。既然小組成員之間相互支持、相互依賴,小組就不只是小組中單個個人的簡單疊加。,,,23.4 保證小組工作的有效性為了使小組有效,小組成員必須相當(dāng)?shù)氖炀殻夷軌驁F結(jié)在一起工作。有效的小組具有一些共同的特點:(1) 小組成員接受過必要的培訓(xùn)。(2) 小組的目標(biāo)是重要的、被明確定義的、
9、可視的和可實現(xiàn)的。(3) 小組的資源對于它們的工作來說是足夠的。(4) 小組成員樂于為實現(xiàn)小組的目標(biāo)盡力。(5) 小組成員之間相互合作、相互支持。(6) 所有小組成員遵守小組的規(guī)程。,,一個有效的小組的另一個特點是小組必須具有革新能力。革新不只是想出一個聰明的主意,它還需要創(chuàng)造力和許多艱苦的工作。每一個工程任務(wù)都是革新努力的一部分。富有革新能力的小組必須有熟練的、有能力的、具有高度創(chuàng)新精神的成員。他們必須是具有創(chuàng)造性的、能適應(yīng)多種環(huán)境的、自覺遵守規(guī)程的。他們必須努力去執(zhí)行計劃,保障進度;當(dāng)需要對工作計劃進行適當(dāng)?shù)恼{(diào)整時,他們必須分析計劃變更帶來的諸多影響,控制工程的成本和進度。,,要創(chuàng)建一個富
10、有創(chuàng)新精神的和有效的工程組,就必須在組內(nèi)營造一個相互信任和相互支持的工作環(huán)境。工程組是由具有各種杰出能力的人組成的,他們能快速地察覺到信任的缺乏。當(dāng)管理人員不信任他們的工作小組,制定不符合實際的計劃或者不努力去達(dá)到這種計劃目標(biāo)時,他的工程技術(shù)人員將能感受到。而當(dāng)工程技術(shù)人員感到他們沒有被信任和尊敬時,他們經(jīng)常會覺得受到敵視和被操縱。這些工程師將不再愿意對組織負(fù)責(zé),容易在他們的工作中遭受失敗。為小組制定合理的目標(biāo)是保持旺盛斗志所必須的。當(dāng)人們面對重要而有意義的工作時,他們一般工作得很努力。對于管理者來說,給他們的工作組制定具有挑戰(zhàn)性的目標(biāo)是適當(dāng)?shù)?。但是?dāng)工作組對此有強烈的反映時,管理者應(yīng)該愿意與
11、他們商談一個他們認(rèn)為能接受的更現(xiàn)實的目標(biāo)。幾乎沒有人愿意為一個似乎不可能的進度勤奮工作。為了能更有效的工作,必須讓工作小組認(rèn)為他們的工作是重要的,而且工作進度是可以按期完成的。,,,23.5 TSP的目標(biāo)與工作23.5.1 TSP的目標(biāo)TSP的設(shè)計目的就是建立以有效工作為特點的環(huán)境。TSP建立這種工作環(huán)境的原則如下:(1) 小組成員建立一個共同的目標(biāo)和定義相應(yīng)的角色,明確角色職責(zé)和應(yīng)當(dāng)具備的能力。(2) 工作小組制定一個大家都同意的發(fā)展戰(zhàn)略。(3) 小組成員為他們的工作定義一個統(tǒng)一的工作過程。(4) 所有的成員參與計劃的制定,并且每一個成員明確地知道他們自己承擔(dān)的角色。,(5) 小組能夠和管理
12、層討論計劃。(6) 小組成員按照事先制定的計劃工作。(7) 小組成員自由地、經(jīng)常地進行交流。(8) 小組形成一個富有凝聚力的整體:成員相互合作,為實現(xiàn)一個共同的目標(biāo)共同努力。(9) 工程師知道他們的工作狀態(tài),從他們的工作中得到反饋,并有一個協(xié)調(diào)、支持他們工作的領(lǐng)導(dǎo)層。,,23.5.2 小組操作過程要完成一項規(guī)范的工作,工程師需要使用Deming稱為“操作過程”的概念。這些過程定義了工作應(yīng)當(dāng)怎樣去做,并將工作狀況記錄在過程記錄中。雖然有些定義不夠完善的軟件工程過程也有很多復(fù)雜的文檔記錄,但是操作過程更加貼近實際。設(shè)計小組的具體操作過程是小組成員工作的一部分。TSP提供了一個定義好的標(biāo)準(zhǔn)的操作過程
13、,這個過程具體到建立一個有效的工作環(huán)境的每一步。它指出了建立一個有效小組的步驟,并為工程師和管理人員提供工作向?qū)?。如果沒有具體的向?qū)?,工程師就必須自己設(shè)計出所有的有關(guān)小組建立和工作的細(xì)節(jié)。由于定義這些細(xì)節(jié)需要相當(dāng)?shù)募夹g(shù)和努力,很少有工程師有足夠的經(jīng)驗和充足的時間去設(shè)計這些必需的細(xì)節(jié),會造成時間浪費并且經(jīng)常導(dǎo)致效率低下。,,有一個定義好的過程和遵從這個過程的計劃,工程師能更加有效地開展工作。如果沒有這樣一個過程,就必須在每一步都停下來去考慮下一步是什么和怎樣去做。大部分工程過程是相當(dāng)復(fù)雜的,它包括許多步驟。沒有具體的向?qū)?,工程師可能會漏掉一些步驟,按不正確的順序執(zhí)行,或者浪費時間去考慮下一步該怎
14、么做。TSP提供一些操作過程,用于組織工程小組、形成良好的團體氛圍以及指導(dǎo)他們開展工作。,,如圖23.1所示,TSP是可以幫助項目小組高效地開發(fā)和維護軟件以改進系統(tǒng)的方法之一。軟件能力成熟度模型(CMM)為高效地進行工程工作提供了全面的改善框架。個人軟件過程提供了一些工程師們使用的定義、計劃和衡量過程時所遵循的工程原則。TSP將開發(fā)小組的開發(fā)原則同PSP、CMM方法結(jié)合起來,以建立高效的團隊。實質(zhì)上,CMM和PSP主要提供高效開發(fā)的關(guān)系與技巧,而TSP是在實際的工作中指導(dǎo)工程師的。,,,圖23.1 過程改進方法,23.5.3 TSP流程TSP的主要成分如圖23.2所示。在小組成員參加TSP團隊
15、以前,他們必須知道如何進行規(guī)范化的工作。進行個人軟件過程的培訓(xùn)可以向工程師們提供使用TSP所必需的知識和技能。,,,圖23.2 TSP簡圖,PSP培訓(xùn)包括學(xué)習(xí)如何編制詳細(xì)的工作計劃,采集和使用過程數(shù)據(jù),用獲得的數(shù)據(jù)跟蹤項目,度量和管理產(chǎn)品質(zhì)量以及定義和使用可操作的工程過程。工程師必須在參與TSP團隊構(gòu)建或執(zhí)行TSP過程以前接受有關(guān)這些技能的培訓(xùn)。如圖23.3所示,TSP團隊的工作呈現(xiàn)出階段性的重新啟動性。因為TSP遵循反復(fù)演進的開發(fā)策略,所以階段性的重新啟動是必須的。這樣,每一個階段或周期就可以根據(jù)上一個周期獲得的度量數(shù)據(jù)、總結(jié)出來的知識與經(jīng)驗對下一階段的工作進行更好的計劃。重新啟動同樣要求工
16、程師個人更新自己的詳細(xì)工作計劃。通常,這些計劃僅僅在幾個月內(nèi)是精確的。在TSP啟動的時候,團隊要編制今后三、四個月的總體和詳細(xì)計劃。當(dāng)團隊成員完成一個項目階段或工作周期的所有或大部分的工作后,他們將根據(jù)需要修訂總體計劃,并為以下三、四個月編制新的計劃。這些工作是在TSP提供的重新啟動過程的指導(dǎo)下進行的。,,,圖23.3 TSP的流程,,23.6 啟動一個TSP小組TSP一般將一個軟件項目的開發(fā)工作分為4個階段。任何一個應(yīng)用TSP的項目可以只包括其中的一個階段,也可以包括幾個連續(xù)的階段。在項目開始之前,項目組應(yīng)該執(zhí)行啟動過程,對整個任務(wù)進行全面的規(guī)劃和組織。在每個階段之前,項目組應(yīng)該執(zhí)行重啟過程
17、,對下一個階段的任務(wù)進行規(guī)劃。一般來說,如果項目組的成員經(jīng)過了PSP的培訓(xùn),項目組的啟動過程約需4天時間,重啟過程約需兩天時間。此時,項目組同管理人員一起評審項目計劃和分析關(guān)鍵風(fēng)險。在項目已經(jīng)啟動之后,項目組應(yīng)每周進行一次項目進展討論會,另外還應(yīng)及時向有關(guān)主管和客戶報告項目的進展情況。,,當(dāng)前版本的TSP使用23個過程指南、14個數(shù)據(jù)表格和3個標(biāo)準(zhǔn)。在這些過程指南中定義了173個啟動和開發(fā)步驟。每一個步驟都不復(fù)雜,但它們的描述都非常詳細(xì),以便開發(fā)人員能夠清楚地知道下一步應(yīng)該做什么,應(yīng)該怎樣去做。這些過程指南可用來指導(dǎo)項目組,以完成啟動過程和一步步地完成整個項目。經(jīng)過4天的項目啟動過程之后,項目
18、組應(yīng)該產(chǎn)生以下結(jié)果:項目組的目標(biāo);項目組各成員的明確角色;過程開發(fā)計劃;項目組的質(zhì)量計劃;全面的開發(fā)計劃和進度計劃;下一階段每個成員的詳細(xì)工作計劃;項目的風(fēng)險分析結(jié)果以及項目的狀態(tài)報告。,,在小組啟動階段,所有的小組成員必須制定他們的工程策略、過程和計劃。小組啟動完成以后,小組所有的工程師就遵從這個定義好的過程與計劃開展工作。當(dāng)小組成員接受了適當(dāng)?shù)呐嘤?xùn),小組已經(jīng)建立之后,整個小組就要參與到小組啟動過程中。圖23.4和表23.1給出了啟動過程的腳本。啟動過程的九個會議都有腳本對所有活動進行足夠的、詳細(xì)的介紹。所以一個受過訓(xùn)練的啟動指導(dǎo)者可以在被指定的步驟中指導(dǎo)小組開展活動。通過啟動過程,小組將產(chǎn)
19、生一個詳細(xì)的計劃。為了成為一個具有凝聚力和有效的小組,所有的小組成員都必須承擔(dān)這個計劃。為了建立事務(wù)委托,TSP要求所有的小組人員都參與計劃的制定。這樣,通過完成小組啟動過程,所有的小組成員都將參與到計劃的制定工作中來,他們將了解與承擔(dān)被分配給他們、需要他們自己完成的工作計劃。,,圖23.4 TSP啟動過程,,,,小組完成啟動過程一般需要接受專業(yè)的指導(dǎo)。這種指導(dǎo)必須由受過訓(xùn)練的啟動教練來提供,他在整個啟動過程中領(lǐng)導(dǎo)小組工作。雖然TSP腳本提供了針對各項活動的基本的指導(dǎo),但每一個小組都可能遇到獨特的問題和困難,所以一個簡單的腳本不可能充分地提供能夠引導(dǎo)一個沒有經(jīng)驗的小組順利完成啟動過程所有必需的
20、資料。除非小組已經(jīng)非常有經(jīng)驗,并有一個已經(jīng)完成了幾個TSP過程的領(lǐng)導(dǎo)者,否則他們一般都需要一個受過培訓(xùn)的啟動教練的支持,才能夠順利地完成小組啟動階段的工作。,,在啟動工作的第一次會議上,小組成員、小組組長和啟動教練會見高級主管和銷售代表。高級主管把工程的有關(guān)情況告訴給小組,講解進行這個工程的必要性;介紹開始這個工程的前提(原因)和管理層對于這個工程的具體要求及目標(biāo)。銷售代表解釋市場對于該項工程產(chǎn)品的需求,所有重要的競爭對手情況和其他所有需要小組知道的、顧客關(guān)心的具體事項。簡單地說,首次會議的目的就是告知所有小組成員關(guān)于即將開始的工作的情況,描述管理者對于小組的期望目標(biāo),同時,使小組人員認(rèn)識到管
21、理者要依靠他們來完成這個重要的工作。,,在啟動階段的第二到八次會議上,小組、小組組長和啟動教練不再會見觀察者或拜訪者。在這些階段,小組被一系列的、被設(shè)計用來產(chǎn)生一個有效的工作小組的步驟指引著。在啟動階段的第二次會議上,小組記錄它的目標(biāo),選擇小組成員角色。標(biāo)準(zhǔn)的TSP角色有:小組組長、用戶接口管理員、設(shè)計管理員、執(zhí)行管理員、測試管理員、過程管理員、品保管理員和技術(shù)支持管理員。其他可能的角色可以根據(jù)需要設(shè)置。例如設(shè)備安全經(jīng)理、安全經(jīng)理或執(zhí)行經(jīng)理。每一個小組成員最少充當(dāng)一種角色。當(dāng)小組多于8個人時,可以增加角色,或者一些人可以作為輔助角色。組長一般不兼任其他角色。,,在啟動階段的第3、4次會議中,小
22、組確定開發(fā)項目的宏觀策略和具體計劃。工程師們進行系統(tǒng)的概要設(shè)計,規(guī)劃開發(fā)策略,詳細(xì)定義要執(zhí)行的過程以及所需要的工具和設(shè)備。他們要列出將要產(chǎn)生的工作產(chǎn)品,并估計每個工作產(chǎn)品的大小和每一步要花費的時間。一旦任務(wù)已經(jīng)被定義和估計,工程師就要估計每一個成員每一周花費在工程上的時間。通過任務(wù)估算和每周的工作進度分配,小組產(chǎn)生明細(xì)的進度計劃。,,一旦有了一個宏觀的計劃,工程師們將在第5次會議中制定質(zhì)量目標(biāo)和計劃。這個計劃定義了小組將要進行的質(zhì)量活動;并且提供一個跟蹤已完成產(chǎn)品的度量標(biāo)準(zhǔn)。在進行質(zhì)量計劃的過程中,小組成員們將會估算他們在每一階段中可能引入的缺陷數(shù)、每一階段能夠清除的錯誤數(shù)和項目完成后系統(tǒng)中將
23、會遺留的錯誤數(shù)。確定客戶驗收測試和最終產(chǎn)品提交的方式。接下來,在第6次會議上,小組成員們會制定下一階段的詳細(xì)計劃,然后再綜合地看一下任務(wù)的分配是否合理,進行必要的任務(wù)調(diào)整,以確保任務(wù)被所有成員均分承擔(dān),得到經(jīng)過平衡的計劃。在第7次會議上,工程師識別工程中可能發(fā)生的風(fēng)險并把它們按照可能性和影響的大小分類。小組也委派一個成員來跟蹤每一個風(fēng)險。同時,小組還將準(zhǔn)備一個用以緩解可能發(fā)生的重大風(fēng)險的風(fēng)險應(yīng)對計劃。,,完成這些計劃后,舉行第8次小組會議,為管理復(fù)審做準(zhǔn)備。然后在第9次會議上進行管理復(fù)審。在這次會議上,小組要解釋計劃,描述計劃的產(chǎn)生過程,確認(rèn)所有的成員都同意這個計劃。如果小組計劃沒有達(dá)到管理層
24、期望的目標(biāo),就要準(zhǔn)備和介紹一個變更的計劃,用來表明在增加了其他附加的資源或者環(huán)境有所改變的情況下,他們可以做些什么??紤]到小組計劃有時候不能滿足用戶的需要,在這種情況下,有必要按照一定的原則進行計劃變更,并必須能對變更進行有效的管理。在TSP啟動的最后階段,小組和管理層應(yīng)該在小組如何進行工程的開發(fā)上達(dá)成一致。,,,23.7 基于TSP的協(xié)同工作一旦TSP小組被啟動,首要的就是確保所有的小組成員遵從小組計劃開展工作。應(yīng)當(dāng)注意以下幾個方面的問題:(1) 領(lǐng)導(dǎo)小組的方法。(2) 過程規(guī)范。(3) 問題跟蹤。(4) 開展交流。(5) 維護小組計劃。(6) 估算工程進度。(7) 重新平衡工作負(fù)載。(8)
25、 實施TSP質(zhì)量管理。,,23.7.1 領(lǐng)導(dǎo)職責(zé)小組組長負(fù)責(zé)指導(dǎo)和激發(fā)小組成員、處理客戶問題和與管理層交涉。這包括點到點的直接的工作指導(dǎo)、保護小組資源、解決小組中的問題、安排小組會議和匯報小組工作??偠灾M長的職責(zé)是維持小組的動力和精神,確保小組進行最有效的工作。小組領(lǐng)導(dǎo)的另一個關(guān)鍵職責(zé)是維持小組的規(guī)范化工作。小組組長要確保成員按照已經(jīng)確定的計劃去做他們的工作。在啟動階段,小組定義了工作過程。當(dāng)進行工作的時候,小組組長要跟蹤并監(jiān)督工作的進行,確保每一個人都遵從這個規(guī)范的過程和計劃。,,幾乎每一個工程都面臨進度和資源的壓力,所以小組成員經(jīng)常遇到不按規(guī)則辦事的誘惑,可能會自覺或不自覺地偏離定義
26、好的過程。但是,如果小組不再遵從已經(jīng)定義好的過程,他們就沒辦法明確工作的依據(jù)和當(dāng)前的立腳點在哪兒,這是一種十分危險的錯誤。在監(jiān)督過程的規(guī)程時,小組組長應(yīng)該檢查每一個小組成員的工作過程,度量并記錄他們的過程數(shù)據(jù),記錄每周的計劃完成狀態(tài)和工作產(chǎn)品的質(zhì)量。小組組長的另一個重要的職責(zé)是確保小組成員遇到的每一個問題都被解決和跟蹤。有了TSP,工程技術(shù)人員一般在每周會議上討論問題。小組組長應(yīng)首先檢查每一個議題,看它是否真是一個問題,是不是應(yīng)該被解決,決定哪個人應(yīng)該負(fù)責(zé)處理和跟蹤它。最后,小組使用問題跟蹤日志跟蹤每一個問題并在周會議上復(fù)查所有突出的問題。,,23.7.2 人際交流小組組長負(fù)責(zé)維持公開和有效的
27、人際交流。當(dāng)小組成員不知道工程的進展情況,不了解其他人正在做什么或者不知道前面有什么挑戰(zhàn)時,讓他們保持很高的積極性是困難的。交流是維持小組活力的關(guān)鍵,使小組內(nèi)進行積極交流是小組組長能力的重要組成部分。在開周會議時,小組組長首先回顧工程的當(dāng)前狀態(tài)和當(dāng)前所有的管理問題和業(yè)務(wù)問題。然后小組成員們回顧他們一周來的工作,計劃下一周的工作;介紹他們的角色管理活動和他們所負(fù)責(zé)跟蹤的風(fēng)險狀態(tài)。他們也提出一些問題,描述他們在下一周需要幫助和支持的地方。小組組長的另外一個重要職責(zé)是報告小組的工作狀態(tài)和工程進度。TSP過程要求小組有周報來表明小組在哪個地方偏離了計劃。過程也要求提供經(jīng)常的、真實的和完整的狀態(tài)報告。,
28、,23.7.3 工作跟蹤與計劃維護一旦小組已經(jīng)完成項目的啟動并開始工作,那么計劃將指導(dǎo)工作的進行。它是衡量過程的基準(zhǔn),也是識別一個問題是否對工程的進度有影響的手段。通過跟蹤計劃的執(zhí)行情況,能夠及時地發(fā)現(xiàn)工作中出現(xiàn)偏差的先兆。有了足夠的先兆,小組可以及時采取調(diào)控措施,防止實際進度與計劃的過多偏移。使用叫做“掙權(quán)值”的方法,有助于TSP小組在工作過程中不致過度偏離計劃。采用這種方法,每一個任務(wù)都將按照它在某項工作的估算工作量中所占的百分比分配給一個權(quán)值。例如,如果一個工程經(jīng)估算后,計劃耗費1000個工時,那么一個32工時的任務(wù)就被分配給3.2個權(quán)值,或者用百分比表示:10032/10003.2%。
29、當(dāng)小組完成了這個工作后,承擔(dān)這項工作的工程師將積累3.2個權(quán)值點,不論他花費了多長時間。,,工程組有許多種任務(wù)。在比較復(fù)雜的工程中,工程經(jīng)常不能按最初的計劃完成。由于一些工作先完成而其他工作后完成,因此沒有一個簡單的方法來判斷工程的工期是超前了還是拖后了。掙權(quán)值的方法為每一個任務(wù)提供一個權(quán)值,當(dāng)一個任務(wù)被完成時,小組就獲得了權(quán)值。這樣通過獲得的權(quán)值總數(shù),小組就可以判斷出工程進行到哪個地步了。例如,小組可能記錄了一周的數(shù)據(jù),如表23.2所示。,,,23.7.4 平衡工作負(fù)載不平衡的工作負(fù)載會使小組的工作低效。當(dāng)一些人要完成比其他人更多的工作時,就發(fā)生了不平衡。引起這個問題的原因可能有幾種:第一,
30、具有較多經(jīng)驗的人一般比具有較少經(jīng)驗的人要承擔(dān)更多的任務(wù),雖然具有較多經(jīng)驗的人可以很快地完成每一個工作,但這會使他們承擔(dān)過多的負(fù)載而讓其他人幾乎不做什么工作;另一個原因是工程過程中正常的波動,一些人可以提前完成他們的工作,另外一些人則會相反。,,雖然工作負(fù)載存在不平衡是自然的,但它是會導(dǎo)致低效的,因此應(yīng)當(dāng)設(shè)法盡量平衡負(fù)載。除非所有的小組成員的工作時間都被占滿,小組不可能達(dá)到最高的效率。當(dāng)小組每一周檢查工程的狀態(tài)時,工程人員可以看到他們的工作是否存在不平衡。如果是,則小組應(yīng)該重新平衡負(fù)載。有了TSP,小組可以根據(jù)需要經(jīng)常做這個工作,如果有必要,可以每周進行一次。一旦完成了TSP的啟動,并制定了詳細(xì)
31、的小組、個人計劃,就有可能只利用一兩個小時重新平衡工作負(fù)載。,,TSP小組啟動時,制定了一個從工程開始到工程完成的宏觀計劃。根據(jù)工程的不同,計劃周期可能是幾個星期,也可能是幾年。有了TSP,每一個成員都為下一階段制定詳細(xì)的計劃。由于工程師不可能制定多于三、四個月的計劃,因此TSP把工程分成一些長為三、四個月的階段。小組在每一階段或每一次循環(huán)的開始進行小組啟動活動。無論什么時候,當(dāng)小組發(fā)現(xiàn)計劃不再對他們有幫助時,就應(yīng)該重新啟動,更新計劃。當(dāng)他們的工作發(fā)生重大改變或者小組成員有重大變動時,小組也應(yīng)該實施重新啟動活動。,,,23.8 TSP的質(zhì)量管理雖然大部分組織承認(rèn)質(zhì)量是非常重要的,但很少有小組知
32、道怎樣進行產(chǎn)品質(zhì)量管理。并且,沒有通用的方法來預(yù)防缺陷的引入。人們在開發(fā)軟件的同時也在犯錯誤,這些錯誤是軟件缺陷的來源。在TSP中,首要的質(zhì)量管理的焦點就是缺陷管理。要進行質(zhì)量管理,小組必須建立質(zhì)量評估體系,確立質(zhì)量目標(biāo),制定計劃去適應(yīng)這個目標(biāo),檢測違犯計劃的過程,并在這些問題發(fā)生時采取有效的補救措施。質(zhì)量管理的三大基本要素是:制定質(zhì)量計劃,鑒別質(zhì)量問題、發(fā)現(xiàn)并阻止質(zhì)量問題的發(fā)生。,,23.8.1 質(zhì)量計劃在小組啟動階段,TSP小組建立一個質(zhì)量計劃。根據(jù)估算出的工程規(guī)模大小和歷史數(shù)據(jù)庫中的缺陷記錄數(shù)據(jù),估算出他們在每一個階段將可能注入的缺陷數(shù)量。如果小組沒有歷史記錄,他們可以使用表23.3所示
33、的TSP質(zhì)量計劃指南作為幫助。這一指南有助于幫助TSP小組建立質(zhì)量目標(biāo)。在估算了可能將要注入的缺陷之后,小組還要根據(jù)歷史數(shù)據(jù)或者TSP質(zhì)量管理指南中的參考數(shù)據(jù)估算出可以發(fā)現(xiàn)并能夠排除的缺陷數(shù)據(jù)。在某一階段中可能排除的缺陷是基于該階段相關(guān)的歷史數(shù)據(jù)記錄得出的,該數(shù)據(jù)的準(zhǔn)確含義是在整個階段中,排除的缺陷和注入缺陷的百分比。在估算了排除/注入缺陷數(shù)據(jù)之后,小組就可以據(jù)此制定質(zhì)量計劃。最后,小組檢查質(zhì)量計劃,復(fù)核質(zhì)量參數(shù)是否合理,它是否可以滿足小組的質(zhì)量目標(biāo)。如果答案是否定的,工程師們就必須要調(diào)整估算并重新制定質(zhì)量計劃。關(guān)于質(zhì)量指導(dǎo)方針請參見表23.3。,,,,,,,,,,,23.8.2 識別質(zhì)量問題
34、在TSP中有幾種識別質(zhì)量問題的方法。例如,通過拿任意一個模塊或成分的實際數(shù)據(jù)和質(zhì)量計劃比較,我們就可以很快地知道哪兒故障比較集中,回溯與小組目標(biāo)顯著偏離的地方。對于相對小的工程,可以花費一些時間來檢查過程數(shù)據(jù)。為了減小問題的影響,TSP介紹了一系列的質(zhì)量方法。這些方法有:,,(1) 無缺限比率(PDF,Percent Defect Free)。(2) 缺陷排除剖面圖(Defect-removal Profile)。(3) 質(zhì)量剖面圖(Quality prfile)。(4) 過程質(zhì)量索引(PQI,Process Quality Index)。,,PDF就是在給定的階段內(nèi)沒有缺陷的產(chǎn)品部件所占的百
35、分比。典型的PDF曲線如圖23.5所示,它描述了在特定的缺陷排除階段,系統(tǒng)中沒有被發(fā)現(xiàn)的缺陷成分的比例。通過跟蹤PDF曲線,我們可以知道哪個階段是最棘手的。PDF數(shù)據(jù)提供了一個對質(zhì)量問題的初步估算方法。在有問題的地方,PDF曲線就不是平穩(wěn)均勻增長的。質(zhì)量經(jīng)理可以檢查一下那些缺陷數(shù)目很多的部分,來識別問題的來源,并確定小組應(yīng)該如何處理。在一個良好的系統(tǒng)中,PDF值應(yīng)當(dāng)穩(wěn)定提高,并且在系統(tǒng)測試階段應(yīng)當(dāng)達(dá)到或超過90%。,,,圖23.5 無缺陷比率,圖23.6顯示了一個典型的缺陷排除剖面圖。PDF曲線只可以描述一個綜合的系統(tǒng)或者它的一個成分,而缺陷排除剖面圖可以用來描述整個系統(tǒng)、每一個子系統(tǒng)、任何軟
36、件成分甚至一個模塊,因此能夠足夠精細(xì)地反映一個軟件單元質(zhì)量情況。這樣,如果PDF或系統(tǒng)級的缺陷排除剖面圖顯現(xiàn)出問題時,質(zhì)量經(jīng)理可以采用逐漸降低缺陷排除剖面圖級別的方法,逐層深入分析,直到查清問題的出處。,,,圖23.6 缺陷排除剖面圖,質(zhì)量剖面圖使用個體的編程模塊。圖23.7中顯示了一個質(zhì)量剖面圖的例子。質(zhì)量剖面圖測試模塊中與組織的質(zhì)量不符合的地方。如果組織沒有足夠的歷史數(shù)據(jù)來產(chǎn)生他們自己的標(biāo)準(zhǔn),他們可以使用TSP給出的建議值。這個五維的質(zhì)量剖面圖描述了基于設(shè)計數(shù)據(jù)、設(shè)計評審、代碼評審、編譯錯誤和單元測試錯誤等方面的質(zhì)量。經(jīng)過很少的練習(xí),受過PSP培訓(xùn)的工程師可以快速地檢查很多的質(zhì)量剖面圖,識
37、別出可能出現(xiàn)質(zhì)量問題的軟件單元。,,,圖23.7 質(zhì)量剖面圖,過程質(zhì)量索引是通過提取五維的質(zhì)量剖面圖而產(chǎn)生的一維圖。如果某模塊PQI的值能夠達(dá)到0.4,則這個模塊一般來說沒有錯誤。有了PQI,組織就可以根據(jù)模塊的質(zhì)量值把很多的模塊分類。這在一個具有成百上千個模塊的大型系統(tǒng)中是非常有用的。小組可以快速地定位最可能在測試時和用戶使用時出現(xiàn)問題的地方。,,23.8.3 發(fā)現(xiàn)和阻止質(zhì)量問題TSP質(zhì)量檢查可以預(yù)示可能的質(zhì)量問題(甚至在第一次編譯之前),能夠在系統(tǒng)集成或測試之前提供一個保證產(chǎn)品質(zhì)量的可靠的方法。在小組識別出了最有可能出現(xiàn)問題的模塊之后,TSP給出的補救措施如下:(1) 監(jiān)控模塊的測試過程,
38、看是否發(fā)現(xiàn)了問題,然后尋求必要的補救措施。(2) 在系統(tǒng)集成和測試之前,重新檢查模塊。(3) 指定一個工程師來重新改寫被懷疑存在問題的模塊。(4) 重新開發(fā)模塊(redevelop the module)。,,PSP和TSP都強調(diào)在問題發(fā)生之前來防止它的發(fā)生。經(jīng)過PSP培訓(xùn),工程師可以減少注入的40%50%故障。在TSP中,設(shè)計經(jīng)理可以通過確保小組制定一個完整和高質(zhì)量的設(shè)計來更大程度地減少注入的故障。最后,TSP引入了故障復(fù)審機制,分析在完成的產(chǎn)品中已經(jīng)發(fā)現(xiàn)的故障,防止將來再發(fā)生類似的故障。,,,23.9 小 結(jié)TSP對小組軟件過程的定義、度量和改革提出了一整套原則、策略和方法,把CMM要求實
39、施的管理與PSP要求開發(fā)人員具有的技巧結(jié)合起來,以按時交付高質(zhì)量的軟件,并把成本控制在預(yù)算的范圍之內(nèi)。在TSP中,講述了如何創(chuàng)建高效且具有自我管理能力的工程小組,工程人員如何才能成為合格的項目組成員,管理人員如何對小組提供指導(dǎo)和支持,如何保持良好的工程環(huán)境使項目組能充分發(fā)揮自己的水平等軟件工程管理問題。,,具體地說,TSP的目標(biāo)為創(chuàng)建具有自我管理能力的小組,管理人員要善于引導(dǎo)和激勵小組的全體成員,使他們能發(fā)揮自己的最高水平,采用CMM來進行軟件過程的改革,為處于高成熟度的軟件組織的過程改革提供指導(dǎo),積極培訓(xùn)人才,為在大學(xué)和研究所講授工業(yè)界常用的小組開發(fā)技巧提供藍(lán)本。,,總的來說,小組軟件過程T
40、SP基于以下四條基本原理:(1) 應(yīng)該遵循一個確定的、可重復(fù)的過程并迅速獲得反饋,這樣才能使學(xué)習(xí)和改革最有成效。(2) 一個小組是否高效,是由明確的目標(biāo)、有效的工作環(huán)境、有能力的教練和積極的領(lǐng)導(dǎo)等四方面因素的綜合作用所確定的,因此應(yīng)在這四個方面同時努力,而不能偏廢其中任何一個方面。(3) 應(yīng)注意及時總結(jié)經(jīng)驗教訓(xùn),當(dāng)工程師們在項目中面臨各種各樣的實際問題并尋求有效的解決問題的方案時,就會更深刻地體會到TSP的威力。,,(4) 應(yīng)注意借鑒前人和他人的經(jīng)驗,在已經(jīng)可利用的工程、科學(xué)和教學(xué)方法經(jīng)驗的基礎(chǔ)上來規(guī)定過程改進的指令。在軟件開發(fā)(或維護)過程中,首先需要按照小組軟件過程框架定義一個過程。在設(shè)計
41、TSP過程時,需要按照以下七條原則進行:(1) 循序前進的原則。首先在PSP的基礎(chǔ)上提出一個簡單的過程框架,然后逐步完善。,,(2) 迭代開發(fā)的原則。選用增量式迭代開發(fā)方法,通過幾個循環(huán)開發(fā)一個產(chǎn)品。(3) 質(zhì)量優(yōu)先的原則。對按TSP開發(fā)的軟件產(chǎn)品,建立質(zhì)量和性能的度量標(biāo)準(zhǔn)。(4) 目標(biāo)明確的原則。對實施TSP的群組及其成員的工作效果提供準(zhǔn)確的度量。(5) 定期評審的原則。在TSP的實施過程中,對角色和群組進行定期的評價。(6) 過程規(guī)范的原則。對每一個項目的TSP規(guī)定明確的過程規(guī)范。(7) 指令明確的原則。對實施TSP中可能遇到的問題提供解決問題的指南。,,在實施群組軟件過程TSP的過程中,
42、應(yīng)該自始至終貫徹集體管理與自我管理相結(jié)合的原則。具體地說,應(yīng)該實施以下六項原則:(1) 計劃工作的原則。在每一階段開始時要制定工作計劃,規(guī)定明確的目標(biāo)。(2) 實事求是的原則。目標(biāo)不應(yīng)過高也不應(yīng)過低而應(yīng)實事求是,在檢查計劃時如果發(fā)現(xiàn)未能完成或者已經(jīng)超越規(guī)定的目標(biāo),應(yīng)分析原因,并根據(jù)實際情況對原有計劃作必要的修改。,,(3) 動態(tài)監(jiān)控的原則。一方面應(yīng)定期追蹤項目進展?fàn)顟B(tài)并向有關(guān)人員匯報,另一方面應(yīng)經(jīng)常評審自己是否按PSP原理進行工作。(4) 自我管理的原則。開發(fā)小組成員如發(fā)現(xiàn)過程不合適,應(yīng)主動、及時地進行改進,以保證始終用高質(zhì)量的過程來生產(chǎn)高質(zhì)量的軟件,任何消極埋怨或坐視等待的態(tài)度都是不對的。(
43、5) 集體管理的原則。項目開發(fā)小組的全體成員都要積極參加和關(guān)心小組的工作規(guī)劃、進展追蹤和決策制訂等項工作。,,(6) 獨立負(fù)責(zé)的原則。按TSP原理進行管理,每個成員都要但任一個角色。在TSP的實踐過程中,TSP的創(chuàng)始人Humphrey 建議在一個軟件開發(fā)小組內(nèi)把管理的角色分成客戶界面、設(shè)計方案、實現(xiàn)技術(shù)、工作規(guī)劃、軟件過程、產(chǎn)品質(zhì)量、工程支持以及產(chǎn)品測試等八類。如果小組成員的數(shù)目較少,則可將其中的某些角色合并,如果小組成員的數(shù)目較多,則可將其中的某些角色拆分??傊?,每個成員都要獨立擔(dān)當(dāng)一個角色。,,迄今為止,學(xué)術(shù)界和產(chǎn)業(yè)界公認(rèn)CMM是當(dāng)前最好的軟件過程,然而它的成功與否與軟件開發(fā)單位內(nèi)部有關(guān)人
44、員的積極參加和創(chuàng)造性活動密不可分,而且由于CMM中并未提供有關(guān)實現(xiàn)子過程域所需要的具體知識和技能,因此人們進行個體軟件過程PSP的研究與實踐以填補這一空白,且為基于個體和小型群組軟件過程的優(yōu)化提供了具體、有效的途徑。小組軟件過程TSP結(jié)合了CMM的管理方法和PSP的工程技能,建立、管理、授權(quán)并且指導(dǎo)項目小組如何在滿足計劃費用的前提下,在承諾的期限范圍內(nèi),不斷生產(chǎn)并交付高質(zhì)量的產(chǎn)品。從公布的TSP實驗數(shù)據(jù)來看,結(jié)果是令人鼓舞的。但由于尚未在巨型項目中進行TSP試驗,因而尚難斷定在巨型項目中實施TSP會出現(xiàn)什么問題,目前的TSP比較適合規(guī)模為320人的開發(fā)小組。,,由于TSP最初的設(shè)計目的大部分都
45、已經(jīng)達(dá)到,下一步將致力于把TSP過程轉(zhuǎn)變成一般的工業(yè)應(yīng)用。工業(yè)工作中,最關(guān)心的是改善培訓(xùn)環(huán)節(jié)和介紹實用方法,這樣工程師就能更加遵守這個過程,激勵商業(yè)的TSP支持工具和環(huán)境的開發(fā)。預(yù)計TSP將來的發(fā)展將包括把TSP過程擴展到各種不同的小組和更大的小組。,,因為工作組有很多的不同的類型,所以必須要有系列的TSP過程?;镜腡SP過程稱為TSPm,是為具有220個成員的小組設(shè)計的,但在小組由312個成員組成時,它工作的最有效。加倍TSP過程是為具有100150個工程師的多人小組設(shè)計的;對于一個大的工程,它可能會由分布在不同地域的幾個小組共同完成,這就需要有一種擴展的TSP適用于分布式的小組;對于測試和維護小組這樣的軟件相關(guān)組,就需要有針對它們的“功能型”TSP;針對巨型的、涉及多個領(lǐng)域的、由成百上千的工程師組成的小組,就需要跨越組織技術(shù)界線的擴展TSP過程。,,CMM、PSP和TSP為軟件產(chǎn)業(yè)提供了一個集成化的、三維的軟件過程改革框架。TSP指導(dǎo)項目組中的成員如何有效地規(guī)劃和管理所面臨的項目開發(fā)任務(wù),而且告訴管理人員如何指導(dǎo)軟件開發(fā)隊伍,始終以最佳狀態(tài)來完成工作。在此應(yīng)著重指出,單純實施能力成熟度模型CMM,永遠(yuǎn)不能真正做到能力成熟度的升級,而需要將實施CMM與實施PSP和實施TSP有機地結(jié)合起來,才能達(dá)到軟件過程持續(xù)改善的效果。,,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。