客戶今天提出需求,明天就想要?
友商發(fā)布了新產品,這個功能我沒有,可能被趕超?
無論是客戶需求,還是市場競爭,都對我們產品的迭代提出了更快更好的要求。在此情景下,我們需要盡量壓縮產品的迭代周期、控制版本延期率,以增強產品競爭力,提高客戶滿意度。
那怎么才能壓縮產品迭代周期呢?
產品迭代規(guī)模越大,開發(fā)進度越難掌控,風險也會增加,我們需要更好地調整開發(fā)節(jié)奏,以增強抵抗風險和控制的能力。為此,我們在實際開發(fā)中引入了敏捷的思想,在迭代規(guī)模和開發(fā)流程(測試方法)上做了一些調整,希望在敏捷和To B企業(yè)的軟件產品開發(fā)之間做到較好的結合,詳見方法1與方法2。
自動化是我們可以探索的另一個途徑。自動化可以代替部分的手工操作,也可以減少人為錯誤的機率,幫助團隊利用更少的資源做更多的工作以提高效率。我們在開發(fā)和測試階段分別做了一些自動化嘗試,詳見方法3。
方法1:迭代規(guī)模壓縮
我們發(fā)現,當前公司存在較多開發(fā)周期超1個月、迭代周期超過3個月的產品,過長的迭代周期易導致開發(fā)和測試環(huán)節(jié)的工作難以把控時間,延期率過高。
于是,我們通過控制需求量,調整產品開發(fā)迭代節(jié)奏,原本開發(fā)周期為4周甚至更久,逐步壓縮到3周,再壓縮到2周。
如下是產品A首次控制迭代規(guī)模后的效果,相對延期率從18.09%降至9.59%。實際開發(fā)中,測試時長從占比開發(fā)時長的48.39%,降至44.90%。
方法2:改輪次測試為批次測試
一個軟件產品迭代的開發(fā),我們可以簡單認為其流程如下:
1)輪次測試
當前公司進行的是輪次測試,具體見下圖:
通過上圖我們可以看到,輪次測試下的產品迭代流程基本是串行的,每個輪次的測試都要等前一輪測試全部完成才可開始,這之間消耗了大量時間。而若產品質量無法達到驗收標準,還會繼續(xù)走第四輪,甚至更多輪的測試
在代碼開發(fā)時,兩個互相沒有依賴關系的需求,其實是可以通過快速跟進的技術,做到部分需求并行開發(fā),以實現產品迭代周期的壓縮。于是,我們開始調整輪次測試為批次測試。
2)批次測試
當某產品迭代系統設計評審完成后,開發(fā)人員可以對當前迭代需求進行批次劃分,要求各批次需求之間互相獨立,每批需求可單獨提測。
開發(fā)人員完成第一批需求的代碼開發(fā)后,可對第一批需求進行提測,測試人員開始測試;與此同時,開發(fā)人員開始進行第二批需求的代碼開發(fā)工作;以此類推。
注意!開發(fā)人員排期時,請在兩批次的需求開發(fā)中,預留一定的Bug修復時間。
3)實例
我們仍舊以產品A的迭代開發(fā)為例,看看產品迭代開發(fā)轉批次測試的效果。此處需要注意,我們持續(xù)在控制迭代規(guī)模。
從相對延期率可以看出,在執(zhí)行了批次測試后,產品迭代的延期率受到了有效的控制,迭代5甚至做到了延期率為0。
方法3:自動化
1)持續(xù)集成平臺
公司本身已有CI/CD的自動化工具,但其他產線前期并未用起來。
經各產線研發(fā)總監(jiān)推動,我們開始使用持續(xù)集成平臺,集成研發(fā)工具幫助企業(yè)實現持續(xù)集成/持續(xù)部署(CI/CD)。研發(fā)人員完成代碼編寫后,提交代碼即可觸發(fā)流水線,構建完后隨流水線自動完成環(huán)境部署。
上線平臺前,產品A迭代1開發(fā)人員完成全部代碼開發(fā)、部署代碼至線上后才能了解整體功能的實現情況。持續(xù)集成平臺建成后,開發(fā)人員可以隨時線上自測,代碼質量進一步提高。
持續(xù)集成平臺的引入,幫助我們更高效地進行業(yè)務交付,同時也強化了我們對研發(fā)過程的整體管控,滿足數字化建設下業(yè)務快速迭代的要求。
2)自動化測試
通過自動化測試,可以有效幫助解決測試時長和測試覆蓋率的問題,提高測試工作效率。
產品A自迭代3開始執(zhí)行接口自動化測試。測試會在新的迭代做上一個迭代的P0級自動化測試,要求產品同一個大版本內要保證接口向下兼容。
企業(yè)持續(xù)交付好幫手——嘉為藍鯨CCI持續(xù)集成平臺
“工欲善其事,必先利其器”,研發(fā)團隊可以通過各種流程和方法對研發(fā)迭代效率進行優(yōu)化,而對于規(guī)模較大的企業(yè),建立統一平臺提供工具能力更是勢在必行,平臺能力可以快速幫助組織實現效率的提升,達到事半功倍的效果。
嘉為藍鯨CCI持續(xù)集成平臺,是以藍盾CI為內核的企業(yè)級持續(xù)交付平臺,滿足數字化建設的傳統企業(yè)在提升數字業(yè)務交付效率的同時,強化對研發(fā)過程的管理,是企業(yè)實現有質量、高效率持續(xù)交付的得力助手。
在上文中,研發(fā)團隊引入嘉為藍鯨CCI持續(xù)集成平臺,利用從代碼到部署的自動化工作流程,提供從代碼拉取、代碼掃描、編譯構建、軟件部署、制品晉級到生產發(fā)布的自動化研發(fā)流程,通過快速反饋循環(huán)提高工作效率,釋放敏捷開發(fā)的強大力量,更快更好地響應業(yè)務。
嘉為藍鯨CCI持續(xù)集成平臺,滿足持續(xù)集成、持續(xù)部署到持續(xù)交付所需的一站式DevOps工藝體系,通過全自動可視化流水線+源碼監(jiān)控+質量紅線的組合能力,真正做到了高度自動化、支持多并發(fā)、能力可擴展、全程可視化和質量可卡控。
如果您有相關建設需求,歡迎聯系我們。
小結
通過迭代規(guī)模的壓縮、批次測試的推行、持續(xù)集成平臺和自動化測試的使用,公司產品迭代延期率有效得到了控制,產品A甚至做到了迭代5的延期率為0(僅作參考,實際執(zhí)行時仍會因各公司情況而有不同)。
希望本文章可以為做軟件產品研發(fā)的朋友提供一些幫助~
嘉為藍鯨CPack制品管理平臺:聯邦倉庫——助力跨團隊、跨地域、跨組織的制品資產協作
查看詳細
嘉為藍鯨CMeas研發(fā)效能洞察平臺:一鍵保存你的專屬查詢儀表板
查看詳細
嘉為藍鯨WeOps數據庫監(jiān)控新范式:以專業(yè)監(jiān)控視圖,賦能高效運維管理
查看詳細
Jira國產化替代:從合規(guī)到價值,嘉為藍鯨DevOps敏捷協同平臺的破局之道
查看詳細
嘉為藍鯨CCI持續(xù)集成平臺:掌控CI/CD全流程,流水線Stage準入讓部署更可靠
查看詳細
嘉為藍鯨CMeas研發(fā)效能洞察平臺:研發(fā)效能周報,自動推送領導郵箱
查看詳細
申請演示