这是《程序员职场工具库》系列文章,在阅读本文之前,建议先阅读 《程序员职场工具库》 工具导论 和 《程序员职场工具库》Excel 工具开篇。
Excel 简易系统
在前一篇文章中已经提到过,Excel + 原理认知 = 一款强大的工作管理工具。更进一步,当我们赋予 Excel 逻辑,它就可以变成一个强大的简易系统。
我们都知道,系统 = 数据 + 逻辑。在 Excel 中,每一张表格就是一个 db 表,把 Excel 看成是一个 db,它就是我们简易系统的数据源。然后我们的人工操作或者利用一些简单的 Excel 函数或编程能力,就可以实现一个简易系统了。
当我们需要一个简单的系统的时候,我们可以思考一下,利用 Excel 工具是否可以快速完成我们想要的任务?我们只需要 2 个步骤,第一步是设计我们的数据结构,就是我们需要哪些数据表格,以及每个表的结构是怎样的。下一步就是设计我们的运行规则,我们的数据处理和数据迁移必须严格按照规则来运转,这样我们的简易系统就完成了。
Excel 简易系统的作用
可能有人会有疑问,这么简陋的系统,到底有什么用?我想主要有以下作用。
第一,成本极低。开发一个系统是昂贵的,如果我们只是需要某些简单的功能,使用 Excel 简易系统更加便宜。特别是在创业过程中,我们可以尽量通过 Excel 简易系统来代替重新研发一个系统,达到精益创业的目的。
第二,方便。系统是不能跟着你一辈子的,我们工作中有非常多的系统都是内部系统,换了一家公司,系统就全部都没了。但是 Excel 和底层原理是可以跟你一辈子的,而且随处可用,没有任何限制。
第三,灵活。只要掌握原理,就能利用 Excel 做很多的事情,不再让自己被系统局限,使得自己的工作会更加灵活。而且 Excel 也能够快速迭代更新,让 Excel 简易系统越来越强大。
应用案例 - 版本需求管理
今天给大家介绍的是一个用来管理版本需求的 Excel 简易系统,这也是我司目前在用的工具。是的,你一定会感到惊讶,虾皮这么大的公司,居然没有一个好用的版本需求管理系统,我刚加入虾皮也是被雷的不行的。不过,在使用这个工具之后,我觉得还挺不错的。纯粹,直指核心,其实需求和版本的管理没必要搞得太复杂。当然了,如果还需要更加强大的功能,比如统计,做版本流程优化这些事情,就比较难了,最终还是需要系统来支持更多的自动化能力才行。不过,PM 在这里好像存在感不高,所以也没多少人会来关注版本流程优化这件事情,所以就这样了。
今天给大家介绍的 Excel 简易系统是做了精简之后的版本,不过核心的流程还是完整的。首先看下全貌:
系统主要有 3 个部分:
- 需求池:处理所有需求的流转。
- 版本时间线:梳理所有版本的时间线,确定每个版本的关键时间节点。
- 排期甘特图:每个版本的需求排期甘特图。
我们按顺序每个部分来讲一讲。
首先是需求池,我们按照需求的流转生命周期来讲:
- PM 在编写完需求文档,并经过 PM 内部评审通过之后,就会把这个需求放进【待评审需求池】中,并标记需求优先级,等待每周固定的需求评审会去评审。
- 在需求评审会之前,各个 team leader 需要先看下这周要评审的需求,安排需求开发人员,以及做下工作量粗估。
- 在需求评审会时,按优先级顺序评审每一个需求,这时会拉上相关的开发一起来听评审,当然,在评审之前要先让开发同学提前看下需求文档。
- 在需求评审时,要记录评审意见,主要是记录那些需求文档没有明确、遗漏、错误的地方,需要 PM 在后续完善需求文档的。每个需求在评审结束时,需要确认,这个需求是否可以 signoff,如果可以,那这个需求就可以挪到【待排期需求池】,否则,需要 PM 再次完善需求文档,处理完所有的待确认点之后,在下一次需求评审会上再次评审。
- 需求评审会之后,对于移入【待排期需求池】的需求就是确定可以做的需求了,这时就会让这个需求相关的开发人员做工作拆解和工作量预估了。
- 然后到了排期会,业务负责人(或者项目经理)就会根据当前团队的版本可投入人力来安排哪些需求排入下一个版本了。按照需求优先级和人力容量来排需求,确定下一个版本的需求。所有干系人都达成一致之后,这个版本就算确定下来了,已完成排版的需求就会从【待排期需求池】迁移到【已排期需求池】。
这个就是完整的需求流转过程了,还是很清晰明了的。从各个需求池的情况来看,也可以判断当前这个业务的需求情况和压力情况,比如待排期需求池积压过多,就表示开发团队消化不过来了。对于一些需要临时加入已排版本的高优先级的紧急需求,也可以直接跳过排期,直接排入版本,完全可以灵活运作。
然后是【版本时间线】部分,这里本质是个甘特图,但是是以版本作为 task 的甘特图,主要是根据假节日和公司封版的情况来安排每个版本的时间线,主要是要做到每个版本的各个阶段不会有重叠、安排合理即可。每个版本的节奏也是根据各个业务自己的节奏来安排,比如上图所示的是 2 周开发,1 周测试,1 周预发布,2 天发布,大概每个版本 1 个月的节奏。对于一些快节奏的业务来说,也可以 2 周 1 个版本。或者是大小版本交叉着来。
从【版本时间线】中可以清晰的看到每个版本的负责人是谁,投入多少人力,还有各个关键时间节点:提测时间点、提预发布时间点、发布时间点。
最后的【排期甘特图】部分就不展开讲了,可以看上一篇文章有介绍如何使用 Excel 工具来应用排期甘特图的案例。这里主要就是跟踪每个版本的所有开发人员的工作进展,以确定版本进展和风险为主要目的,确保每个版本的平稳推进,直到版本顺利发布上线。
这个就是版本和需求的流转生命周期了,只需要 3 张 Excel 表格,再加一套严格执行的运转规则,就可以运行良好。不信?虾皮就是最好的证明。
讲到这里,不得不拿来对比一下之前在腾讯的状况。在腾讯教育业务中,是没有版本的概念的,每个需求独立运转,也没有固定发布时间点,能发就发。虽然这样能够更加高效,也更加灵活,但是对于研发的压力也越大,越容易出错,而对于需求的管理也更加复杂。即使腾讯有 Tapd 这个强大好用的需求管理系统,在需求的发布节奏上,也很难做到最好。因此在这种情况下,PM 的作用就会变得重要。PM 需要管理需求节奏,制定需求流转规则,让整个团队运转良好,同时还要收集数据,不断优化需求流程,让整个团队的需求吞吐量变得更好。而在当时,腾讯的 PM 也还是会适当地使用 Excel 来管理大量的需求流转。由此可见,在工作中,最核心地还是原理认知,工具只是辅助,我们要学会利用各种合适的工具达成工作目标。
小结
当我们赋予 Excel 逻辑,它就可以变成一个强大的简易系统。我把它称为 Excel 简易系统。
Excel 简易系统有以下 3 大好处:
- 成本极低
- 方便
- 灵活
然后本文还介绍了一个 Excel 简易系统:版本需求管理。这是我正在使用的版本需求管理工具的精简版。通过 3 个简单的 Excel 表格,再加一套简单的、严格执行的运转规则,就能很好的管理业务需求和版本的生命周期。
而且这个 Excel 简易系统是可以跟我一辈子的。简单地说,如果现在我要创业,我不需要开发或者购买一个 Tapd 系统,我只需要这个 Excel 简易系统,就可以让我的产研团队运行起来!
Excel 工具的应用系列文章总共会有 4 篇,这是第 3 篇,它的更多、更强大的应用案例将会在后续文章中介绍,敬请期待。
【讨论问题】
如果感兴趣的话,大家可以观察一下现在在使用的一些内部系统,有哪些是可以利用 Excel 简易系统来代替的?
欢迎在评论区分享你的想法,一起讨论。
----------------【END】----------------
【公开调研】
后续计划做一些个人职业发展相关的总结输出,想要做个简单的调研,希望大家可以共同参与:https://wj.qq.com/s2/12385427/6f37/
欢迎加我v【longyiyiyu】,进行无负担沟通,我会
- 长期职业发展规划指导
- 近期工作重点交流
- 职场解惑
- 面试辅导
也欢迎关注公众号【潜龙在渊灬】,收获程序员职场相关经验、提升工作效率和职场效能、结交更多人脉。