改变 | 解释 | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
从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":"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.