随手记 V12 改版, 是对随手记产品的一次非常大的重构, 如首页的信息流, 简洁的记一笔, 多场景账本的个性化支持和灵活扩展, 目的是让专业记账变得更简单, 满足不同场景用户的需求.
作为随手记的技术团队, 在整个随手记 V12 改版的过程中, 我们基于工程化的团队管理协作开发流程, 为随手记 V12 的改版提供了敏捷的开发协作方式, 保证随手记 V12 改版高效率, 高质量的完成, 实现了技术服务产品, 技术赋能产品, 提升开发效率, 保证产品质量, 以交付为目的的工程化实践.
技术工程化的核心 - 交付
带团队管理, 核心目标就是交付, 这也是唯一的目标, 没有交付都是白搭, 都是无用功. 很多缺乏经验的管理者, 会把精力放在无关紧要的细节过程中, 忘记了目标, 偏离了方向, 导致项目不停的延期.
细节并非指小工作, 而是指和目标不相关的, 不重要的工作任务. 对于随手记 V12 改版来说, 我们的目标就是完成整个随手记改版, 提升用户体验, 满足随手记平台的扩展, 按时高质量的交付一个新版本. 为了用户的体验, 产品的质量, 哪怕是界面一个像素, 一个阴影, 一个字体的偏差, 我们都要核对和修改, 这类问题虽然看着小, 但是对我们这次随手记 V12 改版的目标是至关重要的.
比如在改版的过程中, 有一些新的想法, 想加入一些新的功能, 对于这些, 如果不是对用户的价值非常大, 不是对产品本身的体验有益, 我们就可以先放一放, 虽然这类任务看着大, 但是并不重要, 和我们改版要交付的目标关系不大.
交付是技术工程化的核心, 也是我们技术工程化的目的.
交付的关键 - 协同
随手记 V12 改版, 从进入开发开始, 到产品验收, 设计验收, 测试, 内测, 灰度发布, 直到最后全部上线, 历时 3 个多月, 参与人员 20 多个. 在这个过程中, 我们一方面要保证随手记 V12 改版按计划的进行, 另一方面, 还要保证随手记本身的正常功能迭代, 维护和发版, 两条主线同步进行, 这就对团队的协同提出很大的挑战.
随手记工程化的推广, 普及, 积累和实践, 为我们的这次改版提供了很大的助力, 让我们可以更好的做好这次改版升级.
项目负责人, 要想做好协同, 完成交付目标, 就要详细的理清楚以下四个要素.
我们理清楚人, 事, 目标和结果后, 就知道让哪些人, 做什么事情, 做到什么程度, 什么时候完成, 哪些人是相互关联协作的, 哪些事是相互依赖完成的, 谁先谁后, 这样整个团队才能更好的协同完成同一目标, 才不会乱.
项目延期的最多的原因就是协同, 比如一个任务完成了, 其他人不知道, 没有进行下一步的行动; 沟通不顺导致做出来的东西和产品预期的不一致, 要重新返工等等, 做好协调同步, 才能有条不紊, 每个人才能在正确的时间点和正确的人配合完成工作, 最终整个项目才能高效率, 高质量的完成.
在随手记 V12 改版中, 随手记团队应用了文档, 项目管理工具, 晨会, 群, 即时沟通会, 周总结等工具办法保证了我们团队的协同.
随手记的技术工程化
随手记的技术工程化, 在 2018 年初正式提出, 然后开始逐步推进和普及, 渐渐的形成基于技术工程化的效率团队.
以上是随手记工程化的概览, 涉及规范化, 流程化, 积木化, 自动化和效率化.
通过规范文档我们积累沉淀, 标准统一, 减少差异带来的协作, 沟通和代码等问题.
通过流程, 我们规范开发到上线的整套标准, 提升开发效率和质量.
组件的积累, 模块的切分, 微服务的搭建, 让我们可以实现更多的复用, 减少工作量, 提升效率, 同时可以更好的保证质量.
能用系统, 工具, 机器做的事情, 都尽可能不要人手工来做, 减少重复的劳动, 提升效率, 让员工投入到更具有创造性的工作上.
清晰的职责, 高效的协同, 这样才能更好的助力随手记 V12 的改版.
助力随手记 V12 改版
在随手记 V12 的改版中, 我们以前积累的文档, 对我们这次统一梳理随手记, 分解随手记 V12 改版任务起到了很大的作用. 比如流水的文档, 不光可以让我们熟悉以前的业务, 让没有负责过流水的同事可以上手, 也可以查到很多以前逻辑的原因, 为我们新的 V12 改版提供参考. 好记性不如烂笔头, 文档不管对于熟悉业务, 人员流动交接, 业务变更等都有很大的作用, 是一份不断的传承.
随手记整个平台的模块化, 让我们可以根据模块任务, 进行任务拆分, 并行独立开发, 相互之间不影响. 比如账户, 理财, 记账等模块, 我们可以把他们分给一个或者多个人, 进行这个模块的协同开发, 他们可以自己合并代码, 持续集成验证, 和其他模块完全独立, 提升开发效率, 减少耦合带来的产品质量问题.
在模块化之外, 我们还做了很多业务组件, 有基础业务组件, 可以为多个模块共用; 也有模块特有的业务组件, 只为该业务模块使用. 业务组件和一般的开发组件不同, 业务组件是带有比较强的业务性, 比如超级流水组件, 所有需要展示流水的功能都可以直接使用.
大量的模块和组件的积累, 可以在我们这次 V12 的改版中, 提升开发效率, 提升产品的质量. 这也是我们技术工程化中「积木化」的一部分, 我们可以像搭建积木一样开发我们的产品.
在大的项目开发的过程中, 团队的配合和协作是非常重要的, 作为负责人, 需要让整个团队目标明确, 每个人的人任务也要明确, 谁和谁配合, 谁和谁相互依赖也要明确, 这样整个团队才不会乱, 效率才会更高. 在随手记 V12 改版的过程中, 我们通过项目管理工具把任务拆分和细分, 并且把相关的任务建立关系, 分配好经办人, 验收人等; 对于任务我们定义了 Epic,Story,Task,Improv,Bug 等多种类型的任务, 针对不同任务类型, 使用不同的工作流, 最大限度的提升任务完成效率.
基于项目管理工具, 集合 GitLab, 私有云存储, Jenkins 等, 实现的代码自动化构建, 任务, 代码, 资源关联和流程自动化等, 进一步提升开发效率.
结语
在随手记 V12 改版的所有功能开发完成后, 开始进入我们的合版测试. 在合版测试的过程中, 我们每天都会持续集成至少一个版本, 并同时发布这次集成的变更日志, 用于随手记 V12 改版整体的验证, 逐步的把发现的问题全部修复.
在随手记 V12 版本正式发布前, 我们挑选了一些随手记的用户, 对新的 V12 版本进行内测, 然后根据用户反馈的建议, 进行优化, 进一步保证用户体验.
此外, 我们还进行了灰度发布, 一步步的扩大随手记 V12 版本的覆盖比例, 到最终随手记 V12 全部上线后, 随手记的稳定性一直保持在 4 个 9.
随手记工程化的技术团队, 基于敏捷的开发流程, 可以小到一个功能任务, 大到整个随手记 V12 项目团队, 都可以灵活的解耦和协作, 高效率高质量的完成这次随手记 V12 改版.
来源: https://juejin.im/post/5c9c2f7d6fb9a070cd56ae5c