一个会“说话”的软件项目管理工具
关于软件开发
“软件开发是一个需要高智力、频繁沟通和密切协作的过程。”
软件开发是跨越多个学科的工程,除了要懂技术,还要能快速理解抽象的领域业务,利用专业的技能转化成具体、准确的有形系统,所以高智力是必不可少的。每做一个项目,每做一个新需求,其难度可能不亚于参加一次高考,做一道奥数题。
同时,需要团队成员之间,以及研发团队和业务部门,和外部客户保持密切的配合和联动。合作,而非对立。这其中要求有强烈的个体互动,例如:分析设计、需求评审、开发联调、提测、上线发布、安装部署、培训使用。每个环节,每次互动,都要做好充分的准备,确定议题,找到合适的人进行对接和确认。
还有一点,也是很重要,很关键的。研究表明,在聊天软件中,你和谁沟通最频繁、最密切、最多,你和他的关系就越重要。也就是说,信息量和重要性成一定的正比关系。例如情侣之间、家人之间。同样,在软件开发过程中,沟通也是类似的。很多问题可以通过充分沟通得到解决;反过来讲,沟通不顺畅或者不到位,就会导致很多问题的发生。而让人纠心的现实是,不少技术开发人员不喜欢说话,也不喜欢反馈。可能是出于理科男的个性,不善于人际关系和沟通;也有可能是由于偏技术化的纯粹,不愿意把自己的问题暴露给别人,而是想尽快自己私下解决而没有及时同步。
“君子性生异也,善假于物也。”好的软件项目管理工具,能在一定程序上,让我们自己团队的研发更顺畅、更高效。
在信息的传递、反馈和汇总上,应该结合多种方式进行分享和构成闭环。在线下和口头上,可以结合F2F的单独私聊沟通,在工位上直接点对点沟通,例如针对code
review发现的问题进行沟通;如果涉及3个人或以上的非正式沟通,例如测试用例评审,可以到休闲区或小会议室,围绕着一台手提进行确认(能在沟通前提早发出资料,可以有效减少沟通的时间);假若涉及定期的项目同步的反馈,可以在早上上班后的半小时左右(因为考虑到同事可能晚点到或者需要吃早餐)组织召开站会,利用早上10分钟左右,大家站在一起,转成一个圈,让各自发表下简单的汇总,昨天做了什么、今天将要做什么、进度是多少、有什么问题。此外,还有正式的会议,例如需求评审、技术评审、项目启动会、项目汇总、复盘会议、周例会、部门会议。
另一方面,在线上,在书面上,在文字上,沟通、记录和资料归档也应坚持汇总、上传、写作和分享。让消息和信息透明、及时流转和传递。从需求指派开始,每涉及一个环节,每到一个团队成员,都应让整个信息流和沟通保持有效的流转。
下面,针对软件项目管理,就如何完善线上沟通的闭环和扩展,结合工具,进行简单的分享。
邮件,我觉得当之无愧是职场上沟通的正式通道。
从入职的Offer通知到项目邮件,到专项沟通,再到任命、绩效考核、放假通知、会议召开等,大部分都是以邮件的形式发出。邮件会有很多,每天的数量有几十封或不等。
在软件项目协作和流转中,邮件可以准确地告诉具体的人员,他应该要做什么需求、有哪些bug、负责什么项目。例如,在产品经理提出新需求并指派给技术人员时,负责该需求的技术人员应该收到此需求指派的通知。如下图:
类似这样的指派通知,是重要的通知,一般技术人员在当天都会收到,以及知道有哪些新的指派需求。当需求完成后,技术人员更新需求状态后,作为需求的提出人(产品经理或需求方),也会收到邮件的通知(如下图),从而形成信息的闭环。
再进一步,上述的需求指派和完成需求,在双边关系中构成了一个核心的交互单元。即:产品经理提出需求,通知开发工程师;开发完成需求,通知产品经理。
此外,还有项目(项目经理提出给技术负责人)、任务(上级分配给下级)、Bug(测试人员提交给技术人员),也会分别形成点对点的交互单元。每当有指派、有完成和变更时,都可以通过邮件的形式,自动通知对应的负责人,并且发到企业邮箱。
人们都关注和自己高度相关的信息,这也是人的大脑的保护作用。所以,我们会发现,并且自己也会这样做,就是把很多聊天群设置成消息屏蔽。但邮件发出的,都是和个体密切相关的。此外,在提需求时和处理邮件通知时还有两个小技巧。第一个小技巧是:需求方在提出需求时,应该口头上当面和技术人员进行简单的沟通,说明下需求的背景和情况,再提个需求给技术。让技术人员做到有章可依,有具体的需求可操作。比如产品经理说,“XXX你好,我一个新需求,大概背景是……,以及需要实现的功能是……。稍候我提一个需求给你。”这样,可以避免技术人员感到突然,在心理上也更好接受。另一个小技巧是,在邮件可以设置过滤器,把软件管理工具自动发出的邮件归集到一个文件夹,例如【项目通知】,方便分类管理信息。
讲完点对点的离线邮件沟通,我们再来探讨下实时在线沟通的聊天群,即从双边沟通转移到多边沟通。
一个软件项目,会有一个团队,会有多个项目干系人,通常绝大多数情况下,都会有一个对应的产品组或项目组。不管是使用微信、企业微信、钉钉、飞书、喧喧还是其他聊天工具,都会创建一个对应的群组。里面有需求方、老板、测试人员、技术人员、运维人员等。
我们需要、应当让项目的相关信息,在群里同步,方便周知、知会和报备。例如上线发布的通知、监控报警、需求完成、Bugfixed等。以便团队可以共享和感知协作的动态和流转情况。
从信息汇总成数据,从数据中提炼关键的信息,有助于我们提前规划项目、在过程中控制项目延期的风险和定期进行回顾和总结。
例如,在项目早期,评估好任务和工时后,可以得到项目的排期表,有助于提前做好计划和安排。
在项目进行过程中,可以借助项目燃尽图来查看和控制项目的进度和落后的进度。
在每周五或每周日前,查看系统自动汇总和发出的项目汇总、需求汇总表格数据,可以进行阶段性的总结。
如果需要查看团队整体的项目迭代情况,还可以查看数据洞察的可视化图表。
此外,还可以关注每周团队的工时和任务饱和度。通过工时登记,让研发产能可视化。
多做多想多总结,不断提升自己的概括和汇总能力,以及向上汇报的能力,也是一种不可或缺的职场软技能。
借助工具,可以自动汇总项目邮件、周报、测试报告等,在节省编写时间的同时,完善向上汇报和沟通的能力,并且让你的上级可以更省心更放心。
例如,项目汇报的自动生成,只需要稍微调整,就可以发出邮件。
又如自动汇总的个人周报。
项目中的每个成员,每名技术开发人员的工作情况都不尽相同,每个时间阶段要做的事情也不同,每个人的角色也不同。为此,为了让项目开发更简单,把简单给开发者,把复杂给工具。YesDev还提供了智能的项目引导助手,可以在恰当的时机给到你合适的指导和参考。