華為軟件開發云使用分享:秒殺現有研發團隊協作工具
一、研發痛點
在傳統的開發模式下,研發過程分為需求階段、設計階段、開發階段、測試階段和維護階段, 整個過程存在很多痛點。
1、人員成本高
每個階段都需要有對應人員,這些人員通常屬于不同部門,人員分工較細,數量較多。
2、迭代速度慢
完成一個軟件研發過程,需要至少5個階段,階段之間是串行關系,環環相扣。一個階段完成了,才能進入下一個階段。階段和階段之間有大量的評審和文檔生成,非常耗時。造成整個研發過程持續時間非常長,通常需要幾個月的時間才能完成一個迭代。
3、開發質量管控難
由于整個研發過程中,前一個階段是后一個階段的輸入,一旦前一個階段出現問題,就會導致后一個階段出現問題。并且,最終的產品要到最后一個階段才能看到。發現問題的時候,通常已經到了最后階段,造成修改問題的代價非常大。為了管控質量,不得不依賴于大量的評審和文檔,難度非常大。
二、使用軟開云的先決條件
建立一個敏捷開發組織是使用華為軟件開發云的先決條件。
1、傳統研發組織
傳統研發組織通常如下所示:
傳統研發組織是對應傳統研發過程而產生的組織架構,職能化特征明顯。部門之間極有可能存在部門墻。打破部門墻要產生大量的溝通和協調工作。這需要一名強有力的項目經理才能完成這一挑戰。
2、敏捷開發組織
敏捷開發組織是一個全功能的團隊,通常如下所示:
我們會按照功能特性組建<10人的全功能團隊,俗稱“2披薩團隊“,可以實現業務快速開發、決策與上線,角色的作用如下:
PO:Product Owner,負責產品規劃、設計、分析
運營:負責產品運營
UE:UCD工程師,負責用戶研究、交互設計、美工、視覺
SL:特性經理Service Leader,對應敏捷模式Scrum Master,帶領團隊進行開發
TL:技術leader,對應于系統工程師SE,負責架構、系統設計
開發:負責代碼實現
測試:負責測試驗證
運維:負責部署、發布、運維、監控
三、軟開云解決了什么問題
華為軟件開發云實際上解決了敏捷開發過程的管控問題,一個典型的敏捷開發過程可分為如下階段:
1、需求規劃
這個階段由PO負責,會把項目需求逐層分解:Epic->Feature->Story,軟開云提供了很好的工具:
從Story分解到Task(開發任務),需要SL介入,每個開發任務對應哪個Story,關系一目了然。
2、代碼開發
華為軟件開發云提供了代碼托管和代碼檢查服務:
代碼托管
代碼托管服務支持三種新建方式:普通新建、按模板新建和導入外部倉庫。如果擔心代碼安全,可以把代碼放到華為云以外的服務器,然后通過“導入外部倉庫”方式導入,但是服務器必須通過外網ip地址能夠訪問,同時不支持代碼提交時自動觸發代碼檢查。
代碼檢查
支持多種語言的代碼檢查,基本上常見的開發語言如Java、C++、C#、JavaScript、Python、Go等都已囊括。同時內置了非常全的代碼規則集。取代Sonar、Findbugs等工具完全無壓力,同時跟流水線集成得很好。
3、編譯構建
支持從華為軟開云、GitHub和通用Git取代碼進行編譯構建。同時支持22種構建工具,包括Maven、Gradle、Ant、Npm等常用工具。
4、軟件測試
提供測試管理、移動應用測試、接口自動化測試和性能測試,值得肯定的是,接口自動化測試能夠通過流水線跟代碼開發任務、編譯構建任務等其他任務很方便的集成到一起,對實現CI/CD意義重大。不足之處是不支持UI自動化測試。
5、部署發布
支持4種部署模板,包括:SpringBoot應用部署、Tomcat應用部署、Docker應用部署(Linux)和容器應用部署(CCE/CCI)。
通過流水線,我們可把代碼托管、代碼檢查、編譯構建、軟件測試和部署發布任務集成起來,實現代碼提交以后的一系列自動化操作,最終實現CI/CD,能夠極大的提升我們的研發效率。
四、結論
華為軟件開發云作為一種敏捷開發過程的管控工具,對我們踐行敏捷開發提供了很大的幫助。通過流水線等一系列工具,我們能非常容易和快速地實現CI/CD,而實現CI/CD是實現敏捷開發的必要條件。
然而,華為軟件開發云畢竟是一種工具,如果不能深入理解敏捷開發的理念,也沒有對應的敏捷型開發團隊來使用該工具,那么使用華為軟件開發云的效果將會事倍功半。
敏捷開發 軟件開發平臺 DevCloud
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。