从2019年初,我们团队准备开发一款适合研发团队使用的敏捷开发管理工具,那时候我们也在思考,到底什么样的工具才算是优秀的研发管理工具,研发管理的场景、方法和流派有很多,市面上关于研发管理工具的产品也是层出不穷,我们从哪里入手才能真正帮助研发团队提高研发效能?基于以下两点考虑,我们选择了从敏捷开发管理进入:

  1. 敏捷开发自1999年以来,经过20多年的发展,已经被大多数开发团队所接受,近几年DevOps的流行,更是把敏捷推向了更高的位置,国内太多的团队需要做敏捷转型。

  2. 敏捷开发在中国落地的专业度还不够,以至于出现了“中华田园敏捷”的说法,中国的开发者需要一款简单易上手的、专业的敏捷开发管理工具,来帮助他们在团队中更好的落地敏捷。虽然只靠一款敏捷开发工具并不能帮助企业在敏捷转型中成功,但好的工具却能让企业敏捷转型事半功倍。

专业的Scrum流程管理

在Scrum Guide中已经对于Scrum过程中的活动、事件、产出等定义的非常清晰,这里不再重复,只想重点解释一下在落地Scrum过程中经常被忽视的两个问题。

1、绝大部分团队在实施Scrum过程中只重视迭代管理,不重视版本管理,当然这已经超出了Scrum本身的范畴,但是好的研发管理中应该是迭代管理和版本管理并存,他们之间是一个互相依赖的关系。

迭代管理是针对Scrum团队的,它定义的是一个时间盒的概念,用于团队容量管理和进度管理,对于不同的团队来说,明确在一个迭代的时间盒内的产出,这个产出最终以迭代Review为标准,通过了Review并不意味着一定发布出去。

版本管理是针对产品的,它定义的是一个批量的概念,用于版本进度管理和交付风险管理,明确在一个版本中最终的交付物。目前市面上大部分敏捷开发管理工具,都能够很好的支持迭代管理,却忽视了版本管理。

图1 Worktile Agile中的版本管理

2、在Scrum Guid中定义一个迭代中的四个活动,即迭代计划会议、每日立会、迭代评审会和迭代回顾会,我们发现在大部分敏捷团队中其实只有前三个活动,而自动忽略迭代回顾会议,恰恰相反,迭代回顾会是Scrum迭代实践中的最后一环,也是最重要的一环,迭代回顾会将整个迭代形成了闭环。Scrum小组都是自组织的,只有通过迭代回顾会不断的总结问题,提出改进项,才能帮助团队不断精进。

图2 Worktile Agile中的迭代回顾面板

什么才是真正的Kanban

Kanban理论已经存在了很长的时间,其适用范围也从最初的车间管理,到现在的硬件制造、软件开发。在软件开发领域内,很多团队都在使用Kanban管理自己的团队,有的使用电子看板,有的使用物理看板。Worktile团队在做电子看板上已经有了7年的经验,一直以来我们也在探索,到底什么样的看板才是真正的Kanban。在我看来,一个真正意义上的电子看板系统,要能够帮助团队达到以下三点:

  • 帮助团队可视化整个链条的价值流动

  • 帮助团队识别价值流动中的风险点

  • 帮助团队度量价值流动中的各种浪费,并加以消除

基于以上考虑,在一个可视化的电子看板系统中,至少要具备以下一些能力:

  • 能够清晰定义在制品WIP

  • 能够清晰定义在制品限制WIP Limit

  • 明确定义DoD

  • 支持多泳道分割

  • 在制品流转中某些操作自动化

  • 达到某些风险点时,在制品能够高亮显示

图3 Worktile Agile中的Kanban管理

需求管理如何做

不管是采用哪种敏捷方法实践,需求管理都是敏捷开发中非常重要的一环。Scrum中定义了两个重要的概念: 产品待办事项Product Backlog迭代待办事项Sprint Backlog ;Kanban中一般采用在制品WIP的概念。

在Worktile Agile中,我们决定采用业界大家共识的三级需求管理体系,这种表示方式并没有一个真正意义上的标准:

  • Epic:史诗,表示比较大的特性,开发周期一般是1-3月,用于产品路线图的规划

  • Feature:特性,表示相对小一些的特性,开发周期一般是1-3周,用于产品版本的规划

  • User Story:用户故事,最小的开发粒度,开发周期一般是1-3天,在Scrum中用User Story来作为Backlog,在Kanban中可以用User Story作为WIP。

图4 Worktile Agile中的Epic、Feature、User Story三级需求管理

联动起来才有价值

在研发场景下,对于团队成员来说经常整理需求/缺陷是个常态,另外在基于单个工作项沟通时,往往会提及另一个工作项,作为高效的研发管理工具,要能够清晰的定义工作项之间各种可能的关系。Worktile Agile中我们定义了超过10种工作项之间的关系:

  • parent:定义工作项之间的父子关系

  • duplicates:表示两个工作项之间的重复关系

  • blocks:表示两个工作项之间的阻塞关系

  • 其他的如mention、clone、causes关系等

只能够定义关系还不够,Worktile Agile还做到了在发生某些操作的情况下,自动生成他们之间的关系,如果团队成员在某个工作项评论中提到了另外一个工作项,则会在他们之间自动建立一条mention关系。

图5 Worktile Agile中定义工作项之间的关系

工程化不可或缺

在研发管理过程中,项目管理是很重要的一块,但项目管理本身并不会关注工程化的过程,在我看来,项目管理和工程化实践是确保研发顺利的两个支柱,缺少哪一个都会造成不可预知的影响,把工程化数据与管理过程结合起来,将会极大的减小管理成本,提升研发效率。

工程化的过程环节众多,涉及到的工具数量庞大,如代码托管、单元测试、代码扫描、流水线、打包、制品、部署等等,在Worktile Agile中可以通过REST API的方式,把工程化数据发送到工作项上面并与之关联,这样对于开发人员可以清晰的看到每一次提交涉及到的工作项是哪个,触发了哪些构建,构建的结果如何,以及当前工作项部署在了哪些个环境。(注:REST API正在内测中,目前还未对外正式发布。)

图6 Worktile Agile中接入DevOps数据

让一切皆可测试

在User Story的INVEST原则中,明确表示一个好的用户故事要必须是可测试的Testable。敏捷开发过程本身是频繁迭代、周期性强并且能够及时、持续地响应客户的反馈,如何正确建立测试策略,确认客户的需求能得以实现并且确保及时的交付最终产品是值得思考的一件事。

在Worktile Testhub中,测试人员可以轻松编写测试用例并且制定相应的测试计划,同时每个测试用例也可以用Worktile Agile中的User Story关联,让开发人员和产品经理知道这个User Story会如何测试,同时测试的结果也会及时的与Worktile Agile同步。

图7 Worktile Testhub自动生成的测试报告

关于未来的一点想法

最后,简单的谈谈对于未来的一些想法。对于当下来说最重要的事情把现有的产品进一步打磨好,关于未来我们也在探索以下几个可能的思路:

  1. 简化手工操作,未来一定是智能的世界,在研发管理工具中,要尽可能的简化手工操作,让工作自动化起来,对于开发人员来说更是如此,他们宁可编写一段自动化脚本,也不愿一遍一遍的执行重复性的操作。
  2. 扩大人员覆盖,目前Worktile研发产品矩阵已经覆盖了需求人员、产品、设计、研发和测试等人员,未来我们还会进一步加大人员的覆盖面,让更多的团队角色可以在Worktile中完成他们的工作,比如对于中高层管理人员、PMO等。
  3. 扩大场景覆盖,当下我们的关注点在于如何做好敏捷项目管理和测试管理这两个场景上,未来不排除还会延伸到别的场景,比如多项目组合管理等。

Worktile官网: https://worktile.com/

本文作者:Worktile CTO Terry

文章首发于「Worktile官方博客」,转载请注明来源。

打造Worktile敏捷开发管理工具的思与惑相关推荐

  1. 分享一个自己做的简易敏捷开发管理工具——AgileLite

    为了便于管理实验室里的小型项目开发团队,我在今年寒假期间做了这个工具.总共花一星期划拉出来的,所以功能比较简单,只有需求Tickets和Bug Reports管理.当初做这个工具主要是觉得用Word或 ...

  2. 为效能而生,企业级敏捷研发管理工具PingCode正式发布!

    当「小步快跑」的敏捷开发已成为国内互联网项目主流模式时,海外研发管理工具老牌军Jira集公有云版慢.私有部署贵.产品生态杂.长期维护成本高等弊端,无法良好满足本土需求,中国研发团队,亟需适应国内研发管 ...

  3. 如何高效地进行敏捷开发管理

    敏捷开发其实是企业的一种管理文化. 目前软件行业敏捷开发管理最大的问题在于太看重具体的形式,而忽略了敏捷的初衷. 很多公司请几个敏捷教练建立流程,把会议室的椅子都搬走宣布从今以后大家站着开会了,使用敏 ...

  4. 参考行标对云效以及LinKE的“持续交付”及“敏捷开发管理”能力打了下分,大家看肿么样?

    中国信息通信研究院发布(已在中国通信标准化协会立项)的行标,其中"研发运营一体化(DevOps)能力成熟度模型"中对"持续交付""敏捷开发管理&quo ...

  5. Leangoo:用敏捷开发管理思维做团队协作的SaaS软件

    第一次看到leangoo这个产品时,笔者觉得又是一款团队协作软件工具,和其它的团队协作并没有什么本质区别. 当听创始人廖靖斌说起leangoo人员结构时,笔者起初蛮诧异,一家20多人的创业公司,顾问和 ...

  6. PingCode与Jira 敏捷开发管理能力的对比

    敏捷开发是一种以拥抱用户需求为核心.采用不断迭代的方式进行的软件开发模式,依靠自组织的跨职能小团队,在短周期内通过快速.频繁的迭代,迅速的获取反馈,进而不断的完善产品,给用户带来更大的价值. 虽然敏捷 ...

  7. Scrum敏捷开发看板工具分享

    在找适合我们团队的协作工具的时候,我们也是费了好大一把劲- 一款好的看板协作工具在团队协作和项目管理中起着非常大的作用,但是我们要的不仅仅是看板,还有要满足企业管理者的需求, 要求是: 1. 看板式并 ...

  8. 介绍几款好用的Web开发管理工具

    搜集了一些不同方面的在线资源,开发人员可以从中找到有用的工具.这些工具比较适合Web项目开发,也可以用在几乎所有的技术型的项目开 发中.你们将会看到用于电子邮件营销.任务管理.cloud IDE等等方 ...

  9. 浅谈敏捷开发scrum工具leangoo(三)

    之前两篇有说到敏捷开发及Scrum的一些概念及实施,现在再来记录下我们在敏捷开发实施中使用的一些工具,主要说下leangoo 工具不是敏捷开发及Scrum的必须品,但有了工具,可以让敏捷开发更好的实施 ...

最新文章

  1. 轻量级NLP工具开源,中文处理更精准,超越斯坦福Stanza
  2. ARM与RISC-V之争,后起之秀的优势在哪儿?
  3. 修改pom文件_SpringCloud微服务全家桶-第8篇,服务的配置文件更改
  4. Python格式化字符串、占位符、合并数组
  5. LeetCode Algorithm 897. 递增顺序搜索树
  6. java json lib 日期
  7. jit编译_意外分配– JIT编译抖动
  8. Docker简介以及Docker历史
  9. matlab图形标注名称_matlab入门(三)图像可视化
  10. HTML5 20180918----20180921
  11. 应届生简历如何写实习经历?
  12. Oracle日志报03113,OracleORA-03113 ORA-600 [4193]故障处理
  13. R语言绘制频数分布直方图或密度分布曲线
  14. 微信支付之App支付
  15. deepin 蓝牙适配器 安装
  16. Python生成前缀+随机数
  17. 麦克风阵列研究3 定向录音
  18. MySQL每秒50w+的写入,如何实现?
  19. android bitmap转图片_这是一份面向Android开发者的复习指南
  20. Unity Shader-热空气扭曲效果(多种实现方案,包括移动平台)

热门文章

  1. php mysql 500错误日志_服务器出现500错误的时候,让PHP显示错误信息
  2. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)
  3. 解题报告(十三)中国剩余定理(ACM / OI)
  4. 积性函数、狄利克雷卷积、莫比乌斯反演
  5. 【分块】#6278. 数列分块入门 2 (区间修改、查询权值c在区间中的排名)
  6. sql查两个时间内的数据_如何通过AWR的sql脚本查执行时间、消耗CPU、gets、I/0等的sql?...
  7. c++ 调用labview_LabVIEW面向对象编程_初窥门径(5):开发方式漫谈
  8. char类型怎么输入 c语言_还没搞懂C语言指针?这里有最详细的纯干货讲解(附代码)...
  9. centos7.4安装mysql5.7_CentOS7.4手动安装MySQL5.7的方法
  10. FPGA设计——图像处理(Sobel边缘检测)