董 曦,王 妍
(中國船舶重工集團(tuán)公司第七二三研究所,江蘇揚(yáng)州 225101)
GJB 5000A二級(jí)認(rèn)證過程中,需要設(shè)立多個(gè)軟件過程改進(jìn)組織機(jī)構(gòu)。各組織機(jī)構(gòu)按照角色職責(zé)要求,承擔(dān)相應(yīng)的工作任務(wù),可以共同促進(jìn)所組織的軟件工程化水平的提高。其中,軟件工程過程組是最為重要的組織機(jī)構(gòu)之一,軟件工程過程組能否正確、高效地完成組織賦予它的職能和工作,大大影響了整個(gè)GJB 5000A二級(jí)的推進(jìn)工作[1]。
不同單位在推進(jìn)GJB 5000A二級(jí)過程中會(huì)設(shè)立不同的組織機(jī)構(gòu),一般而言,會(huì)設(shè)立如下幾個(gè)典型的工作小組:
1)領(lǐng)導(dǎo)小組。一般由單位高層領(lǐng)導(dǎo)作為組長,組員由各GJB 5000A推進(jìn)過程中涉及到的部門領(lǐng)導(dǎo)為成員。主要職責(zé)是為軟件過程改進(jìn)工作提供必要的資源,協(xié)調(diào)、處理軟件過程改進(jìn)工作中各部門之間的統(tǒng)籌問題[2]。
2)軟件工程過程組。一般由負(fù)責(zé)GJB 5000A推進(jìn)工作的部門領(lǐng)導(dǎo)為組長,單位內(nèi)各部門的軟件工程專家、業(yè)務(wù)骨干為成員。主要負(fù)責(zé)策劃、促進(jìn)、跟蹤和協(xié)調(diào)軟件過程改進(jìn)活動(dòng),定期評(píng)估單位軟件過程能力。
3)軟件配置控制委員會(huì)。負(fù)責(zé)監(jiān)督、控制產(chǎn)品庫的技術(shù)狀態(tài),批準(zhǔn)軟件產(chǎn)品的交付和使用,解決組織內(nèi)共性技術(shù)狀態(tài)的問題。
4)軟件質(zhì)量保證組。主要負(fù)責(zé)檢查實(shí)施的軟件過程和產(chǎn)生的軟件產(chǎn)品是否符合要求,協(xié)調(diào)全單位所開展的軟件質(zhì)量保證活動(dòng),確保所有軟件項(xiàng)目和相關(guān)部門按照制定出來符合標(biāo)準(zhǔn)的軟件體系文件要求開展工作。
5)軟件配置管理組。主要負(fù)責(zé)管理和維護(hù)單位軟件受控庫、產(chǎn)品庫,并監(jiān)督產(chǎn)品軟件技術(shù)狀態(tài)。
當(dāng)然,不同的組織根據(jù)各自特點(diǎn)以及改進(jìn)需要,還可以設(shè)立其他工作小組,比如軟件測(cè)試組、軟件培訓(xùn)組等。下文將就軟件工程過程組進(jìn)行展開討論。
從定義來看,軟件工程過程組實(shí)際上是一個(gè)組織中軟件過程改進(jìn)活動(dòng)的任務(wù)發(fā)起者、任務(wù)的組織者和任務(wù)的終結(jié)者。具體職責(zé)如下:
1)負(fù)責(zé)制定、持續(xù)改進(jìn)適合于本單位的軟件過程管理體系文件并組織宣貫;
2)負(fù)責(zé)策劃、促進(jìn)、跟蹤和協(xié)調(diào)軟件過程改進(jìn)活動(dòng),定期評(píng)估組織的軟件過程能力;
3)負(fù)責(zé)組織過程資產(chǎn)收集、整理和確認(rèn);
4)負(fù)責(zé)收集、分析過程的改進(jìn)建議,策劃并組織實(shí)施過程的改進(jìn);
5)負(fù)責(zé)定義本單位的度量模型,收集數(shù)據(jù)、分析數(shù)據(jù)及通報(bào)數(shù)據(jù),維護(hù)度量數(shù)據(jù)庫,提供過程改進(jìn)建議;
6)提供軟件過程改進(jìn)相關(guān)培訓(xùn)和咨詢,審核組織級(jí)培訓(xùn)資料;
7)負(fù)責(zé)軟件過程管理工具和軟件測(cè)試工具的選型、維護(hù)、培訓(xùn)和技術(shù)支持;
8)組織開展軟件開發(fā)方法學(xué)的研究,選擇、評(píng)價(jià)新的過程、規(guī)程、方法和工具等[3]。
軟件工程過程組除了上述基本職責(zé)外,應(yīng)承擔(dān)更高的使命,即推動(dòng)整個(gè)組織硬實(shí)力和軟實(shí)力的提升。
在依據(jù)GJB 5000A編制單位體系文件之初,軟件工程過程組要放眼未來、放眼世界,充分吸收國內(nèi)外先進(jìn)軟件企業(yè)的優(yōu)秀實(shí)踐經(jīng)驗(yàn),將最先進(jìn)的工程和管理規(guī)范本地化,形成一套行業(yè)先進(jìn)且兼具本地化特點(diǎn)的規(guī)章制度。通過GJB 5000A的推進(jìn),大膽改革,提高整個(gè)組織的運(yùn)轉(zhuǎn)效率。
軟件過程改進(jìn)的目的是提升組織的軟件成熟度,其最終目的是使得整個(gè)組織、整個(gè)員工切身感受到通過軟件過程改進(jìn)這個(gè)活動(dòng)帶來的工作效率、研制能力、產(chǎn)品質(zhì)量的提高。在軟件研制能力不夠成熟的階段,組織對(duì)于資源的配置往往不夠合理。優(yōu)化不合理的各種組織結(jié)構(gòu),做到對(duì)資源的合理配置,從而提高效益,是軟件工程過程組的重要使命。
在軟件過程改進(jìn)的前期,可能會(huì)通過考核、獎(jiǎng)勵(lì)等手段去推動(dòng)軟件的工程化進(jìn)程,當(dāng)然這也是需要的。但是軟件工程過程組必須有長遠(yuǎn)的規(guī)劃和清楚的定位,、以軟件研制流程標(biāo)準(zhǔn)化、工程化為基礎(chǔ),最終在組織內(nèi)形成一種自動(dòng)自發(fā)的文化氛圍。
激勵(lì)即通過了解人的需要,激發(fā)人的內(nèi)在動(dòng)機(jī),使其朝向所期望目標(biāo)去努力的心理活動(dòng)過程[4]。激勵(lì)機(jī)制就是將激勵(lì)過程文件化、制度化。軟件工程過程組需要在編寫單位體系文件之初,就從組織的目標(biāo)出發(fā),通過一定的制度來引發(fā)軟件過程改進(jìn)相關(guān)人員積極的動(dòng)機(jī)和愿望,使相關(guān)人員從心態(tài)上愿意將軟件改進(jìn)工作做好,從行動(dòng)上積極配合主動(dòng)參與整個(gè)軟件過程的改進(jìn)活動(dòng)。將一個(gè)激勵(lì)機(jī)制完善,應(yīng)該要做好:洞察被激勵(lì)對(duì)象的需要、明確被激勵(lì)對(duì)象的動(dòng)機(jī)以及滿足被激勵(lì)對(duì)象的需要。
一般在GJB 5000A認(rèn)證過程中,需要有試點(diǎn)項(xiàng)目和非試點(diǎn)項(xiàng)目。在投入資源有限的情況下,做好試點(diǎn)項(xiàng)目之間、試點(diǎn)項(xiàng)目和非試點(diǎn)項(xiàng)目之間的人、財(cái)、物的平衡尤為重要,要從大局出發(fā),以完成組織的目標(biāo)為中心,不能厚此薄彼、顧此失彼,要做好資源的合理調(diào)用。組織千萬不能認(rèn)為平衡機(jī)制是無關(guān)緊要的,一旦一個(gè)組織的平衡機(jī)制有問題,便會(huì)造成單位內(nèi)部人心渙散、工作推進(jìn)不力的情況出現(xiàn)。
引導(dǎo)機(jī)制即通過一系列的舉措、行為和方法,使得被引導(dǎo)者的工作方向與引導(dǎo)者的設(shè)定方向相一致。簡(jiǎn)單來說,就是如何使組織通過GJB 5000A認(rèn)證,并將提高整個(gè)組織的軟件工程化水平目標(biāo)轉(zhuǎn)化為個(gè)人目標(biāo)的過程[5]。這需要長期的文化影響,不是簡(jiǎn)單的一蹴而就的過程,是組織內(nèi)全員從被動(dòng)到主動(dòng)、從量變到質(zhì)變的升華。首先,軟件開發(fā)人員可以逐步從測(cè)量分析的結(jié)果中看出整個(gè)單位軟件水平的提高;反之,軟件開發(fā)人員逐漸的以高水平的標(biāo)準(zhǔn)去要求自己,也將形成良性循環(huán)。
在軟件工程化推進(jìn)工作起步之時(shí),將軟件工程過程組設(shè)定在單位的強(qiáng)勢(shì)部門確實(shí)有利于組織級(jí)的過程改進(jìn)和試點(diǎn)項(xiàng)目的工程水平提高。強(qiáng)勢(shì)部門對(duì)于大部分項(xiàng)目有計(jì)劃權(quán)、考核權(quán)和分配權(quán),在強(qiáng)勢(shì)部門的有力推動(dòng)下,可以減少推進(jìn)阻力,從嚴(yán)、從快、從好地完成軟件過程改進(jìn)的設(shè)定目標(biāo)。但此時(shí)的管理階段還處于比較落后低下的水平,強(qiáng)勢(shì)部門的意愿程度、介入程度很大程度上決定了整個(gè)改進(jìn)過程的成敗。
此時(shí)的管理階段應(yīng)該處于“法制”的階段,即具體將軟件工程過程組設(shè)定在哪個(gè)部門已不再重要。所有的軟件工程行為有章可循、有文件可依。項(xiàng)目由項(xiàng)目經(jīng)理和軟件主管設(shè)計(jì)師推動(dòng),有序開展開發(fā)和測(cè)試活動(dòng),質(zhì)量保證人員督查過程和產(chǎn)品的不符合項(xiàng),使得項(xiàng)目符合單位的體系要求推進(jìn)。在規(guī)章制度的約束下,軟件研制必須按照計(jì)劃、體系和標(biāo)準(zhǔn)往下走,自然符合GJB 5000A相應(yīng)等級(jí)的要求,可通過認(rèn)證。
在一個(gè)組織軟件過程改進(jìn)深入人心,且大家自覺自愿地接受軟件工程化的思想后,單位須著力于軟件文化的建設(shè)。例如,定期組織軟件技術(shù)研討、軟件文化沙龍和軟件知識(shí)競(jìng)賽等活動(dòng),產(chǎn)生良好的軟件文化氛圍并被大家接受與認(rèn)可。值得注意的是,這不同于軟件工程化知識(shí)的培訓(xùn),文化建設(shè)更重要的在于全員重視、全員參與、全員熱情。此時(shí),軟件工程的工作重點(diǎn)將不再局限于具體項(xiàng)目或者具體規(guī)章制度,甚至取消了考核,建設(shè)單位的軟件文化和價(jià)值觀。
軟件工程過程組的能力高低以及是否能夠較好地完成組織賦予的職責(zé)與使命,在很大程度上決定了組織軟件工程化的水平。本文從軟件工程過程組的基本職能出發(fā),探討了組織對(duì)軟件工程過程組的要求、軟件工程過程組賦予的使命、軟件工程過程組在軟件過程改進(jìn)中采用的機(jī)制及其提高的階段。與此同時(shí),軟件工程過程組的工作和要求絕非僅僅如此,在今后的工作中,還需更加深入地探索與實(shí)踐,為組織軟件工程化的改進(jìn)提供幫助。