知识卡片

开发者体验四要素决定工具与开发方法的适配度

普通读书笔记卡

内容

判断一个工作流引擎工具是否契合团队的开发方法,要看实施流程解决方案(不只是流程模型,还包括[[流程解决方案是流程模型加胶水代码工作流引擎不存储业务实体]]所说的数据转换、服务调用等全部胶水代码)时的具体体验,核心取决于引擎API和客户端库是否支持团队惯用的编程语言、开发环境和框架。这直接体现在四个方面:一是用户界面如何开发——部分工具允许用你熟悉的UI技术栈,另一些厂商则希望你使用他们指定或自研的技术栈,这可能带来某些便利但也意味着受限;二是流程定义如何部署——理想情况是能顺畅接入CI/CD管道,但有些工具仍要求手动部署流程模型,这明显是个减分项;三是流程如何测试——参照[[流程解决方案的版本管理多版本并行运行与实例迁移的取舍]]所属章节讨论过的测试话题,一些工具支持本地单元测试,另一些工具则强迫你用完全不同的方式测试,甚至有些工具根本无法做自动化测试;四是流程模型如何存储和版本化——一些工具能把流程模型转存成文件、纳入普通Git仓库正常管理,另一些则要求为模型单独建仓库、靠版本控制系统的标签去同步代码。这四个方面看似琐碎,实际影响的是实施流程所需的工作量,以及是否会破坏团队软件开发方法的整体性、挫伤开发人员积极性,因此在工具选型阶段就应该认真核实。

参考来源

- 位置:《流程自动化实战:系统架构和软件开发视角》第6章《解决方案架构》"6.2.8 开发者体验和持续交付"(源文件:_epub-src/EPUB/xhtml/Section0001_0010.xhtml) - 结论依据:原文分别展开UI技术栈选择、CI/CD部署对接、本地单元测试支持程度、流程模型存储版本化方式四个具体维度,并强调这些因素会影响实施工作量与开发方法整体性,直接支撑本卡片结论。 - 原始内容:某些工具能让你使用惯用的UI技术栈……有些工具需要手动部署流程模型,这肯定不是你想要的……一些工具能让你将流程模型转存为文件,然后存储在正常的Git仓库中。