摘要:近期,CTO俱樂部采訪了超圖研究院院長李紹俊,請他重點(diǎn)介紹了超圖研究院創(chuàng)新2.0時代的平臺軟件研發(fā)體系構(gòu)建。2014年12月,在由CSDN舉辦的“2014技術(shù)商業(yè)500人論壇”上,李紹俊入選“2014 TOP50最具價值CTO”。
超圖每年投入研發(fā)的費(fèi)用約為8000萬,2014年的營業(yè)收入約3.61億元,研發(fā)投入約占4成比例。近期,CTO俱樂部走進(jìn)超圖,近距離探訪超圖的“創(chuàng)新2.0時代的平臺軟件研發(fā)體系”,并采訪了超圖研究院院長李紹俊,請他就超圖研究院的一些軟件創(chuàng)新機(jī)制、質(zhì)量保障體系建設(shè)等做出分享。
李紹俊,北京師范大學(xué)資源與環(huán)境科學(xué)系學(xué)士學(xué)位;中科院地理所博士學(xué)位。2000年,加入超圖軟件,現(xiàn)任超圖研究院院長。2014年12月,在由CSDN舉辦的“2014技術(shù)商業(yè)500人論壇”上,李紹俊入選“2014 TOP50最具價值CTO”。
超圖研究院院長 李紹俊
創(chuàng)新機(jī)制:決策評審
李紹俊介紹說目前超圖研究所加上研發(fā)中心近200人的規(guī)模,在全球做GIS平臺軟件研發(fā)這方面可排到前三甲。
超圖軟件創(chuàng)新機(jī)制中比較重要的一個機(jī)制就是決策評審。決策評審是創(chuàng)新的方向或流向的問題?!俺瑘D早期研發(fā)中心的創(chuàng)新的機(jī)制是從上往下安排為主,公司的領(lǐng)導(dǎo)在技術(shù)上包括前沿把握方面相對更為集中一些,創(chuàng)新點(diǎn)都是先上層提出來,后面安排研發(fā)中心實現(xiàn)。而發(fā)展到后期,在創(chuàng)新機(jī)制方向上有一定的調(diào)整,相對來說既有自頂向下的創(chuàng)新模式,也有自下向上的一個模式。而現(xiàn)在基本是以自下向上的創(chuàng)新模式為主?!?nbsp;李紹俊介紹說。
員工會在創(chuàng)新方面提出申請,因為團(tuán)隊規(guī)模較大,很多創(chuàng)新點(diǎn)是來自于一線的員工。提出創(chuàng)新點(diǎn)后,在研發(fā)機(jī)制里設(shè)有一個組織PPAC,可以做員工提出來的創(chuàng)新點(diǎn)的評審工作。在立項評審之后后面還會對它商業(yè)計劃評審。創(chuàng)新點(diǎn)提出來,一方面是技術(shù)上的創(chuàng)新,更關(guān)鍵的是能不能帶來客戶價值?能不能帶來市場回報?這個商業(yè)計劃決策評審要對它的投入產(chǎn)出比做一個分析。所以這是在軟件創(chuàng)新里面第二個非常重要的里程碑。第三個里程碑是發(fā)布評審。
怎樣判斷創(chuàng)新?是否可行?是否可以進(jìn)入研發(fā)階段?是以客戶價值判斷為最重要的準(zhǔn)則。包括商業(yè)計劃評審,包括發(fā)布評審,通過決策委員會,發(fā)現(xiàn)偏離的時候及時糾正,來調(diào)整研發(fā)的方向?!艾F(xiàn)在超圖產(chǎn)品的研發(fā)已經(jīng)不僅僅是研究院或者是研發(fā)中心這部分的工作,它跨到整個超圖將近1000人的公司中,研發(fā)階段中包括一些合作伙伴、二次開發(fā)商也都會參與進(jìn)來,突破了傳統(tǒng)上小作坊式的研發(fā)方式?!?nbsp;李紹俊總結(jié)說。
隨著軟件的發(fā)展,軟件的開發(fā)模式也經(jīng)歷了一些發(fā)展階段的變化,由早期的瀑布開發(fā)模式演進(jìn)到敏捷開發(fā)模式?,F(xiàn)在超圖的軟件開發(fā)全部采用敏捷開發(fā)模式開發(fā),兩周一迭代。
生死線問題:質(zhì)量保障
伴隨著企業(yè)的發(fā)展,很多公司都會出現(xiàn)產(chǎn)品線越來越長、產(chǎn)品的規(guī)模也越來越大的情況,而研發(fā)體系的質(zhì)量保障是非常敏感甚至是一個生死線的問題。超圖的產(chǎn)品質(zhì)量怎樣保障?李紹俊介紹說在超圖有一套體系——“自動測試+持續(xù)集成=品質(zhì)持續(xù)提高”的軟件研發(fā)體系。據(jù)了解,現(xiàn)在超圖的軟件規(guī)模已經(jīng)非常大了,平臺軟件總的有效代碼數(shù)已經(jīng)突破500萬行,代碼總量已經(jīng)相當(dāng)于半個Linux的代碼量了。這么大體量的代碼,它的研發(fā)管理包括質(zhì)量控制,對于軟件研發(fā)體系來講都是比較大的難題,這就需要一個軟件研發(fā)體系的支撐。
以前軟件測試往往聚焦在軟件測試方法上,包括單元測試之類的,實際上任何事當(dāng)規(guī)模大到一定程度,本身也會由量推演到質(zhì)變。“超圖早期時,研發(fā)有個非常明確的崗位叫軟件測試工程師。而現(xiàn)在超圖研發(fā)中心里已經(jīng)沒有這個崗位了。以前軟件測試工程師就是做軟件測試,大量的工作是拿鼠標(biāo)點(diǎn)、拿鍵盤敲,測試軟件的響應(yīng),也就是結(jié)果是否正確。而現(xiàn)在,測試工程師的職責(zé)發(fā)生了非常大的轉(zhuǎn)變,現(xiàn)在測試工程師已經(jīng)不像以前那樣工作了,是編寫測試程序。現(xiàn)在軟件測試工程師已不再是以前那個意義上的軟件測試工程師了,他本身也是一名軟件開發(fā)工程師,只不過他做的開發(fā)是測試用例開發(fā)也就是測試程序的開發(fā)。” 李紹俊解釋說500多萬行代碼靠人工點(diǎn)不過來,覆蓋不過來,肯定有漏掉的一些領(lǐng)域。現(xiàn)在軟件測試已經(jīng)不再單純依靠人工的測試,而要依靠自動化的測試。
在超圖的自動化測試體系中,自動化測試程序要求有幾類的覆蓋:功能點(diǎn)覆蓋、需求點(diǎn)覆蓋、缺陷覆蓋(所有缺陷都要有測試用例的覆蓋。確保以前出現(xiàn)過的缺陷新的版本不要再出現(xiàn))。通過這樣的體系超圖現(xiàn)在已經(jīng)累計近2萬多個測試程序。每一個測試程序里面少的會有十幾個,多個會有幾百個測試的功能點(diǎn)。
軟件規(guī)模做大了之后,還有一個讓人頭痛的就是軟件編譯,針對這個問題,超圖現(xiàn)在在研發(fā)中心采用網(wǎng)格計算的技術(shù)來加快編譯的流程。另外一點(diǎn)在軟件研發(fā)中大量采用了服務(wù)端自動化的計算能力。
除此之外,軟件研發(fā)里面還有非常重要的機(jī)制就是代碼審查。比如新員工進(jìn)來以后新員工寫的代碼可能有時候各方面考慮不是那么全面。所以超圖研發(fā)中心原來有一個機(jī)制,員工提交的代碼一定要經(jīng)過他的代碼指導(dǎo)員審核,包括團(tuán)隊里面技術(shù)負(fù)責(zé)人的審核,代碼才能提交到庫里面去。也就是說至少要有兩個審核點(diǎn)才能集成到這個庫里面去。雖然流程描述起來簡單,真正做起來的時候其實很痛苦。李紹俊介紹說,后來超圖結(jié)合第三方軟件,打造出了一個代碼審查的體系,相當(dāng)于通過信息化來提升這塊的工作效率。不僅僅可以做代碼審查,也可以看到研發(fā)團(tuán)隊工作量,都是一目了然?!?BR> “我們現(xiàn)在已經(jīng)形成了一個研發(fā)體系,通過一些信息化的手段來提升軟件研發(fā)的工作效率,實現(xiàn)創(chuàng)新2.0時代的軟件研發(fā)?!袄罱B俊總結(jié)說。
通過這樣一些體系,超圖在GIS領(lǐng)域也做出了比較大的創(chuàng)新點(diǎn):
2004年:跨操作系統(tǒng)GIS(高性能支持Linux);
2009年:軟件產(chǎn)品二、三維一體化創(chuàng)新;
2011年:全功能移動GIS;
2013年:云GIS軟件技術(shù);
2014年:對傾斜攝影三維的支持。