劉宇航
(長光衛(wèi)星技術(shù)股份有限公司信息化管理部,長春 130000)
當下,企業(yè)用戶對信息系統(tǒng)的需求日益迫切,通過信息化手段輔助企業(yè)進行運營管理、數(shù)據(jù)應(yīng)用及決策分析,能夠全面提高企業(yè)的生產(chǎn)運營效率,降低管理成本和運營風險,進而提升市場競爭力。因此,選擇適用于企業(yè)信息化系統(tǒng)的研發(fā)方式,對于快速推進企業(yè)信息化建設(shè)有著至關(guān)重要的作用。
傳統(tǒng)的瀑布式研發(fā)方式,將軟件生命周期劃分為制定計劃、需求分析、軟件設(shè)計、程序編寫、軟件測試和運行維護6個基本活動[1],并且規(guī)定了它們自上而下、相互銜接的固定次序,且相鄰階段都以文檔作為銜接的標志物,因此,瀑布式研發(fā)方式能夠清晰有序地推進系統(tǒng)建設(shè),但是周期冗長、拒絕變化、效率較低,一旦某個環(huán)節(jié)卡住,整個計劃都會延期,同時也無法應(yīng)對突發(fā)狀況,導(dǎo)致最終成果與業(yè)務(wù)方需求偏離的風險較大。
敏捷模式以用戶的需求進化為核心,采用迭代、循序漸進的方法進行研發(fā)[2],通過不斷交付用戶可使用和驗證的最小可行性產(chǎn)品,獲取反饋后再迭代改進,能夠應(yīng)對研發(fā)過程中的不可預(yù)測性,關(guān)注用戶的反饋,快速響應(yīng)用戶的變化,最終打磨出真正符合需求的系統(tǒng)產(chǎn)品。
因此,面向企業(yè)信息化系統(tǒng)需求的多樣性、邏輯的復(fù)雜性,為減少開發(fā)過程中的不確定性,基于企業(yè)信息化建設(shè)的實踐,提出了一種基于敏捷模式的企業(yè)信息化系統(tǒng)管理流程與研發(fā)方法,用以提升系統(tǒng)交付和迭代速度,優(yōu)化產(chǎn)品質(zhì)量,從而幫助企業(yè)實現(xiàn)商業(yè)目的。
對于敏捷企業(yè)信息化系統(tǒng)研發(fā)管理,在企業(yè)信息化系統(tǒng)構(gòu)建之初,首要步驟是將研發(fā)任務(wù)和可交付成果切分成多個迭代,各個迭代需要在較短的周期內(nèi)完成,一般是1 周至4周,同時各個迭代的成果都具備可發(fā)布、可集成和可運行使用的特征[3]。通過將每個迭代的成果交付至業(yè)務(wù)方,業(yè)務(wù)方基于產(chǎn)品的試用和反饋,盡早參與到產(chǎn)品設(shè)計和研發(fā)過程中。經(jīng)過多個迭代的持續(xù)改進,最終完成整個系統(tǒng)的交付。
在敏捷企業(yè)信息化系統(tǒng)的全生命周期,都需要將業(yè)務(wù)方放在首要位置,以持續(xù)不斷并盡早交付有價值的成果為原則,在每次迭代后收集業(yè)務(wù)方的反饋意見和當下最新的需求,以此為基礎(chǔ)進行下一個迭代的改進。通過短時間內(nèi)所完成的“成果交付、意見反饋、調(diào)整改善”這一系列的步驟,做到響應(yīng)變化、擁抱變化,使交付成果更加符合業(yè)務(wù)方頻繁變動的需求。
敏捷企業(yè)信息化系統(tǒng)的研發(fā)管理團隊,包含產(chǎn)品負責人、敏捷教練、設(shè)計人員、開發(fā)人員、測試人員的角色,團隊在多個迭代之間以柔性組織的形式進行管理,使團隊人力資源得以高效利用。同時,團隊成員舉行每日站會,以面對面的形式對當前研發(fā)進展進行匯報和交流,有效提高溝通效率,同時有利于團隊成員對彼此進度的了解,并在必要時提供資源支持,充分提升團隊效能。在各個迭代中,敏捷教練可以由團隊成員兼任,在能力得到鍛煉的同時,也能促使團隊成員全面理解敏捷模式,進而推進產(chǎn)品快速上線,給予團隊信心,激發(fā)團隊更多潛能。
企業(yè)信息化系統(tǒng)具有業(yè)務(wù)需求復(fù)雜且項目周期長的特點,因此提出了一種基于敏捷模式且適用于企業(yè)信息化系統(tǒng)的迭代與并行研發(fā)管理流程,有助于把產(chǎn)品開發(fā)過程的各種不確定性和風險進行降低,提高開發(fā)效率,實現(xiàn)盡早交付。
將產(chǎn)品設(shè)計、產(chǎn)品開發(fā)、產(chǎn)品測試、產(chǎn)品發(fā)布4 個階段的工作內(nèi)容組成一個迭代周期,把原來整個開發(fā)流程中周期較長的階段分解到若干個相對較短的迭代周期,根據(jù)系統(tǒng)整體目標來規(guī)劃功能模塊和優(yōu)先級,迭代時將根據(jù)優(yōu)先級進行開發(fā)。每一次的迭代包含一系列的開發(fā)任務(wù),在各迭代結(jié)束后,將成果交付至業(yè)務(wù)方來進行試用及驗證,及時獲得業(yè)務(wù)方反饋,并將反饋作為下一次迭代設(shè)計和開發(fā)的輸入,多次重復(fù),進而逐步完善整個系統(tǒng)。
在單個迭代內(nèi)或者多個迭代之間,均可采用并行研發(fā)流程,用以并行推進業(yè)務(wù)團隊、設(shè)計團隊、開發(fā)團隊、測試團隊相關(guān)的工作。通過組織各團隊的負責人,共同對各個工作任務(wù)進行分析,規(guī)劃安排可并行推進的工作,在不降低產(chǎn)品質(zhì)量的情況下,盡可能使各個工作任務(wù)并行同步進行,從而充分提高人員的使用率,降低人員的等待率,有效提高產(chǎn)品的研發(fā)效率,降低產(chǎn)品研發(fā)進度延遲的風險。
為實現(xiàn)研發(fā)過程的可管可控,充分發(fā)揮研發(fā)效能,結(jié)合企業(yè)信息化系統(tǒng)的特點,提出了適用于企業(yè)信息化系統(tǒng)的敏捷研發(fā)管理方法,包括需求分析方法、產(chǎn)品設(shè)計方法、開發(fā)實施方法以及產(chǎn)品發(fā)布方法,貫穿了企業(yè)信息化系統(tǒng)的全生命周期。經(jīng)過實踐表明,該方法有助于推進企業(yè)信息化系統(tǒng)的快速開發(fā)、降本增效以及質(zhì)量提升,更好地滿足業(yè)務(wù)方的核心訴求,使系統(tǒng)在企業(yè)內(nèi)部得以廣泛應(yīng)用,發(fā)揮更大的價值。
4.1.1 業(yè)務(wù)方需求調(diào)研
首先,選擇調(diào)研對象。對于企業(yè)信息化系統(tǒng)而言,同一類業(yè)務(wù)方具有相似的組織目標和業(yè)務(wù)邏輯,因此,為了提升調(diào)研的敏捷性,無需對全部業(yè)務(wù)方進行調(diào)研,可選擇5~8 位代表性用戶作為調(diào)研對象,這類用戶作為系統(tǒng)的使用頻率最高的業(yè)務(wù)方,同時也是該業(yè)務(wù)領(lǐng)域的專家用戶,通過多次、深入的訪談,即可獲得關(guān)于系統(tǒng)的核心訴求和痛點需求。
其次,確認業(yè)務(wù)相關(guān)的干系人。根據(jù)調(diào)研對象在組織結(jié)構(gòu)中所處的節(jié)點和作用,繪制相應(yīng)的組織關(guān)系圖譜,用以呈現(xiàn)業(yè)務(wù)方組織內(nèi)部以及業(yè)務(wù)方與系統(tǒng)之間的完整關(guān)系,梳理出企業(yè)信息化系統(tǒng)中所涉及的業(yè)務(wù)方角色。
最后,確認各角色的工作目標。根據(jù)組織關(guān)系圖譜,梳理業(yè)務(wù)流程圖譜,用以表示組織內(nèi)部的業(yè)務(wù)運作方式、各角色之間的業(yè)務(wù)聯(lián)系以及各個角色的業(yè)務(wù)目標,為企業(yè)信息化系統(tǒng)的業(yè)務(wù)流程、角色權(quán)限以及系統(tǒng)功能設(shè)計提供必要的輸入。
4.1.2 復(fù)雜需求拆解分析
企業(yè)信息化系統(tǒng)的需求具有業(yè)務(wù)流程長、覆蓋場景多的特點,因此需要化繁為簡,將復(fù)雜的需求拆解成多個簡單的需求,通過不斷深入細致分析,理解業(yè)務(wù)方真正的訴求和痛點。同時,對需求優(yōu)先級進行排序,進行層層遞進式的分步實施,通過多次迭代交付業(yè)務(wù)方,獲得及時的反饋,降低風險。
4.1.3 全員參與需求分析
由產(chǎn)品負責人牽頭,帶領(lǐng)敏捷團隊全員參與需求分析,有助于團隊保持對需求理解的一致性,有效規(guī)避開發(fā)過程中的由于需求理解不一致帶來的風險。同時,全員從需求分析環(huán)節(jié)即加入產(chǎn)品的討論中,能夠幫團隊統(tǒng)一目標,提升團隊成員的參與感和責任感,激發(fā)團隊潛能。此外,能夠鍛煉團隊成員特別是研發(fā)、測試人員的需求分析能力,提升團隊綜合素質(zhì)。
4.1.4 貫穿全生命周期的持續(xù)分析
企業(yè)信息化系統(tǒng)全生命周期均以滿足業(yè)務(wù)方的需求為目標,因此,需求分析應(yīng)貫穿系統(tǒng)的全生命周期?;诿艚菽J?,每個迭代完成后,都會進行反饋收集,作為后續(xù)迭代的輸入。敏捷信息系統(tǒng)通過多次迭代和持續(xù)集成,獲得逐步細化和深入的需求,不斷完善和增強系統(tǒng)功能。
4.2.1 產(chǎn)品原型設(shè)計
產(chǎn)品原型設(shè)計是企業(yè)信息化系統(tǒng)產(chǎn)品設(shè)計的必要流程,通常在需求分析之后建立,用以呈現(xiàn)系統(tǒng)的設(shè)計理念、系統(tǒng)功能架構(gòu)以及產(chǎn)品框架,是整個系統(tǒng)的雛形,也是開發(fā)實施的輸入?;诿艚菽J降男畔⑾到y(tǒng)產(chǎn)品原型設(shè)計包括基礎(chǔ)原型設(shè)計、交互設(shè)計以及視覺設(shè)計3 個步驟。
首先,由產(chǎn)品經(jīng)理進行基礎(chǔ)原型設(shè)計?;A(chǔ)原型是輔助產(chǎn)品經(jīng)理梳理系統(tǒng)結(jié)構(gòu)以及功能流程的重要工具。首先梳理出全部產(chǎn)品功能,然后提取出必備的核心功能,將核心功能的子功能模塊進行歸類分析,確定需要獨立展示的頁面,之后確定各頁面內(nèi)的元素和交互操作,最后輸出原型草圖。
其次,由交互設(shè)計師進行交互原型設(shè)計。交互設(shè)計師根據(jù)功能需求和原型草圖,對單個頁面進行拆解、重組,綜合考慮邏輯性與視覺感來確定頁面結(jié)構(gòu)及分塊,梳理業(yè)務(wù)功能的交互層次,提升產(chǎn)品的可用性以及用戶體驗,最后輸出交互原型。
最后,由視覺設(shè)計師完成界面視覺設(shè)計。視覺設(shè)計師在交互原型的基礎(chǔ)上,根據(jù)使用用戶、使用環(huán)境、使用方式來確定符合用戶的視覺效果,同時要遵循一致性、準確性、可讀性原則,將產(chǎn)品的視覺形象傳達至用戶,完成視覺層面上的產(chǎn)品設(shè)計最后輸出界面設(shè)計稿。
4.2.2 標準化設(shè)計
采用標準化的設(shè)計,在設(shè)計過程中融入組件化和規(guī)范化的設(shè)計理念,既有助于設(shè)計層面和技術(shù)層面的雙重復(fù)用,也有助于保證產(chǎn)品一致性。將通用的組件形成標準化的組件庫,在設(shè)計和開發(fā)時均支持從組件庫中進行調(diào)用,避免實施過程中的重復(fù)勞動,縮短設(shè)計和開發(fā)時間,進而實現(xiàn)企業(yè)信息化系統(tǒng)的敏捷研發(fā)。同時,標準化的組件庫也將沉淀為公司的設(shè)計資產(chǎn),從而為企業(yè)貢獻更多的價值。
在企業(yè)信息化系統(tǒng)敏捷開發(fā)過程中,引入開源分布式版本控制系統(tǒng)Git,采用特征開發(fā)、主干集成、分支發(fā)布的策略,使研發(fā)過程更具敏捷性,保障各個迭代開發(fā)的高效性以及代碼成果部署的靈活性。
首先,在開發(fā)時采用特征開發(fā)的策略,對每一項功能創(chuàng)建相應(yīng)的敏捷特征分支,開發(fā)人員可以集中到自己的特征分支進行開發(fā),即使基于相同的代碼庫,也能保證各個特征分支的獨立性,多分支之間可以并行開發(fā),同時,未完成的特征分支也不會影響到主干分支,避免由于存在過多依賴關(guān)系而延遲開發(fā)進程。
其次,敏捷特征分支需要以較短周期盡快集成至主干分支,完成主干集成,及時將各分支的變更知會其他開發(fā)人員,避免出現(xiàn)沖突。同時,能夠盡快推進該分支的成果在未來的版本中發(fā)揮作用,快速獲得反饋,減少需求積壓。
最后,通過新建分支的形式完成發(fā)布,保證每次發(fā)布版本的可追溯性,只需要少量開發(fā)人員對發(fā)布的版本進行缺陷回歸和進一步優(yōu)化,并持續(xù)發(fā)布,有效避免主干分支集成的干擾。同時,主干分支不會受到分支發(fā)布的影響,可以投入大部分的開發(fā)人員進行到下一次迭代的開發(fā)中,使人力資源得以高效利用。
4.4.1 快速交付,重視反饋
在敏捷企業(yè)信息化系統(tǒng)研發(fā)管理中,通過敏捷模式實現(xiàn)迭代成果的快速交付,一方面能夠增強團隊成員的信心,另一方面能夠獲得新的需求或者優(yōu)化建議。
研發(fā)過程中每個迭代周期最長為一個月,每次迭代完成后,研發(fā)團隊獲得了可發(fā)布的成果并快速看到效果,使團隊的士氣得到鼓舞,成員的信心得以增強。同時,業(yè)務(wù)方獲得了可試用的產(chǎn)品,根據(jù)實際業(yè)務(wù)應(yīng)用和系統(tǒng)的試用,能夠提出更多的反饋建議,作為后續(xù)迭代中最有價值的輸入,從而通過多個快速交付成果最終獲得完整的系統(tǒng)產(chǎn)品。
4.4.2 及時復(fù)盤,不斷修正
在每一次迭代成果發(fā)布之后,整個團隊需要對本次迭代中的需求分析質(zhì)量、產(chǎn)品設(shè)計質(zhì)量、開發(fā)過程質(zhì)量以及業(yè)務(wù)方使用質(zhì)量等方面進行總結(jié),梳理出相關(guān)的質(zhì)量問題,對問題進行定位分析,并提出解決措施或方案,進而完成質(zhì)量問題的閉環(huán)。在此過程中,團隊成員可以獲得寶貴的經(jīng)驗,避免在后續(xù)工作中出現(xiàn)同樣的失誤。整個團隊通過復(fù)盤可以獲得成長,同時不斷提升產(chǎn)品的質(zhì)量。
本文結(jié)合企業(yè)信息化建設(shè)實踐中的實際經(jīng)驗,分析了敏捷企業(yè)信息化系統(tǒng)的特點,并提出了一種基于敏捷模式的企業(yè)信息化系統(tǒng)的管理流程與研發(fā)方法,包括一套融合了迭代與并行機制的研發(fā)管理流程以及貫穿全生命周期的需求分析方法、產(chǎn)品設(shè)計方法、開發(fā)實施方法以及產(chǎn)品發(fā)布方法。目前該方法已在企業(yè)信息化建設(shè)中得到了推廣和應(yīng)用,實際成果表明,該方法能夠全面提升信息化系統(tǒng)的研發(fā)效率和質(zhì)量,實現(xiàn)了企業(yè)降本增效的目標,為國內(nèi)相同行業(yè)、同等規(guī)模企業(yè)的信息化建設(shè)提供一定的借鑒參考。