王 妍,董 曦
(揚(yáng)州船用電子儀器研究所,江蘇揚(yáng)州 225101)
通常情況下,船舶軟件研制單位在準(zhǔn)備 GJB 5000A認(rèn)證之初,軟件過程改進(jìn)活動(dòng)籌備之時(shí),會(huì)設(shè)立多個(gè)軟件過程改進(jìn)組織機(jī)構(gòu),各組織機(jī)構(gòu)有不同的工作目標(biāo)和任務(wù)分工。軟件工程過程組(Software Engineering Process Group,SEPG)在此過程中起到非常重要的作用。大多數(shù)軟件過程改進(jìn)活動(dòng),都是在SEPG的指導(dǎo)之下完成的。因此,SEPG成員能力的高低與否,直接關(guān)系著船舶軟件研制單位是否可以順利推進(jìn)軟件工程化、實(shí)現(xiàn)軟件過程改進(jìn)、通過GJB 5000A認(rèn)證。
在船舶軟件研制單位,SEPG通常由負(fù)責(zé)GJB 5000A推進(jìn)工作的部門領(lǐng)導(dǎo)為組長,也有部分單位的SEPG組長由分管軟件業(yè)務(wù)的副職擔(dān)任。船舶軟件研制單位內(nèi)各部門的軟件工程專家和業(yè)務(wù)骨干為主要成員。SEPG主要負(fù)責(zé)策劃、推動(dòng)和評(píng)估整個(gè)單位的軟件過程改進(jìn)活動(dòng),定期評(píng)估單位軟件過程能力是否達(dá)到預(yù)期計(jì)劃和GJB 5000A的要求,并協(xié)調(diào)解決在推進(jìn)過程中出現(xiàn)的各種組織級(jí)問題。
通常情況下,SEPG主要有以下工作職責(zé):
1)制定和不斷完善本單位的軟件過程管理體系文件并推進(jìn)體系文件實(shí)施。
2)推動(dòng)本單位的軟件過程改進(jìn)活動(dòng),定期評(píng)估本單位軟件過程能力。
3)收集、整理和確認(rèn)組織過程資產(chǎn),維護(hù)組織級(jí)測(cè)量數(shù)據(jù)庫,提供過程改進(jìn)建議。
4)提供軟件過程改進(jìn)相關(guān)培訓(xùn)和咨詢,審核組織級(jí)培訓(xùn)資料。
5)負(fù)責(zé)軟件過程管理工具的選型、維護(hù)、培訓(xùn)和技術(shù)支持。
6)組織開展軟件開發(fā)方法學(xué)的研究,選擇和評(píng)價(jià)新的過程、規(guī)程、方法和工具等。
新時(shí)代認(rèn)證中心在培養(yǎng) GJB 50 00A內(nèi)部評(píng)價(jià)員的時(shí)候要求參培人員必須有5年以上軟件開發(fā)實(shí)踐或軟件項(xiàng)目管理經(jīng)驗(yàn)。在船舶軟件研制單位,熟練掌握軟件技術(shù)、對(duì)開發(fā)流程有工程化的思維,對(duì)于SEPG成員相當(dāng)重要。因此,SEPG成員應(yīng)該從各業(yè)務(wù)部門的軟件工程專家和業(yè)務(wù)骨干中進(jìn)行篩選。此外,船舶軟件研制單位還會(huì)有一些特定的行業(yè)要求。
與通用的應(yīng)用軟件相比較,船舶軟件作為特殊用途軟件,是不能脫離于硬件設(shè)備之上的。研制單位的軟件研發(fā)必須基于特定的船舶設(shè)備來開展。因此,SEPG組成員僅僅作為軟件專家是遠(yuǎn)遠(yuǎn)不夠的,還需要對(duì)整個(gè)船舶行業(yè)、船舶裝置或設(shè)備的基本功能和架構(gòu)熟悉。
單位的SEPG成員作為將來軟件工程化工作開展的指導(dǎo)者,需在軟件專業(yè)技術(shù)上有一定的權(quán)威性,而權(quán)威性是在大量工程實(shí)踐中體現(xiàn)出來的。對(duì)單位軟件開發(fā)流程熟悉、對(duì)單位專業(yè)方向熟悉,有利于單位制定符合本地化要求的體系文件,也有利于指導(dǎo)其他開發(fā)人員去按照規(guī)定要求去開發(fā)軟件產(chǎn)品。自身專業(yè)的權(quán)威性在一定程度上可以有利的幫助推進(jìn)工作往前開展。
GJB 5000A的推進(jìn)工作實(shí)際上是對(duì)單位原有的相對(duì)落后、無序的軟件開發(fā)過程進(jìn)行一次徹底的改革。如果作為SEPG成員沒有軟件工程化的思想,那推進(jìn)工作無疑是停滯不前的。要想軟件工程化工作在全單位自動(dòng)自發(fā)的開展,那就需要形成軟件工程化的企業(yè)文化。因此,需要軟件工程化的制度作為保障,而制度又需要有具備軟件工程化素養(yǎng)的人去制定。所以,作為單位體系文件的編寫、發(fā)布、推進(jìn)主體的SEPG成員,必須時(shí)時(shí)刻刻具備軟件工程化的思想。
涉及軟件開發(fā)、軟件管理以及軟件文檔編寫等軟件相關(guān)的國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)和軍用標(biāo)準(zhǔn)甚多,并且標(biāo)準(zhǔn)會(huì)在一定周期內(nèi)更新、替代以及作廢。船舶軟件研制單位的SEPG成員應(yīng)該做到能閱讀標(biāo)準(zhǔn)、理解標(biāo)準(zhǔn)、吸收標(biāo)準(zhǔn)并以標(biāo)準(zhǔn)指導(dǎo)單位其他人員工作。
軟件行業(yè)引領(lǐng)產(chǎn)業(yè)創(chuàng)新、科技進(jìn)步,軟件行業(yè)的技術(shù)革新速度極快。從編程語言、系統(tǒng)架構(gòu)的不斷更新到大數(shù)據(jù)、AI的應(yīng)用,無不反映出軟件從業(yè)人員需要極強(qiáng)的學(xué)習(xí)新知識(shí)的能力。雖然船舶軟件相對(duì)穩(wěn)定,但未來船舶裝備軟件化是重要趨勢(shì),SEPG成員需具備較強(qiáng)的學(xué)習(xí)能力以跟上發(fā)展的步伐。
軟件技術(shù)的進(jìn)步也推動(dòng)軟件工程化的不斷更新,軟件工程化的發(fā)展也將進(jìn)一步推動(dòng)軟件技術(shù)的工程化與成熟化,兩者相輔相成。所以,軟件工程的思想也在不斷進(jìn)步,需要軟件從業(yè)人員不斷學(xué)習(xí)和實(shí)踐。
不管是技術(shù)還是思想層面,都要求SEPG成員擁有良好的學(xué)習(xí)能力,才能適應(yīng)整個(gè)行業(yè)的需要,從而更好的推動(dòng)整個(gè)船舶軟件研制單位軟件整體能力的提升。
任何項(xiàng)目的實(shí)施,都離不開團(tuán)隊(duì)的努力合作。軟件過程的改進(jìn)、軟件工程水平的提高更是個(gè)系統(tǒng)性的大工程。因此,SEPG成員必須要有一定的團(tuán)隊(duì)合作能力。
GJB 50 00A二級(jí)有7個(gè)過程域,三級(jí)新增11個(gè)過程域,四級(jí)又增加2個(gè)過程域。一個(gè)人掌握全部過程域知識(shí)和實(shí)施要領(lǐng),指導(dǎo)整個(gè)單位的軟件推進(jìn)工作幾乎是不可能的。通常情況下,每個(gè) SEPG成員對(duì)各自負(fù)責(zé)的GJB 5000A過程域術(shù)有專攻,發(fā)揮各自的特長,同時(shí)整個(gè)小組通力合作,將整個(gè)SEPG的效能發(fā)揮出最大優(yōu)勢(shì)。
軟件過程改進(jìn)工作要求一絲不茍、穩(wěn)步推進(jìn),同時(shí),這也是一個(gè)充滿創(chuàng)新性的工作。首先,需要在理解GJB 5000A的基礎(chǔ)之上,制定出一套符合單位本地化特色的體系文件。標(biāo)準(zhǔn)只有一個(gè),但每個(gè)單位有自己的行業(yè)特點(diǎn)、研究方向和軟件文化。如果生搬硬套標(biāo)準(zhǔn),那這種體系文件幾乎沒有可操作性。如果直接抄襲或拿來別家單位的體系文件,勢(shì)必會(huì)造成體系文件不適應(yīng)自身單位的軟件工作實(shí)際情況,軟件過程改進(jìn)推進(jìn)困難,最后存在“兩張皮”的現(xiàn)象。
其次,需要在制定的體系文件基礎(chǔ)之上,順利地推動(dòng)單位的軟件項(xiàng)目按要求開展。許多單位存在這樣一種情況,各種體系文件和各項(xiàng)規(guī)章制度都制定的很不錯(cuò),可操作性也很強(qiáng),可在項(xiàng)目推進(jìn)時(shí),卻很少按照體系文件規(guī)定的流程去實(shí)施。這種現(xiàn)象的存在,表面上是體系文件無法落地,深層次上就涉及到SEPG成員的改革和創(chuàng)新舉措。每一份系統(tǒng)文件的推進(jìn)實(shí)際上都是對(duì)單位原有體制的一次改革,SEPG成員作為軟件工程化的推動(dòng)者,沒有創(chuàng)新能力是不行的。
SEPG在船舶軟件研制單位的軟件過程改進(jìn)活動(dòng)中扮演著極為重要的角色。SEPG成員能力的高低,直接影響著GJB 5000A能否順利推進(jìn),也直接決定了組織軟件工程化的水平。本文根據(jù)多年的工作經(jīng)驗(yàn),以船舶軟件研制單位軟件工程化水平的提升為目標(biāo),對(duì)SEPG成員的要求做了一定的總結(jié)和分析。對(duì)于GJB 5000A的推進(jìn)有著一定的幫助作用。