构建从目标到研发过程的全生命周期管理体验
作者/PingCode 研发 PV 孙敬云
最近有客户提出这样一个问题:现在的工具功能都大同小异,PingCode有什么特别之处?
那么要回答这个问题,我可能要从”根“上说起。
一、首先,在产品的构建理念上 PingCode 有一套完整的理论基础
假如企业有一个目标,为了实现这个目标,员工们以一种资源的形式出现在那里,承担着机器做不了的工作。这种管理方式的理念是:所有管理者的工作,就是在员工身上汲取他们所需要的。这是从工业时代就已经成熟的管理方式,它把员工当成一种资源,而员工自己的定位就是”为老板打工“。
对于劳动密集行业来说,这种方式经久不衰。因为这类员工的工作内容重复性高、易标准化,管理者可以制定具体的行为规范,通过细致的考核标准和明确的赏罚条款简单直接的给予激励。
但是对于知识密集行业来说,这种方式很难完成伟大的工作。因为这类员工的工作通常是定制化的、具有一定创造性的,他们需要在一个小范围内保持公开透明、充分沟通。如果这时员工的脑子里都是”为老板打工“,那么他有一百种方式玩忽职守。这绝不是危言耸听,根据盖普勒的统计,每 10 名员工中有 7 名是”不敬业的“,他们要么自由散漫,要么主动出手破坏组织的努力成果。
那么这是员工的错吗?其实归根到底是员工们没有”为自己做事“,他们缺少参与感,缺少在工作中的那一份”乐趣“。
如果细化到 IT 行业-研发领域,我认为应该弱化管理的”管“字,而更看重管理的”理“字。比如这样的一个管理模型:
1、研发的基础离不开工具的支撑,通过工具可以最大化的释放员工的双手,这对于效能的提升是非常明显的,比如通过 DevOps 工具链搭建 CI/CD,它不仅加速了部署过程,更是提供了另一种研发场景的可能性。当然工具绝不是一成不变的,它们会根据企业的实际发展不断的向前演进,带来新一代的效能革命。
2、基于相同的工具集,我们能更容易的统一技术规范,比如编程规范、工程化方案、CI/CD、基础架构和文档标准等等。统一技术规范是为了标准化研发过程,因为标准化的行为更容易进行复制,从而产生规模化的经济效应。
3、有了统一的技术规范,企业就可以重新构建自己的研发工作流。工作流就像水流入管道一样,顺着定义好的规则从左到右的流动,我们要尽早的发现管道中的瓶颈并予以解决,通过不断的改进让这条工作流越来越高效,能够提供更大的交付能力。
4、在一定的流程制度约束下,我们可以成立很多跨职能团队,向他们赋能,允许他们自我管理,通过激活脑力工作者的创造力和内在动力,让他们”为自己做事“,享受工作中的”乐趣“,从而创造更大的价值。
5、组建高效能的敏捷团队不是目的,实现企业目标才是。因此在自组织团队之上要有一套目标引导机制,目标管理主要就两点:一是我们的目标是什么;二是如何知道我们向着目标前进。
通过上述的管理模型示例我们可以发现,研发领域管理者的主要工作并不是”鞭笞“着员工的干活,而是营造一个”共赢“的工作环境,将员工引导到正确的轨道上,让他们在一定的自由空间下发挥最大的价值。
那么 PingCode 的产品矩阵如何体现「研发领域的管理方式」?
很简单,PingCode 本身就是工具集中重要的一个,同时 PingCode 还具有打通其他工具的能力(通过 REST API 和应用市场)。
通过 PingCode Wiki 可以沉淀企业内的技术规范和流程制度;
通过 PingCode Plan、PingCode Agile 和 PingCode Testhub 可以非常容易的搭建出一套标准化的研发工作流,打开即用;
通过 PingCode Agile 可以让敏捷团队(Scrum 和 Kanban)规划自己的工作、显现真实进度、回顾和不断的改进自己;
通过 PingCode Goals 可以让所有的项目有共同的目标,在更高的视野上及时了解企业目标的进展。
二、其次,与其看单独的功能点,不如连起来看 PingCode 的工作流
PingCode 是根据场景来组织功能的,我先放一张场景图:
(规模化敏捷)
在一个健康的 IT 企业中,一个明智的决策通常要经过充分的调研和评估,然后才能成为各个研发部门的目标。在这个过程中,企业中的各个关键角色要进行目标对齐,所有人的步调要保持一致。关于如何使用 PingCode Goals 进行目标管理?请参考:「国内首款OKR SaaS厂商,是如何落地研发目标管理的」
目标确定后,一些关键工作项要有明确的落地计划,这就需要通过 PingCode Plan 来进行规划。在 PingCode Plan 中通过路线图可以清晰看到所有工作的时间节点,这个阶段对应着”规模化敏捷“图中的”特性“节点。
紧接着,在 PingCode Plan 中,将这些工作项安排到不同的敏捷团队的”待办工作事项“中,让这些自组织团队在一定的时间区间内安排开发工作:
进入每一个敏捷团队的”待办工作事项“(PingCode Agile 的需求列表)中,自组织团队就可以看到按优先级排序的各类需求。
敏捷团队会根据综合因素(通常包含:优先级、工作量、依赖关系、非功能性需求的比例等等)安排每个开发周期的工作,他们在每个开发周期结束时都会产出一个可以交付的程序增量。
随后我们将所有的 Scrum 团队完成的服务进行集成,形成一个全局版本,部署到生产环境中,这个阶段对应着”规模化敏捷“图中的”PROD“节点。
最后,各部门、业务负责人在企业的目标同步会议上,通过 PingCode Goals 对目标的完成进度进行复盘,一个理想的复盘会议应该要基于一定的行为记录、数据分析进行后续决策。
最后,PingCode 的功能比较全面,体验也更自然
因为 PingCode 的功能点非常多,我在这里只举几个例子:
1.用户故事的 360°的关联
在 PingCode 中,一个用户故事既承载着一个业务价值点,也是一个沟通的平台。在一个用户故事上可以看到非常多的信息,比如一些基本信息,包括:状态、负责人、关注人、开始结束时间、优先级、风险、故事点、需求来源、需求类型、发布版本、标签、描述、自定义字段等等;还有一些关联信息,包括:子任务、缺陷、关联工作项、关联测试用例、关联文档、关联附件等等;还有一些开发数据,包括:代码提交记录、评审记录、构建记录、部署记录等等;还有一些交互数据,包括:评论、卡片的活动记录、状态流转记录等等。可谓是一张卡片,全纬度的数据。
2.规划迭代(适用于 Scrum 团队开计划会议的时候,投大屏幕)
3.迭代回顾(适用于 Scrum 团队开回顾会议的时候,投大屏幕)
更多的功能点,我还是建议各位读者们自己体验,我就不自卖自夸了。希望通过这篇文章可以说明 PingCode 的特别之处,也希望能够帮助您寻找到更合适的研发管理工具。
版权声明: 本文为 InfoQ 作者【PingCode】的原创文章。
原文链接:【http://xie.infoq.cn/article/e7fcefbc1a0725ebf2b8a99dc】。文章转载请联系作者。
评论