阅读 1438

技术工程化助力随手记V12改版

欢迎关注微信公众号「随手记技术团队」,查看更多随手记团队的技术文章。转载请注明出处
本文作者:飞雪无情
原文链接:mp.weixin.qq.com/s/dc2QPExil…

随手记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改版。