TAPD助力FIT2CLOUD飛致云馳騁開源疆場
本文將帶你了解FIT2CLOUD飛致云眾多開源項目背后的研發(fā)體系,包括如何借助騰訊TAPD敏捷研發(fā)協(xié)作平臺實現(xiàn)高效的研發(fā)與協(xié)作,保障眾多開源項目的持續(xù)迭代。同時介紹騰訊TAPD如何與我們自身MeterSphere開源持續(xù)測試平臺、DataEase開源數(shù)據(jù)可視化分析工具強強結合,發(fā)揮出各自更大的價值。
飛致云是誰?
FIT2CLOUD飛致云創(chuàng)立于2014年,秉持“軟件用起來才有價值,才有改進的機會”的核心價值觀,致力于成為中國數(shù)字化團隊首選的通用工具軟件提供商。2017年11月,飛致云收購JumpServer開源堡壘機項目。以此為契機,飛致云近年來持續(xù)加大在開源軟件研發(fā)、運營方面的投入,不斷拓展開源軟件產品線,旗下開源產品既有廣受歡迎的JumpServer開源堡壘機(GitHub Star 20k+)、人人可用的開源數(shù)據(jù)可視化分析工具DataEase(GitHub Star 9.2k+)、一站式開源持續(xù)測試平臺MeterSphere(GitHub Star 9k+)和強大易用的開源建站工具Halo(GitHub Star 26k+),也有冉冉升起的新星1Panel開源Linux面板(GitHub Star 1.5k+),產品涵蓋了運維安全審計、BI分析、軟件測試、建站等多個領域。
經歷了五年多的持續(xù)投入和運營,飛致云旗下開源軟件在企業(yè)數(shù)字化團隊中的影響力不斷擴大。根據(jù)國內知名的開源社區(qū)聯(lián)盟開源社發(fā)布的《2022中國開源年度報告》顯示,在“中國企業(yè)OpenRank排名Top30”中,F(xiàn)IT2CLOUD飛致云排名第六位。

之所以能取得這樣的排名,離不開FIT2CLOUD旗下開源項目表現(xiàn)出的卓越成長性。從我們制作的飛致云開源大屏中便可以很直觀地感受到數(shù)據(jù)背后各個項目的生機與活力。

優(yōu)秀開源項目背后的研發(fā)體系
“一枝獨秀不是春,百花齊放春滿園”。一款產品的成功可能來源于偶然,但多款產品都能取得優(yōu)異成績必定有著一些共性的原因。我們認為這是FIT2CLOUD飛致云產品觀的勝利?!昂玫能浖a品是迭代出來” 是FIT2CLOUD飛致云一貫秉持的產品觀。在所有我們的工作中,幫助用戶更好地把產品用起來從來都是第一要務。在用起來的基礎上,我們的產研團隊會收集到來自用戶的廣泛反饋,堅持按月發(fā)布功能版本, 按需發(fā)布補丁版本。
從上面的開源大屏中可以看到,我們的月均Release是12.3個,基本上隔一天就會有某一款產品發(fā)布新版本。
可能對于一些互聯(lián)網企業(yè)來說,這樣的發(fā)版速度算不了什么,但放在2B領域里如此頻繁的發(fā)版確實是一個不小的挑戰(zhàn)。之所以能夠一直堅持下來,離不開背后高效研發(fā)體系的支撐。套用下CI/CD的概念,可以認為我們的產品都處在這樣的一個持續(xù)迭代循環(huán)之中,大體上會包含需求管理、版本規(guī)劃、開發(fā)實現(xiàn)、測試管理、發(fā)布和反饋這幾個環(huán)節(jié)。

在整個研發(fā)流程中,我們借助了騰訊TAPD敏捷研發(fā)協(xié)作平臺來實現(xiàn)高效的研發(fā)與協(xié)作。

騰訊TAPD是一款由騰訊公司自主研發(fā)的敏捷協(xié)作平臺,為企業(yè)產品研發(fā)項目全生命周期與團隊協(xié)同提供專業(yè)的解決方案。在騰訊內部支撐了QQ、微信、王者榮耀等眾多核心業(yè)務的研發(fā)管理和敏捷實踐。目前已服務數(shù)十萬家企業(yè)客戶,覆蓋金融、游戲、高科制造、智慧零售等數(shù)十個行業(yè)大類,成功為中金公司、方正證券、嗶哩嗶哩、同程藝龍、米哈游、樸樸超市、南方航空、創(chuàng)維、廣汽豐田等各行業(yè)企業(yè)提供行業(yè)領先的敏捷協(xié)作方案,提升企業(yè)協(xié)作效率和研發(fā)效能。得益于TAPD強大的開放集成能力,我們也通過TAPD實現(xiàn)了與企業(yè)微信、騰訊會議、Jenkins、GitHub等外部工具,及MeterSphere持續(xù)測試平臺和DataEase數(shù)據(jù)可視化分析工具等諸多系統(tǒng)的對接。

需求管理:目前我們的需求來源多種多樣,有GitHub倉庫中的Issues,有社區(qū)交流群中用戶的實時反饋,也有客戶成功、售前團隊的交流總結。所有的這些需求會統(tǒng)一錄入到TAPD中進行管理,各個產品的產品經理會對所有這些需求進行分析。某個需求要不要做、為什么要做/不要做、要做成什么樣子都是需要在這個環(huán)節(jié)確定的內容。通過TAPD完善的自定義狀態(tài)和狀態(tài)流轉功能,我們可以很方便地對需求的生命周期進行管理和跟蹤。
版本規(guī)劃:當某個需求確定要做之后,產品經理會綜合各方面因素決定這個需求規(guī)劃的版本和優(yōu)先級。我們主要使用到了TAPD的迭代功能來規(guī)劃版本發(fā)布內容和時間。另外在臨近發(fā)布時,我們還會配合發(fā)布計劃功能,進一步跟蹤各項任務的完成情況。
開發(fā)實現(xiàn):在開發(fā)實現(xiàn)環(huán)節(jié),除了開發(fā)人員各有所需的 IDE 工具以外,TAPD和GitHub也是他們需要每天打交道的軟件之一。目前我們所有的開源項目代碼都托管在GitHub上,并且使用了action腳本進行了Gitee倉庫的自動同步。同時TAPD中我們配置了跟GitHub的代碼關聯(lián)功能,當GitHub倉庫有代碼提交時便會通過指定的webhook地址通知到TAPD。開發(fā)人員只需要在commit消息中攜帶特定格式的需求/缺陷ID,便可以將commit記錄與TAPD上的需求/缺陷進行自動關聯(lián),方便后續(xù)追蹤。


TAPD還貼心的提供了一鍵復制提交關鍵字的功能, 通過這個功能可以快速幫助開發(fā)人員得到一條符合要求的提交信息。

測試管理:軟件行業(yè)有句話叫“Eating your own dog food”,自己的軟件產品自己都不愿意用怎么能指望別人去用呢?換句話說一款產品能滿足我們的需求,也自然能滿足與我們類似的其他公司的需求。所以在測試環(huán)節(jié)我們主要使用到了自己的開源測試平臺MeterSphere?;旧?strong>MeterSphere的測試跟蹤、接口測試、UI測試、性能測試這幾個功能模塊我們自己的研發(fā)測試團隊都有在深入使用。對MeterSphere功能的使用,既能滿足團隊自身需求,也能對MeterSphere進行進一步測試,可謂是一舉多得。


另外在測試環(huán)節(jié)也少不了TAPD的身影。整個測試過程中十分關鍵的缺陷管理工作,目前我們是依托于TAPD來完成的。同需求類似,所有GitHub Issues中的缺陷在經過確認后也會錄入到TAPD中進行統(tǒng)一管理。通過TAPD的自定義狀態(tài)流轉和自定義字段功能,配合上企業(yè)微信的TAPD通知,每一個缺陷都可以及時得到妥善處理,缺陷原因和影響范圍也可以得到充分記錄。

除此之外TAPD上還提供了豐富的報表功能,我們既可以在發(fā)布前洞悉整體的質量情況,做到發(fā)布不慌;也能夠在發(fā)布后進行歸納總結和復盤,吸取經驗教訓。

發(fā)布:在構建發(fā)布環(huán)節(jié)不同的團隊會有些許差異,但都不外乎GitHub actions和Jenkins兩種方式。這兩種方式都實現(xiàn)了CICD as Code的效果,所有的構建、打包、發(fā)布過程都以文件的形式包含在代碼倉庫中,針對這些過程的變更也都清晰可見。
反饋:針對產品的反饋整體上可以分成需求和缺陷兩大類。GitHub Issues是我們針對社區(qū)用戶進行反饋收集的主要陣地,所有用戶都可以直接通過創(chuàng)建GitHub Issue的方式來提出自己針對產品的想法、需求和問題,我們的項目組成員也會在盡量短的時間內進行回復確認。除了GitHub Issues之外,客戶成功和售前團隊也是我們產品需求的另一大來源。我們的產品團隊與客戶成功及售前團隊會進行定期會議溝通,統(tǒng)一處理他們日常工作中收集的各類需求和問題。
MeterSphere與TAPD的有機整合
TAPD的標準功能中,支持在Jenkins等持續(xù)集成工具的任務里添加 “TAPD自動化測試報告解析” 步驟,用來解析一些自動化測試框架的測試報告。除此之外還有很多團隊會選擇建設一個測試平臺來滿足測試人員的需求,對于這兩種方案對比起來各有優(yōu)劣,在實際落地場景中不同的團隊也會有不同的選擇,這里不過多討論這個話題。

我們這邊選擇的MeterSphere持續(xù)測試平臺,很好地補充了TAPD在測試尤其是自動化測試方面的功能。

在MeterSphere中可以通過API的方式與TAPD進行對接,將MeterSphere中的項目與TAPD項目進行關聯(lián)。


對接之后我們在MeterSphere中編寫測試用例時便可以直接關聯(lián)TAPD上已有的需求,在對用例進行測試時也可以直接在MeterSphere創(chuàng)建缺陷到TAPD里進行統(tǒng)一管理。

同時MeterSphere也提供了功能用例與接口測試、UI測試與性能測試的關聯(lián)功能,這樣所有測試相關的內容就都被關聯(lián)在了一起,無論是從需求追蹤各種類型的測試用例,還是從缺陷、用例去回溯原始需求都變得十分方便。
DataEase對TAPD的數(shù)據(jù)展現(xiàn)
在項目進行中的各個階段我們都需要對項目狀態(tài)進行各種形式的跟蹤、分析及可視化展示。雖然TAPD上已經提供了很好用的報表功能,但是在數(shù)據(jù)來源、圖表類型、頁面布局等方面與專門的BI分析工具還是有些差距的。比如跨項目的匯總分析,基于現(xiàn)有數(shù)據(jù)的二次計算,或者需要與外部系統(tǒng)的數(shù)據(jù)進行整合分析等需求在TAPD中都不能直接滿足。所以我們在實際工作中使用到了我們的DataEase數(shù)據(jù)可視化分析工具,對TAPD上的數(shù)據(jù)進行了進一步的可視化展示。
在DataEase中我們可以通過添加API數(shù)據(jù)源的方式,調用TAPD提供的API接口將需要的數(shù)據(jù)依次添加到DataEase中并配置定時同步任務。


對數(shù)據(jù)進行進一步校對和處理之后,通過簡單的拖拽點擊操作便可以得到類似下圖的研發(fā)項目概覽儀表盤。
TAPD對飛致云的價值
像上文提到的那樣,我們所有產品在各個渠道收集到的需求和缺陷全部會錄入到TAPD中進行統(tǒng)一處理。可以說TAPD就像是我們各個產品的一個集散中心和交通樞紐,所有的信息都在這里得到匯總,任務都在這里得到分發(fā),流程都在這里得到銜接。
TAPD很好地滿足了我們在研發(fā)項目管理上的各種需求,基本上我們在使用過程中產生的一些需求和想法都可以通過各種靈活的配置進行實現(xiàn)。另外隨著TAPD使用的不斷深入,現(xiàn)在不僅是我們的產品研發(fā)團隊在使用,也有很多其他團隊在使用TAPD進行各種形式的項目管理工作。
未來,希望我們能更好地發(fā)揮TAPD的能力,將之前沒有用到的一些高級功能也充分利用起來。例如之前我們一直想將GitHub上的Issues與TAPD中的需求/缺陷進行同步,簡化我們對GitHub Issues的維護工作。前段時間上線的自動化助手功能,配合上GitHub Actions看起來就可以很好地解決這個問題。再比如對于研發(fā)效率、產品質量的度量,我們也希望能夠在現(xiàn)有TAPD儀表盤的基礎上,結合上GitHub的提交記錄以及MeterSphere上的用例執(zhí)行情況等信息,進行進一步的優(yōu)化。
攜手共進
隨著我們TAPD使用越來越深入,接觸了解的用戶越來越多,我們發(fā)現(xiàn)在我們30萬的開源用戶群體,2000家的企業(yè)客戶中,TAPD和飛致云的開源產品(尤其是MeterSphere、JumpServer等)高度重合,在企業(yè)客戶具體實踐中,很多客戶同時采用TAPD和JumpServer落地安全運維、工單、審計流程,采用TAPD和MeterSphere搭建企業(yè)DevOps流水線。飛致云也在2022年正式成為騰訊TAPD的官方合作伙伴,補齊企業(yè)持續(xù)測試、安全運維等核心環(huán)節(jié),共建騰訊云原生生態(tài),攜手為中國數(shù)字化團隊提供更開放、更易用的通用工具和平臺。
如果你也在使用TAPD進行項目管理,同時又在尋找自動化測試及可視化分析的補全方案,相信我們的MeterSphere開源持續(xù)測試平臺和DataEase數(shù)據(jù)可視化分析工具肯定也可以滿足你的需求。如果你還沒有使用TAPD,那還在等什么呢?
文章來源:本文轉載自騰訊云產業(yè)生態(tài)圈公眾號。