改變 | 解釋 | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
從Scrum到看板流程 | 在轉型之前,我們的團隊被要求按照Scrum流程工作。在轉型過程中的某個時刻,團隊可以選擇Scrum或看板流程。在幾周內,我們的大多數團隊都自發地轉向了看板。團隊享受看板過程提供的自由:即時待定項梳理,當待定項的工作完成時的即時功能演示,以及產品所有者對待定項的任何時間優先級排序(除了當前正在工作的待定項)。我們的大多數團隊至今仍在使用看板。 | |||||||||||||||||||||||||||||||||||||||||||||||||
從大需求到使用用戶故事映射的用戶故事識別 | 開發人員長期關注的一個問題是,團隊的需求太大了。它們需要很長時間來實現,並且很難測試。用戶描述映射的引入解決了這個問題。它爲團隊提供了一種結構化的方法,將大的需求分解成小的用戶故事。此外,它使所有的團隊成員都成爲用戶旅程的一部分,以及發佈計劃,並從一開始就進行討論。團隊歡迎這種方法,並逐漸掌握了它。今天,用戶故事映射是團隊協作中分解需求的默認方法。 | |||||||||||||||||||||||||||||||||||||||||||||||||
從大需求到BDD場景規格說明書(產品所有者) | 使用用戶場景映射將需求分解爲用戶場景。可以使用BDD場景進一步細分用戶場景。這種改變受到了產品所有者的歡迎,因爲它允許他們通過示例向開發人員傳達他們想要實現的內容。這是迄今爲止團隊合作的標準做法。整個團隊參與BDD場景的定義是當前仍然存在的挑戰。這對於從不同角度獲得一組場景非常重要:功能、操作、安全、性能、數據保護、監管等。場景集越豐富,團隊對用戶場景的理解就越深,測試覆蓋範圍也就越大,從而爲用戶帶來更好的質量。 | |||||||||||||||||||||||||||||||||||||||||||||||||
從部署多個產品的巨大管道到每個產品都有一個獨立的部署管道的想法 | 當在團隊協作中爲持續交付制定戰略時,我們設想每個產品都是獨立發佈的。因此,爲每個產品實現一個獨立的部署管道是必要的。這個想法很快就流行了起來,因爲每天只部署一次所有產品的巨大管道給團隊帶來了很多麻煩。能夠獨立部署成爲組織中的一項運動。然而,由於團隊缺乏實現獨立部署管道的知識和經驗,這個想法的實現具有挑戰性。這需要時間的積累。如今,所有新產品從一開始就配備了一個獨立的部署管道。 | |||||||||||||||||||||||||||||||||||||||||||||||||
從知識共享會議到使用結對作爲共享知識的手段 | 在轉型過程中的某個時刻,團隊可以自由地進行訓練,嘗試結對編程。這種做法逐漸流行起來。如今,結對是共享開發人員知識、讓新開發人員入職以及實現系統中具有挑戰性的部分的主要方式。這種做法還沒有成爲編程的通用方式。 | "}}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"變革的主要挑戰"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在轉型期間,我們遇到、減輕或解決了一些主要的挑戰,詳見下表:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"embedcomp","attrs":{"type":"table","data":{"content":"
|
西門子醫療如何同步提高軟件交付的速度和穩定性
{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在本文中,我們關注的是西門子醫療數字健康的軟件交付過程。這一過程需要遵循醫療行業的嚴格規定。我們展示了我們將這一過程向速度和穩定轉型的歷程。這兩項指標在轉型過程中同時得到改善,證實了《加速》一書中的研究成果。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"領域"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"西門子醫療是一家醫療技術公司,致力於推動創新,幫助人類活得更加健康長壽。在西門子醫療內部,團隊協作的數字健康平臺是醫療機構數字化轉型的促成者,目標是將數據轉化爲成本節約和更好的護理。該平臺爲操作、臨牀和共享決策支持提供了易於操作的解決方案。它爲將數字解決方案集成到臨牀常規提供了一個安全且符合法規的環境,促進了跨部門和跨機構的互操作性。此外,該平臺還提供了用於數據驅動決策支持的途徑和人工智能應用程序,它們出自於西門子醫療和策展合作伙伴。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"迄今爲止,已有來自75個國家的6,500多家機構和32,000個系統連接到該平臺。這使得可以在各個機構訪問超過3000萬的患者記錄。該平臺對SaaS和PaaS合作伙伴都是開放的。SaaS合作伙伴通過團隊合作數字市場提供他們現有的應用程序。PaaS合作伙伴利用團隊協作API開發新的應用程序和服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個團隊合作平臺是基於雲的。它構建在微軟Azure之上,在設計和默認情況下都具有隱私性和安全性。軟件交付的速度和穩定性是團隊協作的核心。2015年,速度和穩定性都不夠。有了這一認識,在同一年開始了軟件交付過程的轉型。轉型的目標是使軟件交付更快、更穩定。爲了實現這一目標,多年來實施了大量的人員、流程、技術和法規變革。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"轉型路線圖"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作爲轉型過程的一部分,引入了大量的新方法:HDD、BDD、TDD、用戶故事映射、結對編程、獨立的部署管道、測試DSL、SRE和看板。在InfoQ之前的一篇文章“"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.com\/articles\/continuous-delivery-teamplay\/","title":"","type":null},"content":[{"type":"text","text":"西門子醫療在團隊協作中採用持續交付"}]},{"type":"text","text":"”中對此進行了詳細描述。方法的採用和“粘性”因團隊而異。下圖描繪了轉型隨着時間推移的主要里程碑。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/09\/67\/09393e202b313b669cd7e179ac964e67.png","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2015年,改革的必要性已經變得顯而易見。作爲企業中的一個新興平臺,我們基於全企業範圍的硬件和軟件產品的法規性質量管理體系(QMS)交付,我們面臨着無法滿足的產品速度和穩定性需求的挑戰。當時,產品所有者正在打入數字服務市場,這對公司來說是全新的。對於哪些服務會與用戶產生共鳴,用戶願意爲哪些服務付費,以及哪些功能集最有價值,我們一無所知。因此,將想法轉化爲軟件的快速實驗需求很高。每兩週或每個月發佈一次軟件,並立即按需進行熱修復,將受到產品所有者的歡迎。這與我們所要做的軟件交付相去甚遠。很明顯,質量管理體系的變化需要監管部門的大量專業知識。我們開始了一項使質量管理體系更加精簡的長期計劃。在研發內部,我們更加重視自動化測試了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2016年,我們發起了BDD運動。在自動化測試改進時將它作爲一部分完成了。它對需求規範、自動化測試、測試實現、測試報告和所有角色測試結果的可理解性都有廣泛的影響。在過去,每個需求都很大,BDD的引入迫使產品所有者將需求分解成很小的用戶故事。每個用戶故事開始被整個團隊進一步分解爲一組小型BDD場景(使用Given \/ When \/ Then語句的示例說明)。團隊歡迎這些更改,因爲它們解決了長期開發人員的擔憂,即需求太大、太龐大,無法在短時間內實現。較小的需求促成較小的自動化測試。較小的自動化測試帶來更穩定的自動化。儘管有這些重大和必要的改進,但總體上的轉型速度相當緩慢。在QMS變更方面,我們做了一個分析,即在仍然保持所需的法規遵從性的同時,如何減少角色、可交付物、活動和工作流中斷的數量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2017年,我們引進了持續交付顧問,加快轉型。來自Continuous Delivery Ltd.的Dave Farley爲管理人員、產品所有者、架構師和開發人員提供戰略諮詢以及培訓。來自Equal Experts Ltd.的許多顧問與我們在各地的產品所有者、建築師和開發人員一起工作,使用許多新方法和新技術共同交付功能。具體來說,諮詢活動期間重點應用了BDD、TDD、用戶故事映射和結對編程。通過與我們的團隊合作,顧問向我們的開發人員、架構師和產品所有者展示瞭如何以新的方式工作,實現獨立的部署管道,將可觀察性落實到位,等等。此外,我們還邀請了Johner Institute GmbH的醫療QMS顧問,討論了我們的QMS調整分析,確認可以在保持法規遵從性的同時進行這些調整。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2018年,我們繼續與顧問們合作,更深入地採用持續交付的工作方式。這一次不是要引入新的方法,而是要在可持續的基礎上,將之前引入的方法嵌入到團隊和團隊成員的日常生活中。日本武術的精神概念守-破-離描述三個階段的學習道路上掌握(守,跟隨大師,破,學習其他大師和優化實踐,離,想出自己的技術),我們的轉型是從守到破的學習階段。我們的目標是嵌入新的工作方式,這樣就不再需要顧問的參與來支持新的實踐。我們達成了一個階段,持續交付成爲所有新的數字健康產品的標準。在轉型的監管方面,我們將基於BDD的需求工程正式引入了監管的QMS。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2019年,我們發佈了第一個QMS版本,該版本使團隊能夠以持續交付的方式工作。同時發佈了質量管理體系的工具。對於需求工程,我們使用驗證計劃和相關測試,以正式的方式驗證了產品“Azure DevOps的現代需求”。它簡化了需求基線、需求評審過程和需求的可追溯性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"出於監管報告的目的,我們實現了自己的工具,稱爲“QTracer”。此外,使用驗證計劃和相關測試以正式的方式對該工具進行驗證。新的QMS和相關工具的組合使團隊能夠更有效地製作符合法規的發佈,同時減少法規性開銷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"交付的穩定性是我們觀察到的轉型的整體影響的第一個跡象。與前一年相比,今年所有部署的生產部署失敗率下降了一半。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2020年,轉型的突破成爲可能。與前一年相比,今年所有部署的生產部署前置時間減少了3\/5。與此同時,與前一年相比,今年所有部署的生產部署失敗率下降了一半。更多細節和相應的圖表可以在後面的“"},{"type":"link","attrs":{"href":"https:\/\/docs.google.com\/document\/d\/1H6qQOD-p4u981kVwd8bBalGUcD6YKZmdrkzTng8w1sM\/edit#heading=h.ve8ss7954tp8","title":"","type":null},"content":[{"type":"text","text":"速度和穩定性一起提高"}]},{"type":"text","text":"”小節中找到。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在2021年,軟件交付的速度和穩定性的聯同改進仍在繼續。到目前爲止,今年完成的所有部署的生產部署前置時間與前一年相比減少了1\/2。與此同時,與前一年相比,今年迄今爲止所有部署的生產部署失敗率下降了2\/5。更多細節和相應的圖表可以在後面的“"},{"type":"link","attrs":{"href":"https:\/\/docs.google.com\/document\/d\/1H6qQOD-p4u981kVwd8bBalGUcD6YKZmdrkzTng8w1sM\/edit#heading=h.ve8ss7954tp8","title":"","type":null},"content":[{"type":"text","text":"速度和穩定性一起提高"}]},{"type":"text","text":"”小節中找到。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"轉型易勝點"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"儘管轉型是一個漫長而艱苦的過程,但在過程中也有點可以輕鬆取得勝利,詳見下表:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"embedcomp","attrs":{"type":"table","data":{"content":"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.