CTO来分享:推荐一款多功能研发协同工具

时间:2022-10-13 07:16:14

前言

“软件开发,是一个需要高智力、频繁沟通和密切协作的过程”。

如果你也在从事技术编程相关的工作,你会发现,软件开发从来都不是一件容易的事情。

一方面,软件开发既要从抽象的需求到实现具体的功能、界面,又要从具体重复的代码抽离提取抽象的设计模式、系统架构、UML模型;另一方面,软件开发既要充分发挥个人专业技能处理复杂逻辑的能力,又要协同不同岗位共同配合协作的过程;此外,既要给技术人员预留和保护程序员个人沉浸式、忘我的、高效工作的宝贵时间,又要保持随时的沟通、响应、会议、汇报;最后,老板和需求方、客户,还不会忘记给你和你的团队提出这也要那还要的需求,而且都是很紧急的需求。

更别说,还要一年365天持续、高效、稳定地进行软件交付,是有多么难了。但办法总比困难多。

回到当下,回到现在。

假如你是一位CTO或技术负责人,又或者你和你的研发团队也正在经历研发过程中效率低、故障多、质量差、沟通难等困扰,又或者处于空降、高速增长、业务转型、团队扩张、结构调整、技术变革等历史转折点上,我们继续来探讨如何迎难而上,从源头、基本的流程上和管理模型上本质上解决交付类的通用问题,而不仅仅是case by case地重复处理一个又一个日常的问题。

论合适工具的重要性

为什么要讲协同工具?

工具是具体的系统,第一,它在使用上都比较简单,比起抽象的理论、经验和条条框框,更容易让人理解和接受。第二,协同工具并非是那么简单的。一款合适的协同工具,应该能帮助领导层、管理者、一线技术团队,甚至业务部门和客户,更好地进行流转、协作和管理。

正如,在选择另一半时,我们很难在未来大半辈子的时间改变一个人原来的习惯,但我们可以在一开始就选择合适的另一半;对于团队的成员也是一样,我们不能或非常难去改变、引导或培育一个人,但在当初面试时作为面试官和企业雇主,我们可以选择合适、有潜质、有能力、有经验、愿意做事的候选人。同样道理,我们去修改或改变一款协同工具会很难,并且人不应该是适应工具,而是工具要顺应人和团队的使用习惯,并且在一开始我们就要给团队物色和寻找一款合适的工具。

没必要让自己和自己的团队,每天都在艰难、痛苦和纠结中进行研发的协作、沟通、反馈。如果目前的协同工具不能满足或者辅助你进行管理、协作和汇报,那么是时候可以考虑和寻找更合适的工具。

一款好用、实用、耐用的研发协同工具

作为已经拥有超过十年互联网工作经验且已过而立之年的我,一直也在思考,研发团队到底应该需要一款怎样的协同工具?

我曾经在某上市企业,担任高级开发工程师,当时几千人的研发团队,使用的是公司找外包团队专业研发的内部系统。也经历过在上千人快速发展的公司,在带领几十人的研发团队时,使用国外Jira这样优秀但复杂又不符合国内习惯的产品。在创业阶段,也使用过国内和国外开源的项目管理工具;也用过Excel和邮件这样传统手工的方式进行需求管理。当然,一些大厂研发和提供的协同平台也有用过。

不同的协同工具,各有它的特色和优势。

不同规模的企业和团队,也会因为发展阶段的差异、所处的环境不同以及业务特点,需要不同的协同工具,以满足当前个人、研发团队、技术管理、企业、老板不同层面的需求。

和软件编程一样,协同工具也不存在放之四海而皆准的“银弹”。

但我认为,一款好用、实用和耐用的研发协同工具,应该在以下三个方面进行充分考虑和支持。

第一个方面:协作流

第二个方面:信息流

第三个方面:价值流

协作流+信息流+价值流=研发闭环管理

首先,先来说协作流。

作为一款研发协同工具,首先要满足基本的功能,就是研发团队日常工作的协作流程,从需求提出到最后上线发布这一过程的主要环节。例如以下这张协作流程图。当然,你和你的团队,更需要的是一张适合自己和能满足自己协同需求的流程图,这,才是最关键的。

CTO来分享:推荐一款多功能研发协同工具

结合目前ToC最为热门的社交产品,参考了很多在产品上把用户体验做到极致的优秀做法,我也一直在思考,为什么管理系统一定要那么难用呢?为什么不能用做ToC产品的用户思维来研发和提供一款ToB的、低频的、复杂的系统呢?

为此,我提出了用ToC的用户体验方式来设计和研发ToB的协同工具。也就有了这张slice:

CTO来分享:推荐一款多功能研发协同工具

以项目协作为核心,根据PC电脑版用户关注的F焦点原则,左侧是当前你团队的项目,右侧是具体的项目信息。和社交聊天软件一样,你可以快速、轻松切换和查看不同的项目。在左侧的项目菜单列表中,会实时显示最新的项目动态(就好比如你有多少条未读的聊天消息),也会根据最近更新的项目进行排序(这样你就能知道哪个项目是最近活跃和有变化、有进展的),还有贴心的项目小红点,让你可以快速知道哪个项目是你需要重要关注和参与的。当然,你还能进行项目置顶等操作。

更重要的是,在一个项目中,你和你的团队可以进行All In One地协作。下文会具体介绍。

更更重要的是,这是一款懂你和懂研发的协同工具。后续会继续介绍。


再来说说信息流。

人们都说,“美好的爱情都是双向奔赴的”。在职场上,特别是在软件研发上,沟通和反馈也是这样的。

一般技术研发人员,都比较忙,又不擅于表达和沟通,更不喜欢向别人暴露出自己的问题、过错和不足(甚至也不认为是自己的不足或问题)。你可能会感受到或经历过这样的场景:老板或需求方急得要死,而技术人员一脸平静;你迫切想知道最近的研发进展、当前的风险和预计什么时候能完成,技术只会和你说“快了快了”,或者说“我也不知道还要多久,不好评估”。

需求提了出来,什么时候能完成?不知道。任务分配和安排了下去,进度怎么样?不知道。这个Bug和改一个小小的文案,到底是哪一位在跟进?不知道。

我们是真的不知道吗?非也。归根到底,一方面,是沟通上的问题;另一方面,缺少工具的自动支撑;第三方面,是团队人员的习惯和风格问题。

如果是人员问题,那么我建议下次还是选择更合适的新人;如果是沟通的问题,可以临时就本次事件进行私下、工位和会议上的沟通。如果是协同工具,总结下来,我觉得:企业邮件+群通知+站内提醒+历史变更 这样的组合通知是更为合适的。

CTO来分享:推荐一款多功能研发协同工具

企业邮件,本身邮件就是一件正式、重要的通知,因此对于个人重要的指派和需要完成的事项,我们会选择使用邮箱来发送。同时针对闭环反馈和中途的变更,也应提供恰到好处的提醒。因此,也就有了这一份完整的、经过充分设计和实际验证的邮件通知规则。

CTO来分享:推荐一款多功能研发协同工具

企业邮件是To个人的通知提醒,群通知,例如:钉钉群通知、企业微信群通知、飞书群通知,就是针对团队、针对项目组、To项目干系人的。因为一个项目团队,除了研发人员、产品、测试外,还有项目经理、技术管理、领导、老板、需求方、业务部门等项目干系人。这些干系人,他们不需要直接参与项目,但他们对于项目的实际状况和进度、风险需要保持关注或同步。让他们知道“正在发生什么”,并且要“共同看见”(正如钉钉的酷应用中所提到的概念)。而不是让研发始终成为一个“黑洞”,外界对此一无所知。

所以,个人会看到这样的邮件图文通知(Tips:图片是第一张正文里面的截图,方便提醒研发人员快速回忆这是哪个需求、哪个bug或哪个项目)。

CTO来分享:推荐一款多功能研发协同工具

在聊天群里,则可以看到这样透明、同步的实时项目动态信息。例如:钉钉群通知、企业信息群通知、飞书群通知(飞书群因为需要先传到企业内部的图片,比较繁锁,所以暂时还没能显示首图)。

CTO来分享:推荐一款多功能研发协同工具

再结合站内提醒、页面提示、历史变更记录、项目小红点等,就能让信息和数据多跑腿,让研发团队和管理者多省心。

让协同工具能帮助我们和团队,实现快速记录、持续跟进、自动反馈、闭环管理。


最后,就是价值流。

你说,一个研发团队,聚在一起,那么多人,写了几十万行代码,每天查看和回复那么多信息,为了什么?就是为了最后能交付正常运行、有价值的软件。

过程和结果,同样重要。

交付同样的软件,你可以很高效,也可以很慢;你可以通过自动化一键完成,也可以人工重复操作(还会容易出错);你可以反复问了又问还得不到真实、全面、及时的结果,也可以通过工具进行可视化、及时地反馈和推送。

例如,结合DevOps和持续交付等思想和理念,在最终发布上,我们可以结合:一键发布+自动化单元测试+实时钉钉群通知,实现既高效、又稳定地持续发布。

CTO来分享:推荐一款多功能研发协同工具

又如,开发人员每天都会写代码,提交git。那么,我们可以从这个作为切入点,结合【Git代码提交】+【群聊天】+【每日工作登记】+【需求进度反馈】,这几个高频方面和协作的刚需,进行设计和效率提升。

当一个git代码提交时(只需要开发人员复制一下需求标题,或手动指定需求ID),就能实现一系列的动作:把代码提交自动关联到需求(方便后面追踪和进行code review)、把需求状态自动更新为研发中(需求流转)、自动创建需要的任务(方便登记工时,也可以关闭)、进行必要的群通知。

CTO来分享:推荐一款多功能研发协同工具


多功能研发协同工具介绍

介绍了这么多经验和心得,接下来,放松一下。一起来感受和看下这款多功能研发协同工具,它又有哪些不同和特色。

CTO来分享:推荐一款多功能研发协同工具


由于边幅有限,这些着重分享介绍YesDev在协作流的能力,即如何在一个项目里,协作更多内容。

1、项目协作:敏捷开发

适合短平快的产品迭代,小步快跑。

CTO来分享:推荐一款多功能研发协同工具

2、项目管理:瀑布流研发

适合外包项目和大项目,例如超过500人天的大项目全流程管理。

CTO来分享:推荐一款多功能研发协同工具

3、项目集管理

任意关联多个项目,重点关心项目经理或技术负责人你要关心的项目集合。

CTO来分享:推荐一款多功能研发协同工具

4、技术专项协作

例如重构、系统优化、线上故障复盘、调研、第三方对接等。

CTO来分享:推荐一款多功能研发协同工具

5、知识库

分享技术、传承知识、沉淀经验。

CTO来分享:推荐一款多功能研发协同工具

6、外部协作

和外部合作伙伴、上下游,甚至和客户一起协同。

CTO来分享:推荐一款多功能研发协同工具

7、自定义研发模型

配置自己和自己团队喜欢的模板,支持个人、团队、企业等自定义项目模板。

CTO来分享:推荐一款多功能研发协同工具

8、工作项

需要团队成员执行和完成的工作项。有:文档、需求、任务、问题等。

CTO来分享:推荐一款多功能研发协同工具

9、统计图表

可视化统计图表,自动生成,随时查看。如:概览、每日燃尽图、七彩甘特图、增量排期表……

CTO来分享:推荐一款多功能研发协同工具

10、通用模块

常规的功能,例如:历史记录、附件、备注、doc文档/Excel导出导入等。

CTO来分享:推荐一款多功能研发协同工具

概括来讲,YesDev支持:敏捷开发 / DevOps / Scrum / 瀑布 / 混合研发模型。它结合了敏捷开发和DevOps双引擎,实现研发全流程扁平化协作和闭环管理。