唐海濤 張業(yè)星,4 蔣海峰,4
(1.中國電建集團華東勘測設(shè)計研究院有限公司 浙江省杭州市 311122)
(2.浙江華東工程數(shù)字技術(shù)有限公司 浙江省杭州市 311122)
(3.數(shù)字城市CIM 技術(shù)浙江省工程研究中心 浙江省杭州市 311122 4.浙江省工程數(shù)字化技術(shù)研究中心 浙江省杭州市 311122)
近幾年很多IT 企業(yè)都在向集成研發(fā),共享研發(fā)方向轉(zhuǎn)型,這是一個趨勢。所以組織架構(gòu)轉(zhuǎn)型,著手打造一個優(yōu)秀的研發(fā)體系,從長遠看對業(yè)務(wù)的發(fā)展具有很大的推動作用。研發(fā)管理體系是企業(yè)管理體系的重要組成部分,促進企業(yè)研發(fā)管理的科學化、規(guī)范化和標準化。貫徹公司研發(fā)管理體系標準,謀求對研發(fā)過程進行規(guī)范化管理,以提升公司研發(fā)管理及軟件過程能力,其意義包括:
(1)有助于提升公司IT 產(chǎn)品、IT 項目的研發(fā)質(zhì)量和績效;
(2)有助于縮短產(chǎn)品研發(fā)周期;
(3)降低研發(fā)成本;
(4)控制研發(fā)風險;
(5)有助于公司核心競爭力的提升。
研發(fā)管理體系的設(shè)計是隨公司戰(zhàn)略、業(yè)務(wù)方向、產(chǎn)品和技術(shù)的特性而異的,體系框架需要在公司戰(zhàn)略的指引下,重點考慮如何為業(yè)務(wù)和產(chǎn)品服務(wù)[1]。結(jié)合該目標,梳理的體系思維框架模型如圖1所示。
研發(fā)體系不只是一個技術(shù)勞動,它是對公司戰(zhàn)略分解的一個重要環(huán)節(jié)。因此,研發(fā)體系設(shè)計需要重點考慮如下四個方面:
(1)以業(yè)務(wù)模式為前提:考慮企業(yè)當前的現(xiàn)狀、戰(zhàn)略規(guī)劃和業(yè)務(wù)發(fā)展的要求。研發(fā)體系根據(jù)業(yè)務(wù)的變化和發(fā)展的不同階段,要在時間和空間維度上建設(shè)的更加立體,有效的支撐業(yè)務(wù)的多樣和多變。
(2)以產(chǎn)品轉(zhuǎn)化為效率:產(chǎn)品普遍具有較強的可復(fù)制能力,一般需要依托項目打造,從項目中去提煉普遍性的需求,最后轉(zhuǎn)化為產(chǎn)品。再以產(chǎn)品來快速實現(xiàn)項目的需求,因此高效的產(chǎn)品轉(zhuǎn)化效率可以更加有效的支撐業(yè)務(wù)。
(3)以平臺架構(gòu)為動力:不論技術(shù)平臺還是產(chǎn)品平臺,平臺的主要作用是強化業(yè)務(wù)支撐和產(chǎn)品轉(zhuǎn)化的能力。產(chǎn)品平臺是通過需求通用性的高度抽象,使其更標準化;技術(shù)平臺是通過技術(shù)實現(xiàn)的封裝,實現(xiàn)功能的可擴展性,支持更多場景[2]。
(4)以研發(fā)管理為基礎(chǔ):研發(fā)更關(guān)注對人和物的管理。首先,分散式的研發(fā)團隊無法實現(xiàn)技術(shù)共享、人員共享。其次,企業(yè)過程的成果,比如代碼、文檔、方案是企業(yè)的寶貴資產(chǎn),應(yīng)該做好組織過程資產(chǎn)管理。最后,將研發(fā)管理流程、規(guī)范在實踐中落地,需要重視與堅持。這些都是做好研發(fā)管理的基礎(chǔ)。
研發(fā)管理流程是集成產(chǎn)品開發(fā)管理體系的骨架,是其他各項產(chǎn)品開發(fā)管理工作得以順利開展的基礎(chǔ)。研發(fā)管理流程建設(shè)不是一蹴而就的,需要隨著企業(yè)業(yè)務(wù)的發(fā)展、關(guān)鍵技術(shù)的累積、人員能力的提高而不斷迭代、優(yōu)化、升級[3]。因此研發(fā)管理流程定義需要按照“先僵化、后固化、再優(yōu)化”的方式持續(xù)改進、更新。

圖1:研發(fā)體系思維框架

圖2:研發(fā)管理系統(tǒng)邏輯架構(gòu)
(1)流程締造:明確項目研發(fā)、產(chǎn)品研發(fā)、技術(shù)研發(fā)等研發(fā)場景分類,針對具體場景,搭建研發(fā)管理體系總體框架,設(shè)計研發(fā)管理流程相關(guān)辦法。并匯總、整合、修訂企業(yè)現(xiàn)有的各類技術(shù)規(guī)范,為研發(fā)工作締造基本的流程約束和規(guī)范要求。
(2)流程實踐:結(jié)合具體的產(chǎn)品或基礎(chǔ)研發(fā)項目,開展研發(fā)流程相關(guān)辦法的試用和推行。并適時考慮將以上內(nèi)容轉(zhuǎn)化為研發(fā)管理系統(tǒng)線上功能,促進標準流程的推廣使用。
(3)流程優(yōu)化:在流程的試用和推廣過程中,注意建立用戶反饋渠道,持續(xù)收集相關(guān)意見或建議;經(jīng)過進一步的匯總整理、策劃討論后,確定改進措施,持續(xù)優(yōu)化迭代現(xiàn)有流程。
為規(guī)范IT 研發(fā)管理工作、提升整個團隊的溝通和協(xié)同工作效率,建立研發(fā)管理系統(tǒng)是實現(xiàn)將研發(fā)管理流程落地、強化研發(fā)過程管控、提高研發(fā)質(zhì)量、節(jié)約成本的重要手段。從研發(fā)活動生命周期看,與研發(fā)活動相關(guān)的管理工作包含需求管理、設(shè)計與編碼管理、測試管理等。因此研發(fā)管理系統(tǒng)的設(shè)計需要重點考慮如下方面:
(1)系統(tǒng)應(yīng)做好研發(fā)的需求管理,包括需求設(shè)計、收集、訪談等需求活動。功能方面應(yīng)具備強大的編輯和站點管理特征,以幫助團隊成員之間共享信息、文檔協(xié)作、集體討論、信息推送。[4]
(2)系統(tǒng)應(yīng)做好研發(fā)的知識管理,貫穿需求管理的過程,從需求文檔整理、需求意見收集、需求文檔完善到最后形成正式需求文檔,中間形成的各類文檔,都是寶貴的組織過程資產(chǎn),應(yīng)該保存到企業(yè)知識庫中,方便后期查閱。
(3)系統(tǒng)應(yīng)做好研發(fā)的測試管理,包括基本的項目管理和需求管理、版本管理、模塊管理、提測流程管理、測試用例管理、缺陷管理等功能。
(4)系統(tǒng)應(yīng)做好研發(fā)的運維管理,基于開發(fā)、測試、運維一體化的要求,實現(xiàn)敏捷開發(fā)、敏捷部署和敏捷生產(chǎn)。功能應(yīng)該貫穿計劃、編碼、構(gòu)建、測試、發(fā)布、部署、運營、監(jiān)控全過程。
(5)系統(tǒng)應(yīng)做好研發(fā)的服務(wù)管理,應(yīng)提供以客戶服務(wù)為特定場景的工作模式,并與需求與知識管理系統(tǒng)、運維管理系統(tǒng)發(fā)生關(guān)聯(lián),使開發(fā)人員、運維人員和客服人員在統(tǒng)一平臺上協(xié)同工作。
研發(fā)管理系統(tǒng)原則上應(yīng)與企業(yè)現(xiàn)行管理流程制度相一致,但也應(yīng)考慮到實際執(zhí)行過程中的適用性與可操作性,對企業(yè)現(xiàn)行管理流程進行局部修訂,以適應(yīng)最新研發(fā)管理模式。
本文介紹的研發(fā)體系建設(shè)實踐是在綜合考慮了公司戰(zhàn)略、業(yè)務(wù)方向、產(chǎn)品類型的基礎(chǔ)上建立的。公司的業(yè)務(wù)方向主要面向工程行業(yè),在自主云平臺技術(shù)基礎(chǔ)設(shè)施的基礎(chǔ)上,支撐工程的數(shù)字化,依托項目打造產(chǎn)品。主要業(yè)務(wù)模式包括產(chǎn)品銷售、軟件外包、云服務(wù)模式。
研發(fā)管理流程建設(shè)是在公司現(xiàn)行研發(fā)管理相關(guān)制度的基礎(chǔ)上建立并優(yōu)化研發(fā)過程的過程,結(jié)合IPD 研發(fā)管理模式與理念,針對不同場景,制定便于管理和執(zhí)行的流程規(guī)范。主要建設(shè)內(nèi)容包括:
(1)搭建研發(fā)管理流程框架:明確產(chǎn)品研發(fā)、技術(shù)研發(fā)、項目研發(fā)等研發(fā)場景分類;針對具體場景,分析其具體研發(fā)生命周期、涉及角色和主線流程。
(2)細化研發(fā)管理具體活動:進一步細化主線流程,歸納總結(jié)研發(fā)過程中的最小活動,如競品分析、用戶故事、結(jié)對編程、測試支撐等,描述其基本流程,制作相應(yīng)工具模板。
(3)整合提煉各類研發(fā)規(guī)范:以研發(fā)管理主線流程為基礎(chǔ),編制并優(yōu)化設(shè)計、開發(fā)、測試、運維等環(huán)節(jié)的各類規(guī)范。
研發(fā)管理系統(tǒng)是研發(fā)管理流程的落腳點,是流程實踐的平臺。按照研發(fā)管理系統(tǒng)設(shè)計的思路,系統(tǒng)建設(shè)應(yīng)該包括項目管理、需求管理、知識管理、測試管理、運維管理、服務(wù)管理等模塊,每個模塊之間是相互關(guān)聯(lián)、相輔相成的關(guān)系。各模塊協(xié)同工作,促進敏捷開發(fā),提高軟件開發(fā)效率。系統(tǒng)的邏輯關(guān)系如圖2 所示。
(1)研發(fā)管理流程/技術(shù)規(guī)范是研發(fā)體系建設(shè)的核心,貫穿體系建設(shè)的始終。流程是研發(fā)管理系統(tǒng)的輸入,輔助研發(fā)過程各階段按照規(guī)范執(zhí)行。同時,將標準規(guī)范文檔和模板文檔作為知識積累,存入組織過程資產(chǎn)倉庫。
(2)研發(fā)過程管理模塊是流程的具體落腳點,使產(chǎn)品、項目在系統(tǒng)中按照規(guī)范流程執(zhí)行。研發(fā)過程管理模塊基于成熟度比較高的JIRA 建立,與測試管理、運維管理模塊實現(xiàn)數(shù)據(jù)互通,將項目管理、需求管理、代碼等信息無縫銜接,實現(xiàn)將需求、研發(fā)、測試、運維串成一條線。
(3)通過Confluence 建立需求管理和知識管理模塊,基于Confluence 專業(yè)的企業(yè)知識管理與協(xié)同能力構(gòu)建企業(yè)Wiki,幫助團隊成員之間實現(xiàn)共享信息、文檔協(xié)作。最終將知識沉淀形成知識庫,作為組織過程資產(chǎn)倉庫的一部分。
(4)建立了測試管理模塊,實現(xiàn)公司測試管理的流程化和標準化。同時,統(tǒng)一了公司的測試工具,包括UI 自動化測試、接口測試、性能測試、安全測試等。

圖3:應(yīng)用案例
(5)運維管理模塊,建設(shè)內(nèi)容包括基于Git 的源代碼管理、集成Jenkins + Gitlab + SonarQube 的源代碼質(zhì)量自動化檢測等,使得軟件研發(fā)流程更順暢,并將代碼等作為重要的公司資產(chǎn)沉淀到組織過程資產(chǎn)倉庫。
(6)基于JIRA Service Desk 建立服務(wù)管理模塊,為IT 和客戶服務(wù)部門提供高效、靈活的服務(wù)管理解決方案。比如用戶請求及反饋的處理,SLA 的追求。
研發(fā)管理體系建設(shè)是隨著公司規(guī)模和業(yè)務(wù)的快速發(fā)展逐步完善和迭代更新的,研發(fā)體系建設(shè)緩解了公司項目多、時間緊、人力資源緊缺、成本高等問題,已經(jīng)有效提高了公司對產(chǎn)品、項目、技術(shù)研發(fā)的管控力度,提高了整體研發(fā)效益。截止目前,已經(jīng)實現(xiàn)了90%以上項目按照研發(fā)管理體系框架統(tǒng)一在研發(fā)管理系統(tǒng)中進行研發(fā)過程管理。如圖3 所示,文控管理系統(tǒng)在測試管理模塊中的管理界面。
研發(fā)管理體系的建設(shè)需要因地制宜,結(jié)合企業(yè)的戰(zhàn)略、業(yè)務(wù)方向、產(chǎn)品和技術(shù)特點等實際情況來建設(shè)。本文重點介紹了體系建設(shè)的核心組件,即流程、系統(tǒng)、倉庫。一般IT 企業(yè)研發(fā)體系建設(shè)需要以優(yōu)化研發(fā)過程管理為目標,建立符合企業(yè)現(xiàn)狀的內(nèi)容,例如研發(fā)團隊建設(shè)、項目管理、成本管理、風險管理、統(tǒng)一技術(shù)路線等。建議各企業(yè)在體系設(shè)計時進行全面的考慮,在體系落地時適當裁剪,以符合企業(yè)的實際情況,并在不同發(fā)展階段動態(tài)調(diào)整、優(yōu)化。