看板的核心是将状态可视化,一张看板承载着所有卡片,一张卡片代表一个任务,同时看板会被分成几列,每一列代表一个任务可以处于的状态。
在研发项目中,各团队常常用看板管理任务的生命周期,并且不同团队的看板任务流转都是不同的。通过实践,我们收集到不同团队对看板管理的需求
- 项目经理期望知晓团队的整体工作情况,期望可以定制一套符合团队的任务流程;
- 开发团队注重每个人的任务进度及开发量,同步管理代码质量;
- 测试团队针对测试的功能提交缺陷后,缺陷的修复情况如何;
- 产品团队梳理完需求,需求各阶段的状态得到反馈;
针对各团队的需求,Choerodon猪齿鱼的看板管理引入「状态机」功能,用来制定不同的任务流转的工作流程,跟看板中的列对应,针对看板中的每种状态也定义了对应的工作流及处理问题时执行的特定操作。帮助大家专注研发流程,提升研发效率。
🙌Choerodon猪齿鱼「状态机」使用场景
下图为研发项目的通用研发流程,其中包括项目中需求各阶段的流转历程,以及对代码开发的整个周期管理。
需求管理是研发项目活动中的一个重要过程,可以说需求是产品开发的开端,贯穿着整个产品的生命周期,从一开始的需求收集、到需求设计、开发、测试、最终上线,无论哪个环节都是依赖着需求进行的。 当需求评审通过后,项目进入到开发侧。这时,开发团队需要制定明确的迭代计划,包括product backlog(产品待办,也就是评审通过的需求)的优先级、迭代目的等,随后进入到开发阶段。 开发人员确定任务后,创建对应的开发分支,开发完成后,开发人员本地自测,再合入开发环境测试主分支,安排测试人员进行开发环境测试。最后通过验收测试后,系统发布上线。
定制任务流程
以这套流程为例,在Choerodon猪齿鱼中如何使用状态机进行任务流程配置呢?
配置看板中的状态与流转
Choerodon猪齿鱼看板管理契合项目从需求管理到开发、测试、上线的全流程配置。根据示例中的研发项目的整个流程体系,我们首先需要确认看板中有以下信息: 明确迭代的三个阶段: 设计、开发、测试 三个阶段分别对应以下状态节点: 设计: 功能设计、技术设计、设计评审、设计完成; 开发: 待开发、开发中、本地自测、开发完成; 测试: 待测试、staging测试、验收测试、已完成;
不同阶段专注的内容可以汇集到不同的看板。如下,我们可以建立设计看板、开发看板、测试看板。 设计看板与开发看板的连接依靠:设计阶段的设计完成=开发阶段的待开发; 开发看板到测试看板的连接依靠:开发阶段的完成态就是测试阶段的初始态。
当然,如果需要全局维度的查看看板,我们也可以建立全局看板。
根据制定好的看板、列和状态以及场景,配置状态的流转方向可以控制看板中卡片的流转。 以<故事>这个issue类型为例,流转流程如下:
状态的流转状态配置好后,在看板中拖动任务时,任务会根据流程流转。
配置问题类型
此外,项目上往往存在多个不同类型的需求,对不同的需求有不同的处理流程。例如:
不同的需求同样需要不同的issue类型来梳理,Choerodon猪齿鱼通过不同类型issue的流程管理能力,以帮助项目实现多样化,多情景的流程管理能力。详细配置信息,请参考用户手册「问题类型配置」。
「issue与分支联动」
开发团队进入到开发阶段后,产生了一条代码分支的生命历程。即:确定任务后,创建对应的开发分支,开发完成后,开发人员本地自测,再合入开发环境测试主分支,安排测试人员进行开发环境测试。从这个流程提炼出了以下和issue相关的联动:
- 开发人员本地开发分支feature合并入测试环境测试主分支master后,开发完成;
- 开发完成通知测试人员测试;
例如:根据上诉需求配置如下
Choerodon猪齿鱼支持issue和开发分支联动起来,为团队的DevOps实践提供更好的支持。
「用户故事与开发子任务自动流转联动」
项目迭代过程中,开发人员专注于所负责的子任务的开发,忽略的用户故事维度的管理和流转,会造成子任务已经完成,但是用户故事依旧在某个状态积压,不能及时进入测试流程。这将会导致这些用户故事没有得到充分的测试,最终会影响到产品的交付质量。Choerodon猪齿鱼的状态机功能支持父子任务进行状态联动,无需人工维护。 例如:开发子任务全部开发完成后,用户故事自动流转到开发完成状态。
「钉钉、企业微信等第三方应用Webhook推送」
为了方便项目成员能够及时收到任务处理的通知,除邮件、站内信外,Choerodon猪齿鱼支持钉钉、企业微信等其他平台的Webhook消息推送。项目负责人可以在需要及时收到通知的状态节点启用Webhook通知,实时接收任务状态流转的消息推送。 例如:设置向【报告人、经办人】发【邮件、站内信】通知,启动Webhook通知。
了解如何添加Webhook,请参考用户手册「Webhook配置」
「不只是研发项目」
当然,除了研发类的项目之外,在销售项目、人力资源、市场营销、运营等项目也会有与当前情景匹配的任务管理流程。这里我们拿一个销售管理项目举个栗子🌰: 不同的销售业务对应不同的销售流程,销售总监根据团队需要来规定销售流程。常见的这销售流程如下:
- 潜在商机--> 联系--> 商业接洽-->打单--> 签署合同;
状态机配置如下图:
看板管理如下图:
贯穿着产品的整个生命周期,包括项目内部及外部用户的需求收集、需求审核、分析、拆解及开发进度的跟进。
🤗Choerodon猪齿鱼「状态机」如何使用
更详细的操作教程,请参考用户手册:
欢迎免费试用SaaS企业版
试用链接:https://choerodon.com.cn/register-organization/#/
关于Choerodon猪齿鱼
Choerodon猪齿鱼是基于Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
更多内容
大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:
- 官网:http://choerodon.io
- 论坛:https://openforum.hand-china.com/
- 操作指引:https://open.hand-china.com/document-center/doc/product/10177/10419?doc_id=124615&doc_code=119767
- 用户手册:https://open.hand-china.com/document-center/doc/product/10177/10419?doc_id=124273&doc_code=118818
Choerodon猪齿鱼官方社区用户交流群,此群可交流猪齿鱼使用心得、Docker、微服务、K8S、敏捷管理等相关理论实践心得,群同步更新版本更新等信息,大家可以加群讨论交流。
请添加Choerodon猪齿鱼小助手微信:hand-c7n
欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。