星思半导体:依托 PingCode,从0到1搭建研发管理体系

作者:星思半导体 董娟娟

软件国产化趋势下,PingCode 以其全面完整的产品体系,帮助星思从0到1搭建起了研发管理体系。——星思 成本与质量部部长 杜荣

1.关于星思

上海星思半导体有限责任公司(以下简称“星思”)成立于2020年10月,是一家专注于5G智能终端控制芯片、高速无线通信芯片及应用处理芯片的自主创新型芯片设计公司

成立近两年来,星思已在全国设立了4个研发中心,目前共有研发人员360人,其中90%以上拥有硕士及以上学历,其核心团队平均拥有15年以上的移动通信行业研发经验和国内外知名芯片设计公司的从业经历。

星思在电路设计、算法、软件系统、可靠性设计等方面积累了众多核心技术,已拥有自主研发的知识产权47项。目前已完成3轮,总额超12亿元融资

2.选择 PingCode 于创立之初

如上文介绍,星思的研发管理团队和研发骨干,大都拥有在知名厂商的工作经验。他们熟悉不同的研发管理系统,因此在研发工具选型上存在多方面的考量和比较。

近几年,美国不遗余力地打击中国半导体行业的发展。在这样的形势下,练好内功、研发自主可控的芯片成为全国的坚定共识,而研发管理工具的国产化也成为大势所趋,PingCode 就此进入星思的视野。

相比 Jira,PingCode 很年轻,它以站在巨人的肩膀看世界的谦虚心态,汲取了Jira的优秀实践,并结合中国企业的特点进行产品优化,最终以功能全面、简洁友好、安全稳定等优势,在中国企服领域迅速崛起。

PingCode 拥有完整的产品体系,涵盖了需求管理、项目管理、知识管理、测试管理、效能管理等方面,基本可以承载研发全流程的管理过程;其功能和流程设置总体符合研发实际需求,并给客户留有一定的自定义空间,可以适应不同的项目配置需要;具有一定的开放能力和扩展能力,省去了多工具/平台联动的困扰。

经测试,其界面简洁易懂,便于操作,无需经过复杂漫长的使用培训,易于被研发人员接受。

此外,PingCode 还配有对应的客户经理负责答疑、需求传递、问题定位和修复,相比 Jira 和其他产品,其能够提供更好的企业级技术支持服务,更值得信赖。

2021年3月,PingCode 与星思正式成为合作伙伴,星思近四百研发人员基于PingCode 开展研发管理协同。

到目前为止,据不完全统计,已经帮我们团队节省了数千个小时的研发时间,在交付效率上提高了约20%

PingCode 全功能体验通道

3.信赖源于成己之物

3.1 试玉辩材

完成 PingCode 的私有部署后,星思即着手进行真实数据下各项功能的试用和跑通。根据项目节奏,星思首先同时启用「知识管理模块」和「项目管理模块」。

「知识管理模块」用于存放团队的知识资产,最注重安全性,并需要支持多人同时查看和编辑,这是我们最基础也最重要的诉求。

经过试用,我们发现「知识管理模块」的基础操作非常简单:

1、首先,左侧可以定义目录结构,层层建立文件夹以搭建知识体系;

2、其次,可以通过直接新建、从模板新建、从其他途径导入(如 Confluence、Markdown、Word 等)三种方式来建立新页面,灵活便捷;

3、编辑页面则同 Word 界面基本一样,符合用户习惯。

4、保存并发布后,即可完成页面新建。

另外,其主页有类似个人工作台的显示,可以清楚明了地看到自己所在的知识库、最近查看、收藏和编辑的知识库页面等信息,非常方便。

建立好页面,接下来就是给不同的角色开放权限等配置。星思最终利用现有功能初步搭建起自己的知识库框架。

PingCode 的「项目管理模块」,在星思刚使用时支持看板、Scrum 两种类型的项目。二者都符合敏捷开发理念,前者可以通过拉动和可视化的方式来持续交付业务价值,后者则以增量迭代的方式来进行持续规划和交付。

按照项目需要,星思逐步跑通了缺陷管理流程和需求管理流程。

之后的一段时间,我们也在逐步引入了 PingCode 其他的一些产品模块,比如「自动化管理模块」、「测试管理模块」,星思也因此实现了流程自动化、邮件自动推送系统消息等功能。

在逐步引入的过程中我们能清晰的感受到,PingCode 的使用门槛很低,例如:

其提单页面简洁明了,可以设置填写提醒和必填项,提单后更改信息也很简单,例如状态的变更、责任人的变更、信息的修改等,不需要二次确认,点击即可立即生效。

虽然在有些方面,PingCode 并未完全满足我们的需求:

  • 协同编辑功能还未上线,且不支持知识库下各独立文件夹的权限设置;
  • 在梳理制定各项规范和流程时,不具备相关的评审功能;
  • 在缺陷单的管理上,角色、权限控制较弱;
  • 目前项目字段和状态的自定义能力无法满足我们需求等;

但 PingCode 产品的设计其实比较巧妙,它可以让用户的流程无论如何都能走下去,不会因为不完全满足用户场景的情况,或其他因素导致流程阻塞无法运转。

并且无论是上述使用中遇到的困惑还是实际场景下产生的需求,PingCode 客户成功经理均能做到积极响应和内部验证,并定期更新各项需求和问题的进展,产品团队也能以较快的迭代速度逐步上线各项功能。

正是基于此,星思一边适应既有功能,一边配合客户成功经理跟进需求进展,调整内部流程规范,以保证项目顺利开展。

白居易曾说“试玉要烧三日满,辨材须待七年期”,经过三个月的沟通,星思认为已足够“试玉”和“辨材”——PingCode 是值得信赖和期待的合作伙伴。

虽然其当下并不能百分百契合星思的需求,但它能够倾听客户的声音,并纳入产品规划中去,星思愿和 PingCode 一同成长。

3.2 渐入佳境

随着项目的深入,经历一年多的磨合,星思对 PingCode 的使用更加熟练,依赖性不断增强,同时也基于项目需要提出了诸多需求。

PingCode 也在与星思的合作中有了明显的改进和完善。

3.2.1 知识管理模块

「知识管理模块」目前已实现了协同编辑和文件夹的权限独立配置功能。

协同编辑功能使各类文档评审用 PingCode 承载成为可能。星思在各阶段都有很多流程及研发文档需要共同评审,协同编辑显著提高了协作效率,避免了通过邮件传递带来的信息和时间损耗。

如下图所示,大家可在该记录表中同时编辑内容以反馈意见:

文件夹权限独立配置则实现了知识库的精细化管理。如通过“页面共享”按钮可对每个页面(文件夹)独立配置权限

权限设置时,可区分为知识库成员、非知识库成员和公开共享三种类型,分别对应不同的权限配置需求,最大程度地保证信息安全,且操作简便易懂

基于上述需求的实现,星思按照部门和用途来建立知识库,并给各知识库都配有管理员,专门负责重要信息的发布、归档和共享。

此外,「知识管理模块」还陆续上线了页面导出功能、附件列表全选功能以及文档预览功能,进一步方便用户使用,尤其是文档预览功能,有效提高了知识库页面各类附件的阅读效率。

从使用至今,星思基本见证了 「知识管理模块」从不完善到快速成熟的过程,这也是让我们觉得 PingCode 团队值得信任的一点。

3.2.2 项目管理模块

目前,星思在 PingCode 上已有4个看板项目,8个 Scrum 项目和2个瀑布项目正在使用,覆盖所有研发员工。

经过测试,星思使用 Scrum 类型和瀑布类型(上线较晚)来管理项目,看板类型则用于承载非需求/缺陷类的电子流,如文档评审、技术决策议题申报等。

星思践行IPD研发管理方法,需求会经过层层分解后录入 PingCode 系统,再进行流转、实现与验证。在 Scrum 项目和看板项目中,PingCode 的需求有固定的分级和名称,如史诗、特性、用户故事,分别对应星思的IR(初始需求)、AR(分配需求)、模块级需求。

史诗、特性、用户故事三级需求的页面内容支持按需配置,其状态流也支持自定义。比如,我们会按照流转逻辑提前配置好状态流,匹配我们的流转习惯,以减少研发人员在流转过程中的困惑。

布局配置:可以新建属性(即字段)、调整布局(改变默认字段的顺序和位置)。

新建模板:可以设置必填项和填写提示、默认值。

按照星思的需求管理流程,一个需求的生命周期会有 SE、PM、开发人员、测试/验证人员、QA 等多角色参与,因此也需要一个基于角色的权限控制功能,来规范大家填写信息,并保证需求正确流转。该功能近期就会上线,将极大解决星思管理过程中的困扰。

缺陷工作流也支持上述自定义。

此外,星思还通过脚本、API 接口连通了 PingCode 与 SVN 和 Jenkins 工具

当开发人员完成问题修复和代码提交后,在 Jenkins 中点击 CI 构建,本次提交代码的 diff 文件会自动出现在 PingCode 的附件处,缺陷单状态会自动从“处理中”变更为“已修复待审核”,责任人则变更为其组长。

缺陷单状态处于“已审核待发布”时,通过点击 PingCode 评论区的CI链接,缺陷单会自动变更状态为“已发布”,并流转给提单人进行验证。

通过将不同的研发工具进行对接整合,显著减少了研发人员在工具之间反复切换的时间;自动化的流程设置,则有效缩短了缺陷单的生命周期。这既是星思深度使用 PingCode 的结果,也得益于PingCode 的开放和扩展能力。

“筛选器”是一项比较亮眼的功能。通过添加并固定筛选条件,可以建立不同的筛选器,类似个人工作台,可随时点进去查看对应工作项的进展,而不用每次都进入具体的项目下,再重新建立筛选条件。该页面还可以分享给别人,比较适合 PM 和研发人员定时查看团队名下、个人名下待处理的工作项。

就项目特点而言,看板项目可以通过拉取的方式查看工作项进度,Scrum 项目下则可以按照阶段规划迭代,设置迭代目标,在迭代中交付不同的需求和修复缺陷。而瀑布项目则可以规划里程碑,并预置交付物要求,以此作为参照来监控项目进度和质量。

并且随着项目解耦的功能即将上线,用户将可以自定义字段、状态流,而不用担心其他项目会受到干扰,这将使项目的配置和管理更加灵活和便捷。

此外,「项目管理模块」还陆续上线了按字段导出工作项、点击编号可直接跳转至问题单页面等功能,目前邮件催办功能正在开发中。

瀑布项目由于是新的项目类型,星思在使用中提出了增加版本、关联测试计划等需求,据反馈也已纳入产品规划中。

「项目管理模块」不完美,但它日臻完善,每一个切实的需求都在实现的路上。

3.2.3 测试管理模块

星思从2021年6月开始对「测试管理模块」的各项功能开始了全面测试。用于建立测试库,可在其中规划测试用例、执行测试计划。在用例管理页面,用例可以直接新建或批量导入,支持划分模块进行细化管理,在表头还可以进行筛选和排序操作。

建立测试计划,对已有的用例进行规划并执行测试,可在该页面直接查看通过率,点击“缺陷”按钮可跳转至测试中发现的 bug,点击“报告”可查看执行结果。

每个测试库都拥有测试报表,支持查看不同维度的数据,如用例规划的次数、维护人分布、重要程度分布、状态分布等。

和其他功能模块一样,星思也根据实际场景提出了一些需求,其中有些已经上线并投入使用,如:

  • 测试用例上传时,预期结果和步骤描述能够解耦;
  • 测试用例导出时,各列顺序支持自定义;
  • 支持自定义的文本类型字段的筛选;
  • 放开API访问频率限制至少1000次。
  • 增加测试用例维护人;
  • 测试用例导入数目从1000条提高至5000条。

而有些需求,则将在Q4上线:

  • 新增测试计划批量创建、批量更新、批量删除的API接口;
  • 测试计划增加关联版本。

在过去一年,「测试管理模块」功能完善和扩展情况是最明显的。

3.2.4 自动化管理模块

「自动化管理模块」即通过一系列规则的设置,达到简化流程、提高效率的目的,包括自动化规则、计划规则、即时规则三种,星思深度使用的是自动化规则。星思常用的自动化规则包括三种:

  1. 自动变更工作项负责人:例如当缺陷单状态变更为“已发布”时,自动变更负责人为提单人。
  2. 自动变更工作项状态:例如对于某些适用于简易流程的缺陷单,当其完成修复时,自动变更状态为“已发布”,同时责任人变成提单人,以此达到跳过中间多个环节的效果。
  3. 自动发送邮件提醒:除 PingCode 系统中的所有变动通过邮件发送给相关人之外,星思还对特殊场景(如被拒绝的缺陷单)做了专门提醒。

目前「自动化管理模块」方面最期待的功能是邮件自动催办,例如当某个工作项超过3天未进行更新时,则由该模块自动触发邮件提醒对责任人进行催促。

以上是星思所使用功能方面的体验和心路历程。

4.合作共赢,相互成就

总体而言,PingCode 满足了星思的大部分使用需求。需求管理、缺陷管理、测试管理、知识管理等都已运转成熟,接下来还将启用「产品管理模块」进行工单管理,打通需求从源头到交付的全流程。

星思的研发管理体系已完成从0到1的搭建,开始随着实践的深入、业务的要求,伴随着 PingCode 各项功能的上线,趋于稳定和成熟。

而 PingCode 尚未满足的需求,或者处于评审中,或者处于开发中,未来都将陆续上线。比如从引入之初到现在我们已经累计提出100多项需求。

PingCode 凭借其极快的迭代速度,其中大部分重点、符合产品方向的需求都已上线。这也使 PingCode 的功能更加全面、使用体验更加友好。

对于一些特殊需求,PingCode 的客户成功经理和运维工程师也都非常认真积极地配合,例如星思出于信息安全的考虑,需要对外网的访问进行隔离,后续又因为内网使用不便,而开放外网访问,同时对文档的下载权限进行限制,中间经历了数次反复,但 PingCode 的工作人员始终非常认真地协助我们完成配置操作。

在此表示衷心的感谢。

一年多来,PingCode 为我方解决了很多困难,PingCode 产品也已成为我方信任并依赖的研发管理工具,而我方提出的需求和发现的问题,则使得 PingCode 的产品更具竞争力和吸引力,充分体现了共赢的合作精神。

未来双方将继续携手前进,共同成长,互相成就。

了解更多PingCode功能