Klaverblad保險公司的持續(xù)交付

責任編輯:editor004

作者:Ben Linders

2016-10-17 12:16:51

摘自:INFOQ

Klaverblad的首席信息官Kim Van Wilgen認為,持續(xù)交付應被視為敏捷項目,因為它可以將部署自動化。Van Wilgen說持續(xù)部署和微服務驗收后立即部署是可行的,但是如果你需要延期微服務的交付,事情就變得比較困難。

Klaverblad的首席信息官Kim Van Wilgen認為,持續(xù)交付應被視為敏捷項目,因為它可以將部署自動化。你必須加快小步驟,通過小的交付和快速解決問題來贏得信任。她在SwanseaCon 2016大會上就持續(xù)交付進行了發(fā)言。InfoQ通過問答、摘要和文章全面報道此次會議。

klaverblad公司是一家位于荷蘭的中型規(guī)模保險公司。這家公司最初使用的中央處理機和編程是用Cobol完成。隨著時間推移軟件變得越來越難以修改,無法滿足業(yè)務需求。于是,公司決定一切從頭開始,在新領域重新啟動。

Van Wilgen說:由于全新開發(fā)一套IT系統(tǒng)工程量浩大,因此必須要以正確的方式進行。但受公司規(guī)模的限制,我們只能用較小的團隊來實現(xiàn)。她繼續(xù)說道,這需要創(chuàng)新軟件開發(fā)的方式。他們決定采用敏捷、DevOps、持續(xù)交付和微服務為基礎的軟件開發(fā)方式。

klaverblad決定應用敏捷技術是因為他們想快速地為他們的客戶創(chuàng)造價值,并盡早獲得關于實際使用經驗的真實反饋。他們想要每日部署。然而,手動交付容易出錯,很難做到每日部署。分別部署超過200項微服務,必須依賴自動化。你不能手動檢查200個部分,Van Wilgen說。這就是為什么我們需要持續(xù)交付和DevOps,Van Wilgen解釋到。

Van Wilgen說,有很好的理由去努力達成持續(xù)交付。當你交付的越多,你的測試就可以變得越輕松;生產中的快速反饋能幫助你馬上發(fā)現(xiàn)和解決問題。持續(xù)交付也讓快速恢復成為可能,如果發(fā)生意外,你能將損失限制到最小程度。你能做更小的改變,使之更容易實現(xiàn)。而且你不需要軟件用戶提需求,因為IT技術的變化小而直觀。這也激發(fā)了團隊的工作動力,因為他們知道用戶很快就會使用他們開發(fā)的軟件。最后,通過測試和質量指標的全面自動化以及最佳實踐,軟件的質量會得到提高。

Van Wilgen解釋說,要變得敏捷,Klaverblad的文化必須隨之改變。這種變化可以通過引入新的做法來實現(xiàn),而工具又會推動這些做法。他們決定開始為他們的開發(fā)人員和測試人員提供新的工具,但結果并不像預期的那樣。測試結果不完整,幾乎沒有任何分支,監(jiān)測和日志記錄也不足。他們需要不同的方法。

Van Wilgen建議如果開始了持續(xù)交付,你就應該把它看做自動化部署的敏捷項目。寫一個待做事情的備忘錄,一步步的提高能力,優(yōu)先次序,確定最少量的可行產品,并設置每個階段,及在相應階段提交一部分成果。

Klaverblad采用持續(xù)交付成熟度模型來管理他們的持續(xù)交付過程:

這種成熟度模型在你的公司采用持續(xù)交付時,為你提供需要考慮的關鍵框架和觀點。

持續(xù)交付成熟度模型包括采用特定的工具、原則、方法和實踐。我們把它們分為五大類別:文化、組織與設計、架構與構建、部署與測試、驗證與信息,還可以加上報告。上面的分類方法遵循自然成熟度過程,按這樣的過程去規(guī)劃持續(xù)交付,將會為你可持續(xù)發(fā)展的快速轉型奠定堅實的基礎。

作為首席信息官,Van Wilgen是持續(xù)交付項目產品負責人。她決定需要做什么。整個公司各個團隊都有人為這個這個項目工作;這是團隊的努力,Van Wilgen說。

持續(xù)交付是協(xié)作,是一起工作。你必須大量學習知識以實現(xiàn)持續(xù)交付,所以要確保你有時間做這些事。Van Wilgen說明了他們如何把公司建設成為學習型公司:他們把團隊變?yōu)镈evOps團隊,并提供指導,人們可以從行會、黑客馬拉松和知識活動中互相學習。

Van Wilgen說持續(xù)部署和微服務驗收后立即部署是可行的,但是如果你需要延期微服務的交付,事情就變得比較困難。比如當一個功能被拒絕,或如果你由于產品營銷原因想推遲時,這種事情就會發(fā)生。一些微服務的更改將要交付,而其他微服務的更改的交付要被延遲。在這種情況下,你正在交付的產物是不同于已在你的建立的發(fā)布管道的不同階段完成了測試的東西。

你不能測試所有版本的微服務可能的組合,這有太多了。Van Wilgen解釋了他們目前的做法:當功能做好,你可以直接交付的時候即時交付,對可能需要晚點交付的事項做一個功能分支或切換。這樣你會發(fā)現(xiàn)原來大部分功能都可以立即交付;Van Wilgen解釋了他們如何“挑選”需要不同解決方案的功能和接下來決定如何為它們做集成測試。

你們公司準備好持續(xù)交付了嗎?Van Wilgen認為,大部分公司都沒有;他們想要但并沒有對此進行思考。他們期待當出錯時有一攬子回退解決方案。他們希望看到手動用戶驗收測試。他們還是想要用戶提出需求、提供文檔并溝通需要做的改動。這就是每日交付放緩的主要原因。因此你需要管理這些利益相關者的需求。你要能解釋你不需要回退計劃:通過持續(xù)交付,當出錯時你可以馬上做出新的交付,以此來解決問題,Van Wilgen說。另外,你必須告訴他們,做小更改時,不需要用戶來提出需求。

你必須要加快速度,小步快跑,通過小的交付和快速解決問題來贏得信任,Van Wilgen說。強調持續(xù)交付成為重中之重。展示快速成果,強調快速交付到生產環(huán)境所能帶來的價值。

如果沒有質量把控,你不能做持續(xù)交付,Van Wilgen說。Klaverblad做代碼審查、單元測試、回歸測試、集成測試,以及自動和手動的用戶驗收測試。他們優(yōu)先做測試,并決定先做什么,后做什么。發(fā)現(xiàn)主要錯誤的測試先進行,并進行一些煙霧測試以快速找到回歸錯誤。這些小的測試將快速為開發(fā)者提供反饋。當這些測試都通過之后,那么在隨后的步驟中,將進行更廣泛深入的測試以充分檢測更改。Van Wilgen表示,產品所有者和測試人員一起工作,輸入和批準自動用戶驗收測試。

持續(xù)交付關鍵在于技術和人,Van Wilgen說。IT和企業(yè)應該共同努力,考慮項目里不同功能的優(yōu)先級和一致性提交。

查看英文原文:Continuous Delivery at Klaverblad Insurance

鏈接已復制,快去分享吧

企業(yè)網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號