從持續交付中獲得商業優勢

2021-09-17 18:13:04 字數 2927 閱讀 1753

gojko adzic在 agile tour london 2015上發表了主旨演講,關於「如何將持續交付轉變成商業競爭優勢」。infoq採訪了 adzic,主要關於向持續交付要效益、gojko的三條持續交付規則、可能出現的問題和風險、以及在持續交付中使用多版本控制。

\\infoq:您談論了企業如何才能從持續交付中獲得效益。您能給出一些案例嗎?

\\

\

adzic:我覺得企業正從持續交付中獲得利益,比如降低發布的技術風險,和加快產品上市時間,但是他們可以從持續交付中獲得更多的效益——通過從技術角度解鎖持續交付的關鍵問題和解鎖一些非常有趣的商業優勢,從而使解決方案更加有效。例如,通過整理車輛的持續交付管道,tesla(汽車製造商)能夠比競爭對手更加便宜地處理產品缺陷和召回缺陷產品(參考 tesla』s over-the-air fix: best example yet of the internet of things?)。

\\ 此外,人們很少考慮持續交付對產品體驗中非技術部分的影響——比如市場營銷和使用者期望。例如,當在 mindmup工作時,我們使用持續交付從發布中消除可能導致意外發生的因素(take away the drama),讓事情發展順利並可**。但是,消除意外因素的同時我們也遠離了令人興奮的事情。幾乎不可能讓**報道

一連串持續的小改進——因為沒有乙個單一的更新具備報道的新聞價值。

\\ 同樣,沒有軟體版本和主要更新,客戶往往會感受到更多的權益。每年乙個版本,使用者往往會付費公升級。當換成一連串持續的小改進時,使用者則希望永遠免費試用新產品。許多移動應用開發人員一直被這個問題困擾著,幾乎不可能讓現有客戶為了乙個重要更新付費,但是僅僅開發和發布免費產品並不能帶來很大的商業意義。

\

\\

infoq:您提出了gojko的三條持續交付規則。它們是什麼?

\\

\

adzic:與一套嚴肅的規則相比,更多的是類似 asimov著名的機械人三定律的文字遊戲,我試圖捕捉團隊在技術因素之外對持續交付管道產生誤解的三個關鍵問題。技術因素已經被現有的實踐和文獻覆蓋並解決,但是邁出更大的一步,看看一連串的小改變是如何把技術之外的事情搞糟的也非常的有趣。

\\ 持續交付可能不會……

\\

\\

infoq:您在演講中提到持續交付中可能會有一些問題和風險。乙個可能是提高效率可能會傷害客戶。您能給出一些案例嗎?

\\

\

adzic:當有一連串持續的更新時,許多團隊不會考慮在整個更新過程中會對客戶的會議和工作產生什麼影響。我看到過團隊要求他們的客戶在繁忙的工作日登出並重新登入,僅僅是因為軟體有乙個新的版本發布,人們徹底被新增的ui/ux混亂了。對於較大的改變,很容易在整個產品中保持ux的一致性。但是對於一連串的小改變,常常是在較長時間內更新和發布產品的一部分,所以使用者常常必須處理不一致性。這方面的乙個案例是,paypal去年實施的「新的業務面板」。我的公司在 paypal賬戶有兩種貨幣餘額,某天早上我登入上去後,總餘額讓我以為賬戶上少了數千英鎊。我花了乙個小時,試圖弄明白是否其他人獲得了賬戶訪問許可權並轉走這筆錢,或者我被騙了,但是我沒有找到任何明顯的錯誤。實際上,這筆錢還在那兒——有人重新設計了面板,使其只顯示一種貨幣,我認為應該為多貨幣客戶推遲這種設計。這不是我想要的最佳客戶體驗,但是我可以理解他們為什麼那麼做。同時,在新的業務面板準備好之前,不應該強迫客戶使用新的業務面板。

\

\\

infoq:您還提到,通過交付小的功能增量,你不再有大的發布版本可以向你的客戶推銷。對此,你有什麼解決方案?

\\

\

adzic:我現在的想法是解耦部署和發布。在我們行業中,部署和發布常常被看成一件事,但是乙個是發布**到產品的技術事件,另乙個是讓客戶可用的市場事件。通過解耦這兩件事情,我們可以從中獲利,將意外因素從部署中消除,同時仍然保持其具有新聞報道價值,從而產品特徵可以發布出去,製造最大的營銷賣點。

\\ 這是乙個需要解決的困難的技術難題,尤其是因為部署軟體的一些版本需要對某些人開放訪問,從而對其驗證和確認,但是它也需要對外面大多數使用者是隱藏的,從而製造營銷熱點。

\

\\

infoq:在您的演講中你說「沒有多版本控制的持續交付是不負責任的」。您能否解釋一下?您能解釋一下為什麼?

\\

\

adzic:能夠執行不同元件的多個版本是乙個很好的解決方案,或者是我上文列出的問題——將部署軟體的一些版本對使用者的乙個子集可見,但是其他使用者看的卻是不同的版本。我說的不是網路重新路由或者功能切換——而是一種系統性解決方案,多種版本可以並行執行,而不會中斷。如果解決了這個問題,就沒有必要中斷會議或者忙於部署——人們可以繼續使用當前版本,直到會議結束。同時也可能可以逐步發布產品——在 paypal面板案例中,他們可以向擁有乙個貨幣賬戶的使用者發布面板,並解決整個 ux一致性/迭代的問題。這同樣允許將部署從發布中解耦。這就是為什麼多版本作為乙個架構概念如此強大的原因。

\\ 與此同時,多版本開闢了一些驚人的業務功能,比如高風險或實驗性功能的溫和/逐步發布;基於1%的活躍使用者執行產品試驗,從而證明高昂的假設;對高階使用者提供預覽版;緊急修復和比以前更廉價地預防問題;圍繞營銷事件而不是技術部署能力執行營銷活動。

\

\\

infoq:對於那些希望有效應用持續交付的組織,您有沒有什麼建議?

\\

\

adzic:除了技術,你可以思索的更廣泛一點。持續交付開闢了一些驚人的商業機會,如果處理得當,就不僅僅是乙個技術解決方案。

\

\\

檢視英文原文:getting business advantage from continuous delivery

從開發到上線 實戰持續交付 李道兵

在產品的開發過程中,對資料量要求較高的 進行架構設計時如何部署是個很複雜的問題,涉及到多個層面的不同要求,七牛首席架構師李道兵在部署工具和測試以及持續整合方面給出了自己的思考。在七牛的開發者實踐日中與大家分享 從開發到上線 實戰持續交付 李道兵首先從不同的層面來分析目前的 的架構的設計,從資料庫 緩...

08 持續交付中測試管理策略筆記

缺陷意味著返工,返工意味著浪費 有效的質量控制措施 n 準確完整描述使用者需求 n 關注非功能性需求 n 質量內建在開發過程之中 n 小迴圈快速獲取驗證反饋 n 自動化 自動化 自動化 n 資訊公開透明,授權決策 n 適度架構,組織和架構匹配 n 從失敗中吸取教訓 測試金子塔和測試受創面 單元測試 ...

從滑鼠中獲得輸入 5

大部分的動作都發生在程式的onlbuttondown,onmousemove和onlbuttonup函式中.onlbuttondown初始化了三個cmainwindow類的成員變數,開始繪製過程.m ptfrom point m ptto point m btracking true m ptfro...