張健 對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué)統(tǒng)計(jì)學(xué)院在職人員高級(jí)課程研修班學(xué)員
引言:行業(yè)應(yīng)用軟件是軟件行業(yè)未來(lái)的主流發(fā)展趨勢(shì)。要想成功地開(kāi)發(fā)行業(yè)應(yīng)用軟件,必須緊密對(duì)接行業(yè)需求,進(jìn)行有效的軟件開(kāi)發(fā)分工與組織,而這有賴于科學(xué)的流程管理。因此,本文主要以計(jì)算機(jī)行業(yè)應(yīng)用軟件開(kāi)發(fā)流程管理為研究對(duì)象,試圖在分析開(kāi)發(fā)流程管理現(xiàn)存問(wèn)題的基礎(chǔ)上,制定針對(duì)性更高、操作性更強(qiáng)的流程管理優(yōu)化方案。
目前,大部分的行業(yè)應(yīng)用軟件均主要采用版本迭代的方式進(jìn)行開(kāi)發(fā),以某保險(xiǎn)行業(yè)應(yīng)用軟件開(kāi)發(fā)項(xiàng)目為例,具體流程主要分為4個(gè)階段:
1.需求階段。本階段從接到業(yè)務(wù)人員的需求開(kāi)始,到通過(guò)需求評(píng)審并將需求文檔提交為止,主要由需求組負(fù)責(zé)。在接受需求之后,需求人員先分派需求、書(shū)寫(xiě)需求文檔,然后進(jìn)行組內(nèi)需求評(píng)審。如果組內(nèi)評(píng)審?fù)ㄟ^(guò),則提交需求方評(píng)審;如果不通過(guò),則退回修改再提交需求方評(píng)審。需求方評(píng)審后如果通過(guò),則返回項(xiàng)目組進(jìn)行開(kāi)發(fā)評(píng)審;如果不通過(guò),則退回需求組修改直到通過(guò)需求方評(píng)審。返回項(xiàng)目組后如果評(píng)審?fù)ㄟ^(guò),就提交需求文檔、由開(kāi)發(fā)組安排版本開(kāi)發(fā);如果不通過(guò),則退回需求組修改直到通過(guò)項(xiàng)目組評(píng)審。該階段的人員配備一般是3個(gè),由1個(gè)高級(jí)需求人員帶領(lǐng)1個(gè)中級(jí)需求人員及1個(gè)初級(jí)需求人員。
2.開(kāi)發(fā)階段。本階段從接到需求文檔開(kāi)始,到完成開(kāi)發(fā)自測(cè)并提交測(cè)試為止,主要由開(kāi)發(fā)組負(fù)責(zé)。在接到需求文檔之后,開(kāi)發(fā)負(fù)責(zé)人先分配需求給相應(yīng)的開(kāi)發(fā)小組,開(kāi)發(fā)組長(zhǎng)再具體分配給相應(yīng)的組員,組員接收開(kāi)發(fā)任務(wù)之后詳細(xì)設(shè)計(jì)文檔,隨后組織相關(guān)人員進(jìn)行評(píng)審。評(píng)審后如果通過(guò),則依據(jù)設(shè)計(jì)文檔進(jìn)行編碼;如果不通過(guò),則退回修改直到評(píng)審?fù)ㄟ^(guò)。完成編碼后,開(kāi)發(fā)人員組織自測(cè)。自測(cè)后如果通過(guò),則提交測(cè)試環(huán)境驗(yàn)證;如果不通過(guò),則退回修改直到通過(guò)提交測(cè)試。該階段是整個(gè)項(xiàng)目的關(guān)鍵,其人員配備也是最多的,一般常備的開(kāi)發(fā)人員有12個(gè),分別由3個(gè)高級(jí)開(kāi)發(fā)人員各自帶3個(gè)初級(jí)開(kāi)發(fā)人員。
3.測(cè)試階段。本階段從接到測(cè)試內(nèi)容開(kāi)始,到通過(guò)全流程測(cè)試為止,具體任務(wù)主要由測(cè)試組完成。在接到測(cè)試內(nèi)容之后,測(cè)試人員先進(jìn)行測(cè)試用例的編寫(xiě),然后組織進(jìn)行評(píng)審。如果評(píng)審?fù)ㄟ^(guò),則準(zhǔn)備進(jìn)行測(cè)試;如果評(píng)審不通過(guò),則退回修改直到評(píng)審?fù)ㄟ^(guò)。測(cè)試組長(zhǎng)根據(jù)計(jì)劃分配測(cè)試任務(wù),然后組織測(cè)試人員進(jìn)行功能測(cè)試、凍結(jié)測(cè)試、全流程測(cè)試等多輪測(cè)試。每一輪測(cè)試如果通過(guò)則進(jìn)行評(píng)估后進(jìn)入下一輪,如果不通過(guò)則退回修改直到通過(guò)全流程測(cè)試。全流程測(cè)試通過(guò)后,由測(cè)試負(fù)責(zé)人編寫(xiě)測(cè)試報(bào)告、評(píng)估風(fēng)險(xiǎn),然后將版本包及測(cè)試報(bào)告等文檔經(jīng)需求方同意后一并提交。該階段的人員配備一般是5個(gè),由2個(gè)高級(jí)測(cè)試人員帶3個(gè)初中級(jí)測(cè)試人員。
4.驗(yàn)收階段。本階段一般又細(xì)分為需求驗(yàn)收和業(yè)務(wù)驗(yàn)收兩個(gè)階段。需求驗(yàn)收階段主要是從開(kāi)發(fā)組完成開(kāi)發(fā)到測(cè)試完成,由項(xiàng)目經(jīng)理驗(yàn)證開(kāi)發(fā)人員所開(kāi)發(fā)的功能是否符合相關(guān)客戶的需求;業(yè)務(wù)驗(yàn)收階段主要是從測(cè)試完成到系統(tǒng)上線,由項(xiàng)目組需求負(fù)責(zé)人跟進(jìn)OA系統(tǒng)中的業(yè)務(wù)驗(yàn)收情況,解答業(yè)務(wù)疑問(wèn),及時(shí)轉(zhuǎn)達(dá)需求變更和系統(tǒng)bug情況,并做好需求跟蹤矩陣的更新。
1.流程安排上,每個(gè)流程所占用的時(shí)間相對(duì)固定,但整體的效率值不高,細(xì)節(jié)上缺乏靈活性。仍以某保險(xiǎn)行業(yè)應(yīng)用軟件開(kāi)發(fā)項(xiàng)目為例,每一個(gè)流程階段大約需要8―10天的時(shí)間,一個(gè)階段結(jié)束之后緊接著下一個(gè)階段就開(kāi)始,所有流程階段全部結(jié)束,就代表著一個(gè)完整開(kāi)發(fā)周期的完成,通過(guò)無(wú)數(shù)個(gè)開(kāi)發(fā)周期的循環(huán)接續(xù),項(xiàng)目的整體任務(wù)得以最終實(shí)現(xiàn)。但這樣的時(shí)間安排只是一種相對(duì)理想的狀態(tài),事實(shí)上由于各個(gè)環(huán)節(jié)所涉及的業(yè)務(wù)復(fù)雜度不同,最終所需要的時(shí)間也有很大的差別。對(duì)于一些相對(duì)復(fù)雜的業(yè)務(wù)環(huán)節(jié)來(lái)說(shuō),時(shí)間很可能不夠用;對(duì)于一些相對(duì)簡(jiǎn)單的業(yè)務(wù)環(huán)節(jié)來(lái)說(shuō),時(shí)間又明顯富余。不靈活的流程安排,不僅大大降低了開(kāi)發(fā)流程的效率值,還嚴(yán)重影響了整體的業(yè)務(wù)完成度。
2.任務(wù)分工上,各個(gè)階段所承擔(dān)的任務(wù)緊密關(guān)聯(lián),但相互之間的配合度不足,出現(xiàn)溝通問(wèn)題的情況較多。如前所述,需求、開(kāi)發(fā)、測(cè)試、驗(yàn)收等階段所承擔(dān)的任務(wù)各有區(qū)別,但這些流程階段并不是獨(dú)立存在的,而是相互之間有緊密的關(guān)聯(lián)度,需要進(jìn)行密切的配合。例如,開(kāi)發(fā)階段是從接到需求文檔開(kāi)始的,在版本開(kāi)發(fā)的過(guò)程中也往往需要與需求人員一而再、再而三地進(jìn)行溝通,確認(rèn)對(duì)相關(guān)功能的需求理解是否到位等;測(cè)試階段主要是對(duì)開(kāi)發(fā)階段的成果進(jìn)行多輪測(cè)試,一旦出現(xiàn)問(wèn)題,必然需要開(kāi)發(fā)階段繼續(xù)進(jìn)行相應(yīng)的修改與完善;等等。然而,由于每個(gè)階段只用對(duì)自己所承擔(dān)的任務(wù)負(fù)責(zé),所以在負(fù)責(zé)階段之外的銜接與溝通上明顯動(dòng)力不足、著力不夠,不僅在項(xiàng)目外部與需求方存在溝通不充分的問(wèn)題,在項(xiàng)目?jī)?nèi)部也常常因溝通不暢而出現(xiàn)推諉和扯皮現(xiàn)象,大大增加了項(xiàng)目的風(fēng)險(xiǎn)和管理的成本。
3.人員配備上,各個(gè)組別所分配的人員水平不一,在對(duì)項(xiàng)目的整體理解度等方面缺乏考量以及驗(yàn)證標(biāo)準(zhǔn)。在具體的行業(yè)應(yīng)用軟件開(kāi)發(fā)過(guò)程中,往往根據(jù)任務(wù)的不同將一個(gè)大的項(xiàng)目組拆分成需求、開(kāi)發(fā)、測(cè)試等不同組別。不同組別分配到的人員,不僅在數(shù)量上有區(qū)別,在能力水平上也有很大的差異。一般來(lái)說(shuō),需求和測(cè)試人員負(fù)責(zé)的任務(wù)相對(duì)較為簡(jiǎn)單,相應(yīng)的準(zhǔn)入門(mén)檻也比較低,往往不需要具備軟件開(kāi)發(fā)相關(guān)的專業(yè)知識(shí)背景。雖然不需要參與直接的軟件開(kāi)發(fā)工作,但需求和測(cè)試人員的任務(wù)都是以成功地實(shí)現(xiàn)軟件開(kāi)發(fā)為核心,也需要對(duì)程序開(kāi)發(fā)、代碼編寫(xiě)有一定的認(rèn)識(shí)和理解,這樣才能提高需求分析和測(cè)試評(píng)估的質(zhì)量。然而,無(wú)論是在先期的人員招錄、中期的人員培訓(xùn)還是后期的人員考核中,對(duì)項(xiàng)目的整體理解度等方面的指標(biāo)均有所缺失,更不要說(shuō)相應(yīng)的驗(yàn)證標(biāo)準(zhǔn)了。
1.引入精細(xì)化管理,根據(jù)業(yè)務(wù)需要及時(shí)進(jìn)行靈活調(diào)整。精細(xì)化管理既是一種管理理念,又是一種管理方法。按照精細(xì)化的理念和方法優(yōu)化開(kāi)發(fā)流程管理,就要改變?cè)瓉?lái)相對(duì)籠統(tǒng)、模糊的流程安排,以具體、明確的量化標(biāo)準(zhǔn),重新分解每一個(gè)開(kāi)發(fā)流程、每一項(xiàng)開(kāi)發(fā)任務(wù),具象為相應(yīng)的數(shù)字、程序、責(zé)任,使每一項(xiàng)工作內(nèi)容都能看得見(jiàn)、摸得著、說(shuō)得準(zhǔn),使每一個(gè)問(wèn)題都有專人負(fù)責(zé)。在具體安排時(shí),有條件的情況下甚至可以具體到每一天、每一個(gè)小時(shí),通過(guò)由上而下的整體安排和自下而上的個(gè)人申報(bào)相結(jié)合,以項(xiàng)目分工明細(xì)表、任務(wù)完成日志等形式予以清晰呈現(xiàn)。同時(shí),在明確各個(gè)流程的具體工作量的基礎(chǔ)上,要充分考慮時(shí)間工期的限制,根據(jù)相應(yīng)的業(yè)務(wù)需要,充分把握時(shí)間節(jié)點(diǎn)的變化,及時(shí)進(jìn)行細(xì)節(jié)上的靈活調(diào)整,有效實(shí)現(xiàn)項(xiàng)目流程的整體化推進(jìn)。
2.加強(qiáng)全流程溝通,基于開(kāi)發(fā)目標(biāo)完善業(yè)務(wù)協(xié)作機(jī)制。根據(jù)康威第一定律,組織溝通方式?jīng)Q定系統(tǒng)設(shè)計(jì)。一方面,要將溝通覆蓋開(kāi)發(fā)的全流程,在每日的早晚例會(huì)中都充分關(guān)注存在的溝通問(wèn)題,及時(shí)予以解決,一些牽涉人員較多、范圍較廣、難度較大的問(wèn)題,還可以根據(jù)開(kāi)發(fā)進(jìn)展不定期地召開(kāi)專門(mén)的跨部門(mén)、跨流程的業(yè)務(wù)溝通會(huì);另一方面,要在充分溝通的基礎(chǔ)上增強(qiáng)相互之間的配合,通過(guò)構(gòu)建更加完善的業(yè)務(wù)協(xié)作機(jī)制,針對(duì)溝通問(wèn)題較多的具體任務(wù),進(jìn)一步進(jìn)行相應(yīng)的責(zé)任分?jǐn)偅瑥?qiáng)化不同部門(mén)和人員的責(zé)任意識(shí),讓他們積極地前溯和后移對(duì)接關(guān)口,發(fā)現(xiàn)相關(guān)問(wèn)題之后主動(dòng)溝通解決,切實(shí)貫通整個(gè)流程鏈,促進(jìn)整體開(kāi)發(fā)目標(biāo)的實(shí)現(xiàn)。
3.應(yīng)用微服務(wù)架構(gòu),以業(yè)務(wù)為核心來(lái)組織和建設(shè)團(tuán)隊(duì)。微服務(wù)是一種架構(gòu)風(fēng)格,在微服務(wù)架構(gòu)下,不再像傳統(tǒng)的開(kāi)發(fā)系統(tǒng)一樣按照職能來(lái)劃分項(xiàng)目團(tuán)隊(duì),而是圍繞每個(gè)業(yè)務(wù)按服務(wù)來(lái)劃分團(tuán)隊(duì)。也就是說(shuō),一個(gè)大的項(xiàng)目團(tuán)隊(duì)又若干個(gè)小的項(xiàng)目團(tuán)隊(duì)組成,而每一個(gè)小的項(xiàng)目團(tuán)隊(duì)都是跨職能的。因此,在行業(yè)軟件開(kāi)發(fā)流程管理上,可以充分借鑒微服務(wù)架構(gòu)的相關(guān)理念,改變?cè)瓉?lái)較為機(jī)械的職能分配模式,以業(yè)務(wù)為核心組織和建設(shè)具有跨職能特征的團(tuán)隊(duì)。在項(xiàng)目開(kāi)始前,盡可能地篩選具有相關(guān)開(kāi)發(fā)實(shí)踐背景、綜合素質(zhì)較高、對(duì)項(xiàng)目開(kāi)發(fā)有整體性視野的團(tuán)隊(duì)成員,制定更加合理的考核招錄標(biāo)準(zhǔn);在開(kāi)發(fā)過(guò)程中,加強(qiáng)對(duì)項(xiàng)目團(tuán)隊(duì)的整體業(yè)務(wù)提升,針對(duì)不同的人員進(jìn)行有針對(duì)性的業(yè)務(wù)培訓(xùn),在具體業(yè)務(wù)內(nèi)容之外,對(duì)需求和測(cè)試人員輔之以軟件開(kāi)發(fā)專業(yè)知識(shí)培訓(xùn),對(duì)開(kāi)發(fā)人員輔之以需求分析、溝通技巧學(xué)習(xí),并在業(yè)績(jī)考核、薪資改善等方面有所體現(xiàn)。