计世网

怎样在敏捷开发中做到“事半功倍”?
作者:Isaac Sacolick | 来源:计算机世界
2019-11-15
从长远来看,花时间为标准实践制订计划是值得的。

 

敏捷领导和敏捷团队在敏捷开发中面临的挑战是怎样定义并遵循数据、体系结构模式和标准。有一种观点认为,由于敏捷团队敏捷迭代(sprints)的工作通常会长达2~4周的时间,而产品所有者一般会提出太多的按优先顺序排列的产品需求项,因此,很难推动数据和技术标准。标准的制定需要时间;遵循标准要求敏捷团队有足够的时间来计划技术的实施。

在一个敏捷迭代中执行,并且只计划下一次敏捷迭代的敏捷团队将很难使用标准来制订他们的开发计划。如果不容易遵循或者引用文档化的标准,那么团队的效率就会降低,并且很难针对最佳体系结构和数据实践对新开发人员进行培训。这好比一支没有地图或者GPS的队伍在森林里走散了;他们也许能到达下一个路口,但他们不知道自己是否正沿着一条最佳路径返回镇上。

需要注意哪些数据和体系结构问题

把数据和体系结构标准分为两类是比较合适的:

· 标准体系结构,例如,数据模型、数据管道、实现微服务体系结构的技术、标准化的CI/CD(持续集成和持续交付)管道,以及围绕新技术的概念验证等。这些都需要前期的工程工作。

· 标准实践,包括命名约定、测试需求、微服务接口标准和可用性模式。以上这些指导敏捷团队怎样实现功能并解决技术难题。还可能包括定义怎样扩展数据模型、验证CI/CD管道改进效果,以及记录新微服务端点的流程标准。

当标准需要工程工作时,最好将此工作定义为敏捷产品需求项中的用户长故事(epics)、特征和故事(stories),并将它们分配给适当的团队。这些团队应将其他应用程序开发团队视为其客户,并应围绕他们的工作定义验收标准。这类开发的产品所有者可以是数据、应用程序或者解决方案架构师,他们的工作就是交付易于敏捷团队使用并能实现业务价值的组件。

另一方面,当标准向开发团队提供数据和体系结构指导时,这些标准应该成为开发人员怎样实现用户故事的基础。这就要求团队深入了解这些标准;也许还需要一个易于使用的知识库,供团队领导和成员审阅。

敏捷开发需要持续的计划

很多敏捷团队在敏捷迭代开始时会召开计划会议。他们审查按优先级排列的用户故事,评估这些故事,并承诺在敏捷迭代期间处理它们。

当团队按照优先级对现有应用程序进行小的改进时,这种方法很有效。但是,如果他们正在开发新功能,并且希望与数据和体系结构标准保持一致,那么即时计划是不够的。在敏捷迭代即将开始之前,团队没有足够的时间在一次会议上审查用户故事,检查实施与标准是否保持一致。

按照标准向前推进的团队应提前做好计划。我更倾向于在敏捷迭代开始时召开名为“承诺会议”的会议,让团队确定他们要处理什么样的故事。将计划实施这些故事的重要工作安排在一个或者多个“计划会议”中。

理想情况下,团队建立一个持续的敏捷计划过程,在这个过程中,他们会不断地审查长故事、特征和用户故事。对于需要更多计划时间的更复杂的工作项,在计划实施之前安排了不止一次敏捷迭代,这样团队就能够全面完成开发计划;工作项越小,过程完成的就越快。最重要的是,尽早开会可以减轻团队的时间压力;这样,他们有足够的时间来计划实施,因此更有可能去考虑标准。

开发参考体系结构和数据模型

协调敏捷团队的一种方法是开发描述当前状态、近期未来状态和长期目标的参考体系结构和数据模型。这些图表可以作为开发团队的路线图,以便他们知道怎样更好地将其实施与体系结构和数据标准保持一致。

文档化的参考体系结构是带有颜色代码和其他符号的单页图表,分清楚当前状态和未来状态。为了把它们放在一个页面上,架构师应该定义相关组件的范围,并描述一个或者多个应用程序的端到端服务。

参考数据模型可能包括多个图表,具体取决于数据在组织中的使用方式。它们通常包括以下内容:

· 一种概念数据模型,用于描述业务实体、关系和基本会话。

· 一种分析模型,分析数据怎样集中在数据湖或者数据仓库中,用于分析、人工智能实验和数据可视化。

· 一种数据集成模型,显示数据源、对从数据源加载的数据执行的关键转换,以及存储数据的主数据库。

· 一种服务模型,显示微服务和其他API怎样连接到数据库。

这些图表可以作为敏捷团队理解标准和未来方向的起点。架构师应该为这些模型补充完善更多的细节,比如API文档、数据字典,以及每个体系结构和数据组件的领域专家列表。

编写参考标准的验收标准

用户故事应描述需求的内容、原因和对象。理想情况下,产品所有者不应记录故事是怎样实施的,因为这是架构师、软件开发人员和测试人员的工作。团队应该负责交付功能,并确保实施满足体系结构、数据、安全性、Devops和其他标准。

仅仅记录标准和参考体系结构还不足以让团队遵守它们。团队在开发代码和完成发行版方面承受着太大的压力,因此审查标准并不总是首要任务。架构师应该负责审查用户故事,与团队开会共同学习,并通过在故事中写入验收标准,使实施与适当的标准保持一致。

此外,软件开发经理应与其团队讨论验收准则和标准,以确保他们遵循最佳实践,保证实施与未来的体系结构和数据标准相一致。

规模较大的部门应考虑通过多种方法来促使敏捷团队遵循数据和体系结构标准。定义标准、在敏捷迭代之前进行规划、编写体系结构驱动的验收标准,以及定义职责——只有采用这些实践措施,团队才能够交付符合体系结构要求的新功能。

作者:Isaac Sacolick是《数字化驱动:通过技术进行业务转型的领导者指南》一书的作者,该书涵盖了很多实践,例如敏捷、开发运维和数据科学等,这些都是成功实施数字化转型计划的关键。

编译:Charles

原文网址:https://www.infoworld.com/article/3433923/how-to-address-data-and-architecture-standards-in-agile-development.html

责任编辑:周星如