張宜軒
摘要:介紹PSP、TSP、CMM三者的含義,以及在實(shí)際項(xiàng)目組織管理、軟件開(kāi)發(fā)過(guò)程中各自擔(dān)當(dāng)?shù)淖饔?,并淺析如何將三者有機(jī)地結(jié)合起來(lái),從而實(shí)現(xiàn)高效管理團(tuán)隊(duì)、開(kāi)發(fā)面向用戶的高質(zhì)量產(chǎn)品的組織目標(biāo)。
關(guān)鍵詞:個(gè)人軟件過(guò)程(PSP);團(tuán)隊(duì)軟件過(guò)程(TSP);軟件能力成熟度模型(CMM);組織目標(biāo)
一、組織目標(biāo)完成過(guò)程的現(xiàn)狀以及存在的問(wèn)題
近年來(lái),國(guó)內(nèi)已有多家企業(yè)通過(guò)并實(shí)施了軟件能力成熟度模型(CMM)、個(gè)人軟件過(guò)程(PSP)、團(tuán)隊(duì)軟件過(guò)程(TSP)等各級(jí)認(rèn)證,將它們成功地應(yīng)用到軟件開(kāi)發(fā)過(guò)程和組織管理過(guò)程中去。盡管如此,因此三者之間存在同一的協(xié)調(diào)與配合,導(dǎo)致一部分生產(chǎn)出的軟件產(chǎn)品在交付用戶過(guò)程或在后期維護(hù)過(guò)程中會(huì)出現(xiàn)各類(lèi)問(wèn)題或漏洞,因此我們只有三者兼顧,才能有效地改善過(guò)程,才能有效改善過(guò)程,最終在整體角度縮短完成時(shí)間、降低所需成本。
二、PSP/TSP/CMM簡(jiǎn)介
(一)PSP(個(gè)人軟件過(guò)程)
PSP過(guò)程由一系列方法、表格、腳本等組成,用以指導(dǎo)軟件開(kāi)發(fā)人員計(jì)劃、度量和管理,具體理解他們的工作。就是說(shuō)PSP提供了一種模式幫助軟件開(kāi)發(fā)人員從個(gè)人角度出發(fā),收集時(shí)間、缺陷、工作量等數(shù)據(jù),對(duì)比計(jì)劃內(nèi)容與實(shí)際結(jié)果,從中總結(jié)和感知到作為軟件開(kāi)發(fā)人員還有哪些缺陷和不足并針對(duì)自己的問(wèn)題進(jìn)行改進(jìn)。PSP過(guò)程與具體的技術(shù)(設(shè)計(jì)語(yǔ)言、工具、算法思想等)相對(duì)獨(dú)立,在幫助軟件開(kāi)發(fā)人員做出各個(gè)階段的計(jì)劃后軟件開(kāi)發(fā)人員按照既定目標(biāo)進(jìn)入開(kāi)發(fā)周期,不斷調(diào)整與計(jì)劃之間的差距,從而最大化地從個(gè)人角度提高軟件開(kāi)發(fā)的實(shí)際效率。PSP過(guò)程是對(duì)軟件開(kāi)發(fā)人員的持續(xù)改進(jìn)過(guò)程,這種結(jié)構(gòu)性框架雖然對(duì)于團(tuán)隊(duì)軟件過(guò)程它使用的范圍小的多,但其中的管理思想、發(fā)揮作用等確實(shí)是舉足輕重的。
(二)TSP(團(tuán)隊(duì)軟件過(guò)程)
TSP過(guò)程與PSP過(guò)程不同,它更加強(qiáng)調(diào)對(duì)群組軟件過(guò)程的定義、度量且提供了一種策略和方法,與PSP過(guò)程相較,它轄制的范圍要大得多、管理的事務(wù)也相對(duì)龐雜,作為管理者,一方面需要思考如何篩選合格的開(kāi)發(fā)組工作人員,為每個(gè)人分配不同的角色,大致承擔(dān)什么職責(zé):以10人團(tuán)隊(duì)為例,作為管理人員需要充分調(diào)查誰(shuí)的編程能力上乘、誰(shuí)的測(cè)試能力強(qiáng)勁、誰(shuí)的后期維護(hù)水平優(yōu)秀等等。
“尺有所長(zhǎng),寸有所短”,TSP過(guò)程的任務(wù)分配不是簡(jiǎn)單的排列座位,而更加注重各子過(guò)程的實(shí)際運(yùn)行情況。如果角色稍有重復(fù),勢(shì)必會(huì)造成時(shí)間的浪費(fèi);如果分配工作任務(wù)與實(shí)際能力水平不匹配,亦會(huì)造成工作流程協(xié)調(diào)、銜接的不順暢。更多地,TSP過(guò)程為管理者提供了一種模式用以管理整體團(tuán)隊(duì)事務(wù),將PSP過(guò)程中的個(gè)人技巧按一定策略進(jìn)行安排,對(duì)群組管理提供強(qiáng)有力的支持和保障。
(三)CMM(軟件能力成熟度模型)
CMM是一種協(xié)助企業(yè)進(jìn)行軟件質(zhì)量與管理流程評(píng)估的標(biāo)準(zhǔn),目的是克服軟件生產(chǎn)的危機(jī)。CMM的核心就是把軟件開(kāi)發(fā)視為一個(gè)過(guò)程,并根據(jù)這一原則對(duì)軟件開(kāi)發(fā)和維護(hù)進(jìn)行過(guò)程監(jiān)控研究,使更加科學(xué)化、標(biāo)準(zhǔn)化。CMM雖然是一個(gè)優(yōu)秀的框架,但人員、技術(shù)、過(guò)程是支撐軟件開(kāi)發(fā)平臺(tái)的三大要素,少了哪一個(gè)都不行:為了解決軟件危機(jī),人們嘗試了形式化描述語(yǔ)言、結(jié)構(gòu)化開(kāi)發(fā)方法等工具,但這并不意味著實(shí)施CMM就一定帶來(lái)軟件企業(yè)開(kāi)發(fā)能力的提高。
三、如何將三者有效結(jié)合服務(wù)于組織目標(biāo)
介紹完上述三者的含義以及各自作用,我們更應(yīng)該思考如何確定三者的關(guān)系以及如何服務(wù)組織目標(biāo)。
根據(jù)前面的描述,我們知道:軟件的生產(chǎn)過(guò)程及其他許多子過(guò)程,軟件開(kāi)發(fā)者以及用戶,系統(tǒng)使用過(guò)程都存在變化與波動(dòng)。要使一個(gè)軟件過(guò)程對(duì)軟件生產(chǎn)的改善真正有所幫助,其框架應(yīng)當(dāng)是由CMM、TSP、PSP組成的一個(gè)完整體系,即組織、群組和個(gè)人三位一體,對(duì)軟件工程和管理實(shí)踐進(jìn)行指導(dǎo)和支持。如果僅僅進(jìn)行某項(xiàng)應(yīng)用的單獨(dú)維護(hù),所起到的作用自然是微乎甚微。
CMM改善是過(guò)程改善的第一步,提供了評(píng)價(jià)組織的能力、識(shí)別優(yōu)先改善需求和追蹤改善進(jìn)展的管理方式。對(duì)于企業(yè)自身來(lái)說(shuō),CMM改善不僅僅帶來(lái)的是優(yōu)化,更大程度上帶來(lái)的是對(duì)企業(yè)軟件產(chǎn)品質(zhì)量的不斷提升,CMM改善后才能讓整個(gè)企業(yè)、整個(gè)團(tuán)隊(duì)自上而下地意識(shí)到質(zhì)量的重要性,從而建立起有效地項(xiàng)目小組。但是從另一方面來(lái)說(shuō),CMM規(guī)范并不代表完全的生搬硬套,它實(shí)現(xiàn)的成功與否與組織內(nèi)部成員的積極參與和靈活性、創(chuàng)造性頭腦思想密不可分。如果生搬硬套,反而失去了CMM規(guī)范的原始定義。
至于PSP(個(gè)人軟件過(guò)程)來(lái)說(shuō),是用來(lái)指導(dǎo)軟件開(kāi)發(fā)個(gè)體保證自己的工作質(zhì)量和規(guī)劃自身工作的;對(duì)于一個(gè)團(tuán)隊(duì)來(lái)說(shuō),個(gè)人表現(xiàn)的好壞直接或間接影響了整個(gè)團(tuán)隊(duì)的進(jìn)度和軟件開(kāi)發(fā)的質(zhì)量,經(jīng)過(guò)PSP學(xué)習(xí)和實(shí)踐過(guò)程,對(duì)軟件開(kāi)發(fā)個(gè)體的應(yīng)用算法能力可能沒(méi)有質(zhì)的飛躍,但這樣一個(gè)科學(xué)的過(guò)程卻可以精準(zhǔn)的提高工作效率,而且效率提升會(huì)在軟件開(kāi)發(fā)周期的不斷推進(jìn)中越來(lái)越多地顯示出來(lái),而且PSP過(guò)程為管理人員在TSP過(guò)程階段提供了極為重要的參考。
TSP結(jié)合了CMM的管理方法和PSP的工作技能,通過(guò)層次傳遞將個(gè)人軟件過(guò)程的表現(xiàn)反映給管理人員和軟件工程師,讓管理人員等明確如何將個(gè)體過(guò)程融入小組軟件開(kāi)發(fā)過(guò)程,繼而與整個(gè)管理系統(tǒng)融合,向組織展示如何應(yīng)用CMM的原則和PSP技能去生產(chǎn)高質(zhì)量的產(chǎn)品。
通過(guò)上文的分析我們可以發(fā)現(xiàn):CMM/TSP/PSP三者互為表里,互相依賴,它們對(duì)促進(jìn)軟件生產(chǎn)的科學(xué)化、管理話,提升軟件過(guò)程的生產(chǎn)能力意義重大,一款軟件字開(kāi)發(fā)成型伊始,定然要接收用戶的檢驗(yàn)和考量,還要考慮被技術(shù)進(jìn)步潮流淘汰的風(fēng)險(xiǎn),后期巨大的維護(hù)成本等問(wèn)題,CMM/TSP/PSP代表了目前國(guó)際上軟件過(guò)程管理研究方面最新的成果。試想我們不參照這樣一個(gè)標(biāo)準(zhǔn)或不遵循此類(lèi)模式進(jìn)行開(kāi)發(fā)和管理,我們?nèi)绾喂?jié)約各方面的成本,有效應(yīng)對(duì)軟件危機(jī)?只有采用CMM/TSP/PSP三者結(jié)合的模式,才能促進(jìn)軟件生產(chǎn)的科學(xué)化管理,為軟件的工業(yè)化奠定基礎(chǔ),當(dāng)然此模式也沒(méi)有完全解決上述的各類(lèi)問(wèn)題,具體的使用效果還依賴于管理者的管理水平。
四.總結(jié)
因?yàn)檐浖^(guò)程改進(jìn)是一個(gè)循序漸進(jìn)的過(guò)程,在使用CMM/TSP/PSP過(guò)程中,我們不能盲目應(yīng)用,我們必須在套用之前深入研究并理解其中的理論,然后根據(jù)自身開(kāi)發(fā)的實(shí)際情況和實(shí)踐經(jīng)驗(yàn)制定可行方案,不斷總結(jié)經(jīng)驗(yàn)以期實(shí)現(xiàn)更高質(zhì)量的產(chǎn)品。
參考文獻(xiàn):
[1]何新貴等 《軟件能力成熟度模型》[M] 北京:清華大學(xué)出版社,2000
[2]韓丹、袁昱譯 《小組軟件開(kāi)發(fā)過(guò)程》[M] 北京:人民郵電出版社,2000