(文/3sNews高級編輯 陳啟臨) 位于超圖軟件公司(以下簡稱“超圖公司”或“超圖”)辦事大樓7層內一個帶有獨立門禁的神秘開發(fā)室,它隸屬于超圖的研發(fā)中心,外部人員甚至是非該開發(fā)室的人員都不被允許擅自闖入。
但倘若有幸被這里的內部人員帶入其中,你便能發(fā)現(xiàn)在開發(fā)室門里側的一個平臺上立著一塊屏幕,屏幕中不間斷地刷出一行行程序代碼似的字符串。
這個屏幕其實是超圖GIS平臺軟件的自動化測試體系的一個監(jiān)視環(huán)節(jié),其背后這個開發(fā)室所運營著的一整套系統(tǒng),用于保障超圖旗下所研發(fā)的GIS平臺軟件的質量,對軟件BUG進行檢測。
超圖公司CTO李紹俊告訴3sNews,軟件行業(yè)長期以來普遍需要訓練有素的軟件測試工程師,針對軟件新功能進行測定,發(fā)現(xiàn)其中的BUG并提交程序員改正問題;這個崗位至今在IT領域開發(fā)向崗位中占有有非常重要的位置。
但對現(xiàn)在的超圖的GIS平臺研發(fā)體系來說,已經(jīng)沒有軟件測試工程師這個崗位的設定,或者說,這群本該是“軟件測試工程師”的技術群體,已經(jīng)轉變?yōu)樽詣踊瘻y試體系的開發(fā)者。他們已經(jīng),并且還在繼續(xù)打造這個測試體系,目的就是讓GIS平臺軟件里迭代出來的新功能、體驗或者服務可以被智能地、自動化地挑出問題,并有效率地快速通知給功能開發(fā)的相關負責人。
數(shù)據(jù)表明,超圖GIS平臺軟件的代碼總和接近500萬條,這大約是開源系統(tǒng)Linux代碼總量的一半。這也是為什么,超圖要在占營收4成多的研發(fā)費用當中,必須集中財力和人力要做好一個質控體系的原因之一。當然,還有一些趨勢和驅動力,也進一步印證超圖在這方面的投入是恰當?shù)膽?zhàn)略選擇。
從瀑布開發(fā)到敏捷開發(fā)
和大多數(shù)國產(chǎn)軟件的成長歷程相似,李紹俊提到,超圖的GIS軟件平臺也經(jīng)歷從追隨國外軟件,到簡單的微創(chuàng)新,再到自主研發(fā)和創(chuàng)新的全過程。
在這樣的成長趨勢下,GIS平臺軟件緊隨應用市場需求的變化,迎來了更多改變和完善產(chǎn)品自身的契機。
“過去針對產(chǎn)品的研發(fā),我們逐步形成了自上而下的創(chuàng)新機制,公司的決策層集中負責把握技術前沿與發(fā)展趨勢,并據(jù)此進行產(chǎn)品的改進與迭代。”李紹俊說,“但隨著產(chǎn)品體量的增大,以及細分應用領域的增多,產(chǎn)品的創(chuàng)新機制開始有了一定的調整,到現(xiàn)在,我們既有自上而下的創(chuàng)新,也形成自下而上的創(chuàng)新,而且更以后者的創(chuàng)新模式為主。”
這種自下而上的創(chuàng)新思考,源于與市場對接最為密切的一線開發(fā)者。李紹俊提到,越來越多的一線開發(fā)人員正在向他們的上級或高層領導提出他們的看法,并申請改進原有產(chǎn)品存在的不足。另外值得一體的是,作為平臺廠商,來自超圖上游和下游的合作伙伴,特別是一些二次開發(fā)商也開始參與到平臺軟件的開進過程中來。
對此,超圖內部成立了一個評審組織,面對各方開發(fā)人員提到的一些點子,設有專門的評審人員進行評定,評定方向有二:其一是改進想法能否切實為客戶帶去價值,其二是這樣的改進是否可以帶來市場回報;最后再結合相關的投入產(chǎn)出比分析,評審會最終裁決是否接納這項改進。錯誤的創(chuàng)新點固然不會進入研發(fā)的流程,一旦改進建議得到肯定,則會進入流程,成為產(chǎn)品更新的一個模塊。
正是有了一個個模塊化的產(chǎn)品功能更新方式,超圖GIS平臺軟件逐步改變了版本迭代的方式。李紹俊提到,他們正是從軟件的瀑布開發(fā)模式,向敏捷開發(fā)模式轉變。從2008年開始,敏捷開發(fā)成為了超圖GIS平臺軟件的主要開發(fā)模式。
開發(fā)人員非常清楚瀑布開發(fā)模式的價值和重要性,這種模式要求開發(fā)團隊嚴格遵守既定的框架來開發(fā)程序,它有著明確的周期性和戰(zhàn)略性;但該模式的缺點則在于開發(fā)期內在團隊內部缺少甚至沒有任何在意見方面的交流,甚至還帶有一定的盲目性和滯后性,對于快速的市場變化,更不能適應。瀑布開發(fā)模式的周期一般從半年到一年不等,這對超圖的GIS平臺軟件開發(fā)來說,以這種模式進行產(chǎn)品迭代,往往具有不確定性,甚至會出現(xiàn)迭代的滯后。
相對的,敏捷開發(fā)模式則以需求為導向,其最大的特點是開發(fā)和迭代周期短,在移動互聯(lián)網(wǎng)時代,大多數(shù)移動應用軟件的迭代周期短則幾天,長也基本不超過一個月。對GIS平臺軟件而言,李紹俊表示他們的迭代周期大約是兩周左右;而超圖的產(chǎn)品更新戰(zhàn)略是,當經(jīng)歷若干次的產(chǎn)品迭代之后,他們就會基于這些更新推出一個重大的版本。
GIS平臺軟件的開發(fā)人員對客戶需求理解上的差異、以及針對隨時的需求所須作出的更新,是采用瀑布開發(fā)模式時出現(xiàn)拖延、返工的根源,也是采用敏捷開發(fā)模式時,實現(xiàn)快速更新、迭代的契機。一言以蔽之,李紹俊如是總結。
至于超圖所長期貫徹的敏捷開發(fā)模式與目前的質控體系到底存在怎樣的關聯(lián),答案其實不言而喻。而李紹俊則強調,隨著超圖GIS平臺軟件迎合市場的需求,其細分產(chǎn)品線越來越復雜,如果不能保證產(chǎn)品的質量,將事關品牌公信力甚至是企業(yè)的生存與否。超圖的質控體系對于超圖研發(fā)中心而言,盡管還面臨諸多挑戰(zhàn)和難題,但它對于產(chǎn)品質量的支撐,到市場應用的穩(wěn)定,再到企業(yè)的長青發(fā)展,都值得超圖為此持續(xù)不斷地投入。
遵循工業(yè)4.0:智能化、數(shù)據(jù)化、去人工化
超圖質控體系的核心功能,是針對每一個更新模塊編寫用例(為某個特殊目標而編制的一組測試輸入、執(zhí)行條件以及預期結果,以便測試某個程序路徑或核實是否滿足某個特定需求)進行測試。這其中包括了對基礎功能的測試,需求點的測試,以及缺陷的測試。針對不同的測試方向,質控體系下的“測試工程師”們已經(jīng)開發(fā)了超過3萬條的測試用例來驗證所有更新模塊的質量。一旦測試出現(xiàn)問題,系統(tǒng)便會立即通知模塊的開發(fā)者,告知其修正和改進。
但質控體系不僅如此,李紹俊提到,IT行業(yè)至今為止還沒有一家企業(yè)能基于整個軟件研發(fā)的流程搭建一站式的平臺。這包括代碼的集中管理、審查、編譯,以及測試、打包、版本管理等全部流程,甚至還包括結合云計算技術,提升這些流程的處理效率。超圖公司采取的做法是,通過自主研發(fā)、購買或二次開發(fā)相應的軟件,再以技術手段將軟件開發(fā)服務整合到一起。
目前超圖的質控體系實際上更是“質控體系+持續(xù)集成的軟件研發(fā)體系”的體系,從某種角度來看,這不妨可以說是從外圍不斷做大進而加強質控的一種方式。具體而言,比如持續(xù)集成的軟件研發(fā)體系涵蓋利用云計算技術,對代碼進行快速的編譯,也能在代碼審查環(huán)節(jié),提升團隊信息化操作的水平。與此同時,在體系內部還構建了團隊交流和KPI機制,便于高層面向基層開發(fā)人員的管理,以及開發(fā)團隊之間的互動。
從特定意義上來看,超圖的GIS平臺軟件研發(fā),是在迎合工業(yè)4.0概念中所提到的那些核心思想。這樣的觀點,李紹俊是其認同者。在他看來,GIS平臺軟件的開發(fā)遵循工業(yè)4.0的理念,力求做到智能化、數(shù)據(jù)化、去人工化,能提高效率、降低成本,并根據(jù)海量的需求,倡導產(chǎn)品定制化和多元化。至少,從現(xiàn)在到將來,超圖會通過用戶及合作伙伴,據(jù)此不斷優(yōu)化軟件開發(fā)流程,并力爭將產(chǎn)品的質控,做出他們所希望的那般極致。
{{item.content}}