唐海濤 張業(yè)星,4 蔣海峰,4
(1.中國(guó)電建集團(tuán)華東勘測(cè)設(shè)計(jì)研究院有限公司 浙江省杭州市 311122)
(2.浙江華東工程數(shù)字技術(shù)有限公司 浙江省杭州市 311122)
(3.數(shù)字城市CIM 技術(shù)浙江省工程研究中心 浙江省杭州市 311122 4.浙江省工程數(shù)字化技術(shù)研究中心 浙江省杭州市 311122)
近幾年很多IT 企業(yè)都在向集成研發(fā),共享研發(fā)方向轉(zhuǎn)型,這是一個(gè)趨勢(shì)。所以組織架構(gòu)轉(zhuǎn)型,著手打造一個(gè)優(yōu)秀的研發(fā)體系,從長(zhǎng)遠(yuǎn)看對(duì)業(yè)務(wù)的發(fā)展具有很大的推動(dòng)作用。研發(fā)管理體系是企業(yè)管理體系的重要組成部分,促進(jìn)企業(yè)研發(fā)管理的科學(xué)化、規(guī)范化和標(biāo)準(zhǔn)化。貫徹公司研發(fā)管理體系標(biāo)準(zhǔn),謀求對(duì)研發(fā)過程進(jìn)行規(guī)范化管理,以提升公司研發(fā)管理及軟件過程能力,其意義包括:
(1)有助于提升公司IT 產(chǎn)品、IT 項(xiàng)目的研發(fā)質(zhì)量和績(jī)效;
(2)有助于縮短產(chǎn)品研發(fā)周期;
(3)降低研發(fā)成本;
(4)控制研發(fā)風(fēng)險(xiǎn);
(5)有助于公司核心競(jìng)爭(zhēng)力的提升。
研發(fā)管理體系的設(shè)計(jì)是隨公司戰(zhàn)略、業(yè)務(wù)方向、產(chǎn)品和技術(shù)的特性而異的,體系框架需要在公司戰(zhàn)略的指引下,重點(diǎn)考慮如何為業(yè)務(wù)和產(chǎn)品服務(wù)[1]。結(jié)合該目標(biāo),梳理的體系思維框架模型如圖1所示。
研發(fā)體系不只是一個(gè)技術(shù)勞動(dòng),它是對(duì)公司戰(zhàn)略分解的一個(gè)重要環(huán)節(jié)。因此,研發(fā)體系設(shè)計(jì)需要重點(diǎn)考慮如下四個(gè)方面:
(1)以業(yè)務(wù)模式為前提:考慮企業(yè)當(dāng)前的現(xiàn)狀、戰(zhàn)略規(guī)劃和業(yè)務(wù)發(fā)展的要求。研發(fā)體系根據(jù)業(yè)務(wù)的變化和發(fā)展的不同階段,要在時(shí)間和空間維度上建設(shè)的更加立體,有效的支撐業(yè)務(wù)的多樣和多變。
(2)以產(chǎn)品轉(zhuǎn)化為效率:產(chǎn)品普遍具有較強(qiáng)的可復(fù)制能力,一般需要依托項(xiàng)目打造,從項(xiàng)目中去提煉普遍性的需求,最后轉(zhuǎn)化為產(chǎn)品。再以產(chǎn)品來(lái)快速實(shí)現(xiàn)項(xiàng)目的需求,因此高效的產(chǎn)品轉(zhuǎn)化效率可以更加有效的支撐業(yè)務(wù)。
(3)以平臺(tái)架構(gòu)為動(dòng)力:不論技術(shù)平臺(tái)還是產(chǎn)品平臺(tái),平臺(tái)的主要作用是強(qiáng)化業(yè)務(wù)支撐和產(chǎn)品轉(zhuǎn)化的能力。產(chǎn)品平臺(tái)是通過需求通用性的高度抽象,使其更標(biāo)準(zhǔn)化;技術(shù)平臺(tái)是通過技術(shù)實(shí)現(xiàn)的封裝,實(shí)現(xiàn)功能的可擴(kuò)展性,支持更多場(chǎng)景[2]。
(4)以研發(fā)管理為基礎(chǔ):研發(fā)更關(guān)注對(duì)人和物的管理。首先,分散式的研發(fā)團(tuán)隊(duì)無(wú)法實(shí)現(xiàn)技術(shù)共享、人員共享。其次,企業(yè)過程的成果,比如代碼、文檔、方案是企業(yè)的寶貴資產(chǎn),應(yīng)該做好組織過程資產(chǎn)管理。最后,將研發(fā)管理流程、規(guī)范在實(shí)踐中落地,需要重視與堅(jiān)持。這些都是做好研發(fā)管理的基礎(chǔ)。
研發(fā)管理流程是集成產(chǎn)品開發(fā)管理體系的骨架,是其他各項(xiàng)產(chǎn)品開發(fā)管理工作得以順利開展的基礎(chǔ)。研發(fā)管理流程建設(shè)不是一蹴而就的,需要隨著企業(yè)業(yè)務(wù)的發(fā)展、關(guān)鍵技術(shù)的累積、人員能力的提高而不斷迭代、優(yōu)化、升級(jí)[3]。因此研發(fā)管理流程定義需要按照“先僵化、后固化、再優(yōu)化”的方式持續(xù)改進(jìn)、更新。
圖1:研發(fā)體系思維框架
圖2:研發(fā)管理系統(tǒng)邏輯架構(gòu)
(1)流程締造:明確項(xiàng)目研發(fā)、產(chǎn)品研發(fā)、技術(shù)研發(fā)等研發(fā)場(chǎng)景分類,針對(duì)具體場(chǎng)景,搭建研發(fā)管理體系總體框架,設(shè)計(jì)研發(fā)管理流程相關(guān)辦法。并匯總、整合、修訂企業(yè)現(xiàn)有的各類技術(shù)規(guī)范,為研發(fā)工作締造基本的流程約束和規(guī)范要求。
(2)流程實(shí)踐:結(jié)合具體的產(chǎn)品或基礎(chǔ)研發(fā)項(xiàng)目,開展研發(fā)流程相關(guān)辦法的試用和推行。并適時(shí)考慮將以上內(nèi)容轉(zhuǎn)化為研發(fā)管理系統(tǒng)線上功能,促進(jìn)標(biāo)準(zhǔn)流程的推廣使用。
(3)流程優(yōu)化:在流程的試用和推廣過程中,注意建立用戶反饋渠道,持續(xù)收集相關(guān)意見或建議;經(jīng)過進(jìn)一步的匯總整理、策劃討論后,確定改進(jìn)措施,持續(xù)優(yōu)化迭代現(xiàn)有流程。
為規(guī)范IT 研發(fā)管理工作、提升整個(gè)團(tuán)隊(duì)的溝通和協(xié)同工作效率,建立研發(fā)管理系統(tǒng)是實(shí)現(xiàn)將研發(fā)管理流程落地、強(qiáng)化研發(fā)過程管控、提高研發(fā)質(zhì)量、節(jié)約成本的重要手段。從研發(fā)活動(dòng)生命周期看,與研發(fā)活動(dòng)相關(guān)的管理工作包含需求管理、設(shè)計(jì)與編碼管理、測(cè)試管理等。因此研發(fā)管理系統(tǒng)的設(shè)計(jì)需要重點(diǎn)考慮如下方面:
(1)系統(tǒng)應(yīng)做好研發(fā)的需求管理,包括需求設(shè)計(jì)、收集、訪談等需求活動(dòng)。功能方面應(yīng)具備強(qiáng)大的編輯和站點(diǎn)管理特征,以幫助團(tuán)隊(duì)成員之間共享信息、文檔協(xié)作、集體討論、信息推送。[4]
(2)系統(tǒng)應(yīng)做好研發(fā)的知識(shí)管理,貫穿需求管理的過程,從需求文檔整理、需求意見收集、需求文檔完善到最后形成正式需求文檔,中間形成的各類文檔,都是寶貴的組織過程資產(chǎn),應(yīng)該保存到企業(yè)知識(shí)庫(kù)中,方便后期查閱。
(3)系統(tǒng)應(yīng)做好研發(fā)的測(cè)試管理,包括基本的項(xiàng)目管理和需求管理、版本管理、模塊管理、提測(cè)流程管理、測(cè)試用例管理、缺陷管理等功能。
(4)系統(tǒng)應(yīng)做好研發(fā)的運(yùn)維管理,基于開發(fā)、測(cè)試、運(yùn)維一體化的要求,實(shí)現(xiàn)敏捷開發(fā)、敏捷部署和敏捷生產(chǎn)。功能應(yīng)該貫穿計(jì)劃、編碼、構(gòu)建、測(cè)試、發(fā)布、部署、運(yùn)營(yíng)、監(jiān)控全過程。
(5)系統(tǒng)應(yīng)做好研發(fā)的服務(wù)管理,應(yīng)提供以客戶服務(wù)為特定場(chǎng)景的工作模式,并與需求與知識(shí)管理系統(tǒng)、運(yùn)維管理系統(tǒng)發(fā)生關(guān)聯(lián),使開發(fā)人員、運(yùn)維人員和客服人員在統(tǒng)一平臺(tái)上協(xié)同工作。
研發(fā)管理系統(tǒng)原則上應(yīng)與企業(yè)現(xiàn)行管理流程制度相一致,但也應(yīng)考慮到實(shí)際執(zhí)行過程中的適用性與可操作性,對(duì)企業(yè)現(xiàn)行管理流程進(jìn)行局部修訂,以適應(yīng)最新研發(fā)管理模式。
本文介紹的研發(fā)體系建設(shè)實(shí)踐是在綜合考慮了公司戰(zhàn)略、業(yè)務(wù)方向、產(chǎn)品類型的基礎(chǔ)上建立的。公司的業(yè)務(wù)方向主要面向工程行業(yè),在自主云平臺(tái)技術(shù)基礎(chǔ)設(shè)施的基礎(chǔ)上,支撐工程的數(shù)字化,依托項(xiàng)目打造產(chǎn)品。主要業(yè)務(wù)模式包括產(chǎn)品銷售、軟件外包、云服務(wù)模式。
研發(fā)管理流程建設(shè)是在公司現(xiàn)行研發(fā)管理相關(guān)制度的基礎(chǔ)上建立并優(yōu)化研發(fā)過程的過程,結(jié)合IPD 研發(fā)管理模式與理念,針對(duì)不同場(chǎng)景,制定便于管理和執(zhí)行的流程規(guī)范。主要建設(shè)內(nèi)容包括:
(1)搭建研發(fā)管理流程框架:明確產(chǎn)品研發(fā)、技術(shù)研發(fā)、項(xiàng)目研發(fā)等研發(fā)場(chǎng)景分類;針對(duì)具體場(chǎng)景,分析其具體研發(fā)生命周期、涉及角色和主線流程。
(2)細(xì)化研發(fā)管理具體活動(dòng):進(jìn)一步細(xì)化主線流程,歸納總結(jié)研發(fā)過程中的最小活動(dòng),如競(jìng)品分析、用戶故事、結(jié)對(duì)編程、測(cè)試支撐等,描述其基本流程,制作相應(yīng)工具模板。
(3)整合提煉各類研發(fā)規(guī)范:以研發(fā)管理主線流程為基礎(chǔ),編制并優(yōu)化設(shè)計(jì)、開發(fā)、測(cè)試、運(yùn)維等環(huán)節(jié)的各類規(guī)范。
研發(fā)管理系統(tǒng)是研發(fā)管理流程的落腳點(diǎn),是流程實(shí)踐的平臺(tái)。按照研發(fā)管理系統(tǒng)設(shè)計(jì)的思路,系統(tǒng)建設(shè)應(yīng)該包括項(xiàng)目管理、需求管理、知識(shí)管理、測(cè)試管理、運(yùn)維管理、服務(wù)管理等模塊,每個(gè)模塊之間是相互關(guān)聯(lián)、相輔相成的關(guān)系。各模塊協(xié)同工作,促進(jìn)敏捷開發(fā),提高軟件開發(fā)效率。系統(tǒng)的邏輯關(guān)系如圖2 所示。
(1)研發(fā)管理流程/技術(shù)規(guī)范是研發(fā)體系建設(shè)的核心,貫穿體系建設(shè)的始終。流程是研發(fā)管理系統(tǒng)的輸入,輔助研發(fā)過程各階段按照規(guī)范執(zhí)行。同時(shí),將標(biāo)準(zhǔn)規(guī)范文檔和模板文檔作為知識(shí)積累,存入組織過程資產(chǎn)倉(cāng)庫(kù)。
(2)研發(fā)過程管理模塊是流程的具體落腳點(diǎn),使產(chǎn)品、項(xiàng)目在系統(tǒng)中按照規(guī)范流程執(zhí)行。研發(fā)過程管理模塊基于成熟度比較高的JIRA 建立,與測(cè)試管理、運(yùn)維管理模塊實(shí)現(xiàn)數(shù)據(jù)互通,將項(xiàng)目管理、需求管理、代碼等信息無(wú)縫銜接,實(shí)現(xiàn)將需求、研發(fā)、測(cè)試、運(yùn)維串成一條線。
(3)通過Confluence 建立需求管理和知識(shí)管理模塊,基于Confluence 專業(yè)的企業(yè)知識(shí)管理與協(xié)同能力構(gòu)建企業(yè)Wiki,幫助團(tuán)隊(duì)成員之間實(shí)現(xiàn)共享信息、文檔協(xié)作。最終將知識(shí)沉淀形成知識(shí)庫(kù),作為組織過程資產(chǎn)倉(cāng)庫(kù)的一部分。
(4)建立了測(cè)試管理模塊,實(shí)現(xiàn)公司測(cè)試管理的流程化和標(biāo)準(zhǔn)化。同時(shí),統(tǒng)一了公司的測(cè)試工具,包括UI 自動(dòng)化測(cè)試、接口測(cè)試、性能測(cè)試、安全測(cè)試等。
圖3:應(yīng)用案例
(5)運(yùn)維管理模塊,建設(shè)內(nèi)容包括基于Git 的源代碼管理、集成Jenkins + Gitlab + SonarQube 的源代碼質(zhì)量自動(dòng)化檢測(cè)等,使得軟件研發(fā)流程更順暢,并將代碼等作為重要的公司資產(chǎn)沉淀到組織過程資產(chǎn)倉(cāng)庫(kù)。
(6)基于JIRA Service Desk 建立服務(wù)管理模塊,為IT 和客戶服務(wù)部門提供高效、靈活的服務(wù)管理解決方案。比如用戶請(qǐng)求及反饋的處理,SLA 的追求。
研發(fā)管理體系建設(shè)是隨著公司規(guī)模和業(yè)務(wù)的快速發(fā)展逐步完善和迭代更新的,研發(fā)體系建設(shè)緩解了公司項(xiàng)目多、時(shí)間緊、人力資源緊缺、成本高等問題,已經(jīng)有效提高了公司對(duì)產(chǎn)品、項(xiàng)目、技術(shù)研發(fā)的管控力度,提高了整體研發(fā)效益。截止目前,已經(jīng)實(shí)現(xiàn)了90%以上項(xiàng)目按照研發(fā)管理體系框架統(tǒng)一在研發(fā)管理系統(tǒng)中進(jìn)行研發(fā)過程管理。如圖3 所示,文控管理系統(tǒng)在測(cè)試管理模塊中的管理界面。
研發(fā)管理體系的建設(shè)需要因地制宜,結(jié)合企業(yè)的戰(zhàn)略、業(yè)務(wù)方向、產(chǎn)品和技術(shù)特點(diǎn)等實(shí)際情況來(lái)建設(shè)。本文重點(diǎn)介紹了體系建設(shè)的核心組件,即流程、系統(tǒng)、倉(cāng)庫(kù)。一般IT 企業(yè)研發(fā)體系建設(shè)需要以優(yōu)化研發(fā)過程管理為目標(biāo),建立符合企業(yè)現(xiàn)狀的內(nèi)容,例如研發(fā)團(tuán)隊(duì)建設(shè)、項(xiàng)目管理、成本管理、風(fēng)險(xiǎn)管理、統(tǒng)一技術(shù)路線等。建議各企業(yè)在體系設(shè)計(jì)時(shí)進(jìn)行全面的考慮,在體系落地時(shí)適當(dāng)裁剪,以符合企業(yè)的實(shí)際情況,并在不同發(fā)展階段動(dòng)態(tài)調(diào)整、優(yōu)化。