30人的产研团队如何高效协同?

简介: 工具选型及使用建议对于中小企业,基本都不会自己搭建服务器和机房进行部署,而是选择各大云平台,选择一款SaaS项目管理工具可以极大的降低运维成本。

作者介绍:以诺行CTO 刘自强 团队使用云效3年

团队协作需求

杭州以诺行汽车科技股份有限公司(以下简称“以诺行”)成立于2016年8月,位于杭州市余杭区文一西路科技高地海创科技中心。以诺行是一家集研发、销售及服务为一体的科技型企业,主要核心业务包括汽车软件、 汽车喷漆及汽车配件,致力于用精湛的技术和超前的互联网思维打造汽车维修平台全新格局。

以诺行目前有以下软件产品

  • 基于SaaS的汽修管理ERP,功能包含进销存、维修流程管理、账务、CRM等。基于Web、Android、IOS、微信H5、微信小程序等操作终端。
  • 以诺行喷涂全流程软件,基于Web、Android、IOS等操作终端。
  • 以诺行询报价软件,基于Web、微信H5、微信小程序等操作终端。
  • OA系统,基于钉钉小程序。
  • 以及其它正在规划开发的产品。

所有软件产品由以诺行软件部门进行开发维护。整个部门分为产品、设计、开发、测试和实施岗位,共30人左右。

因为软件产品线较多,各职能部门人手无法做到每条产品线专人负责,所以并没有采用项目制,而是由项目经理和产品经理根据需求优先级与开发资源情况安排开发迭代。因此每个迭代安排人手时,需要清楚的了解每个职能岗位的工作状态,开发过程中也要及时跟进开发进度,及早识别风险。

出于以上原因,我们需要选择或者自己搭建一套项目管理和持续集成系统,并且需要考虑以下因素。

  • 基本的项目管理功能和可配置的任务工作流
  • 清晰易用的工作台和工作流通知
  • 资源存储与共享
  • 文档管理
  • 代码托管
  • 持续集成流水线,并且流水线与阿里云产品对接友好
  • 使用成本

协作选型过程

最初,我们团队在自己的ECS服务器上搭建了开源的项目管理和持续集成工具,并经过配置实现了基本的需求。但是在使用一段时间后决定选择一款在线SaaS性质的项目管理工具,原因如下

1.管理效率低下

a.很多传统项目管理工具并没有非常直观的统计视图,需要将任务明细导出Excel再进行透视或者公式图表分析,无论是日常管理还是向公司提交汇报都很不方便。

b.缺少直观的日常统计,也会导致安排后续任务进度时得不到充分的数据支持,以至于进度安排过紧或过松,导致因赶工而产出质量下降或研发资源浪费。

2.运维成本高

a.开源产品部署后不易升级,大版本升级容易产生兼容性问题,并且可能需要重新调整配置。

b.资源存储在ECS上,对存储资源消耗较大,不过这个问题可以使用NAS服务缓解。

c.若日常使用时有较多截图,文档的读写操作,ECS带宽占用较大,容易导致ECS上部署的服务争抢带宽资源,而带宽成本较高。

d.后端技术转型,后端服务不再部署在ECS上,而是部署到了阿里云SAE(Serverless App Engine)产品,不再需要ECS。对于中小企业来讲,单独为项目管理工具保留一台ECS比较浪费资源。

我们调研了市面上比较流行的SaaS项目管理工具,部分功能满足我们的需求,但是普遍有以下的制约因素。

  • 与阿里云产品无法直接对接。我们前端部署在OSS,后端部署在SAE,虽然云产品提供了各种API可以进行对接,也提供了一些常用持续集成平台的插件。但是对接上仍然比较复杂,甚至需要我们自己开发一定的中间件进行对接。
  • 额外维护一套账号体系
  • 收费较高

在调研试用各种项目管理工具期间,偶然在阿里云官网上看到了云效产品的推广,并且小微企业有一年期限的30人内免费。而云效可以基于阿里云RAM账号登录,并且对阿里云产品提供无缝对接,于是便开通试用了。

云效使用效果

由于大部分研发人员需要对各种云产品进行查看管理,所以已经开通了各自的RAM账号。因此使用RAM账号对我们来讲并不是额外的负担,对于不使用RAM账号的企业来讲,云效也支持使用钉钉账号进行绑定。

为每一个员工建立阿里云RAM账号,并在云效中配置好部门和角色就可以开始使用了。

项目管理

通过配置合理的项目管理功能,可以完成以下工作流程

  • 项目经理的开发迭代管理
  • 产品经理的需求生命周期管理
  • 开发人员的开发任务管理
  • 测试人员的测试计划管理
  • 测试阶段的缺陷生命周期管理
  • 实施和客户部门的反馈管理

其中涉及到了以下功能:

版本管理/迭代

版本管理和迭代功能提供了便捷的手段来管理各种任务、计划和资源。管理者借此可以清晰的查看开发迭代进展,识别进度风险。产品部门也可以预先对任务进行分类、评审和排期。

image.png

需求

需求模块提供了基本的需求管理功能,并支持自定义各种类型的字段、状态和工作流。

任务中可以关联各种文件任务资源和知识库条目作为附件,以更加丰富的媒体方式呈现需求内容。

进入开发的需求可以创建对应的子任务分配给研发人员,研发人员也可以快捷地打开关联需求查看设计细节。

image.png

测试计划

在开发迭代之前或开发过程中,测试人员可以使用测试计划模块来管理测试用例,也可以将研发人员特地声明的风险加入的测试计划。借此可以有效的追踪每一个迭代的测试情况,避免有遗漏,也可以在复盘时进行回顾分析。

任务

项目管理中可以根据现状来自定义各种基于工作流的任务,比如开发任务。通过配置好的状态和工作流,帮助各职能人员识别关注自己的任务,避免遗漏延期。

image.png

image.png

缺陷

缺陷由测试人员发起,经过研发的修复,再由测试人员验证关闭。借此闭环来管理研发中或者线上突发的缺陷。

image.png

测试人员创建缺陷后,填写优先级和备注后指派给对应开发,也可以挂接到对应需求上面。

在动态栏中相关人员可以进行便捷的沟通。缺陷修复后标记为已解决并自动指派回测试人员进行验证,验证修复后关闭即可。

知识库

知识库是文档管理中心,可以依托于具体项目,也可以独立项目之外。提供了协同编辑能力,并具备细粒度的权限管理。

image.png

代码托管

Codeup代码托管服务提供了完整的git仓库基本的功能,包括可视化的权限管理,代码合并,分支管理,Webhook等。

此外还提供了代码安全检测功能,比如代码中的明文密码,高风险的依赖包等, 比如这几天爆出来的log4j 2.14的高危漏洞。

报表功能也可以直观的追溯代码的提交评审行为,对于代码质量管理很有帮助。
值得一提的是,在代码库中可以一键开启WebIDE签出代码进行开发。在远程办公,紧急处理问题时很有帮助。

image.png

文件/分享/日程等

项目管理还提供了很多其它模块来促进项目人员间的共享和协作能力。

工作台

工作台中可以方便的追溯自己相关的工作,在日常工作中,每个岗位只需专注于“我执行的”页签内的任务并保证按时完成即可。

任务会根据截止时间和优先级进行分组排序,可以有效的帮助个人优先处理筛选出更加重要紧急的任务。

工作台同时提供了非常便捷的创建个人任务的功能,这类任务不依托于项目,可以很大程度上替代个人日常的TODO list。

"我执行的","我参与的"和"我创建的"页签基本上可以覆盖大部分对自己相关任务的管理场景,避免频繁的到具体项目的任务视图中查询。

image.png

持续交付

云效流水线功能提供了从代码直到部署的流程配置。原生支持与代码仓库Codeup的对接,并且可以方便的配置各种Webhook触发器。

以下是我们软件产品的架构图:

image.png

对于后端应用,配置好Dockerfile后,流水线根据Dockerfile执行构建并且把制品上传到阿里云容器镜像服务产品中。在需要部署时,则把镜像推送给对应的SAE应用执行灰度部署。这些都是在流水线中原生支持的。

对于前端资源,流水线中调用webpack打包脚本生成制品,在需要部署时,推送到OSS服务的对应bucket即可。

以下是流水线的列表页面,可以自定义表头来展示运维人员关心的字段。

image.png

image.png

流水线配置中也有丰富的触发器可以支持手动/代码库行为/流水线联动触发等。

统计

云效提供了丰富的统计功能,可以从各维度汇总数据。无论是内部管理还是对公司高层汇报,都可以方便的导出相关统计。

截止到当前,我们已有十多个应用产品线通过云效进行管理,其中核心应用已产生过万个任务,大部分都可以按时完成。

image.png

给中小企业的建议

现在对于中小企业,基本都不会自己搭建服务器和机房进行部署,而是选择各大云平台,选择一款SaaS项目管理工具可以极大的降低运维成本。

而持续集成,选择一款可以与自己选择的云产品方便对接的平台也是非常重要的,尤其是现今Serverless应用越来越广泛,持续集成平台担负的任务也越来越重,需要谨慎选择。

对于核心功能托管在阿里云产品(如ECS, OSS, NAS, SAE, ADAS等)的企业,云效流水线可以提供原生的对接支持,也会在第一时间适配各云产品的新特性,可以让运维人员专注于对部署流程配置。

项目管理方面,云效提供了易用的项目管理,知识库,统计等功能,可以覆盖大部分的项目管理场景。

最后价格方面,现在云效常用基础功能免费开放,且不对使用人数做限制,对于中小企业节约成本非常友好。


以上内容是以诺行在实施使用云效后的效果,对于中小企业,基本都不会自己搭建服务器和机房进行部署,而是选择各大云平台,选择一款SaaS项目管理工具可以极大的降低运维成本。感谢以诺行CTO 刘自强及团队对云效的信任和肯定,希望云效可以陪伴他们不断进步。

如果你也有故事要分享,请留言联系我们,一起打造10倍效能提升案例集

欢迎大家使用云效,云原生时代新DevOps平台,通过云原生新技术和研发新模式,大幅提升研发效率。现云效公共云基础版不限人数0元使用。

点击下方链接立即体验云效DevOps全家桶!

https://help.aliyun.com/document_detail/153739.html?channel=case

lQLPDhsGzb2HRiHNBDjNB4CwPRTOVsFHvw0B29IABwA0AA_1920_1080.png

相关文章
|
22天前
|
敏捷开发 持续交付 项目管理
敏捷开发下如何选择高效的协同工具?提升研发团队项目管理与沟通效率的建议
本文介绍了6款适用于软件研发团队的协同工具,包括板栗看板、Jira、Trello、Slack、GitLab和Asana,涵盖了任务管理、版本控制、文档协作等方面。每款工具都有其独特的优势和适用场景,如板栗看板适合敏捷开发的小型团队,Jira适用于大型项目的复杂管理,Trello以简洁易用著称,Slack强化团队沟通,GitLab支持CI/CD流程,Asana则擅长跨团队协作。选择合适的工具能有效提升团队效率和项目管理能力。
敏捷开发下如何选择高效的协同工具?提升研发团队项目管理与沟通效率的建议
|
26天前
|
存储 自然语言处理 供应链
跨境电商团队如何高效管理项目?这5款协作工具值得尝试
跨境电商团队面临的全球化供应链、跨文化沟通、时区差异及语言障碍等挑战,可通过选择合适的协作工具来克服。推荐工具包括板栗看板、Trello、Slack、Asana和Zoom,它们分别在任务管理、即时通讯、项目跟踪和视频会议等方面提供强大支持,帮助团队提升效率、确保任务高效执行和顺畅沟通。
跨境电商团队如何高效管理项目?这5款协作工具值得尝试
|
2月前
|
数据可视化 数据挖掘 BI
看板管理在不同规模团队中的优势与挑战
看板管理是一种以工作可视化为核心的任务管理方法,适用于不同规模的团队。本文探讨了看板管理在小团队和大团队中的差异化应用,针对小团队的灵活性和大团队的系统协同特点,提供了具体的优化策略和工具推荐,旨在提升团队协作效率。
35 1
看板管理在不同规模团队中的优势与挑战
|
2月前
|
数据可视化 BI 项目管理
中小型创业团队的协作利器:看板管理如何提升效率
初创团队常因沟通不畅、任务多且信息分散导致效率低下。看板管理通过任务可视化、透明化分工、优化资源分配及实时反馈,有效解决这些问题。
47 5
中小型创业团队的协作利器:看板管理如何提升效率
|
29天前
|
存储 监控 数据可视化
设计行业如何借助协作软件提升团队协作力?
随着设计项目规模和复杂性的增加,设计行业越来越依赖协作软件来提高工作效率、加强团队协作、支持远程办公、实现文件版本控制等,确保项目高效推进。协作软件不仅优化了设计流程,还促进了创意交流和团队创新。
|
3月前
|
敏捷开发 数据挖掘 项目管理
如何让团队高效运转?协同工具在项目管理中的妙用
本文探讨了如何通过协同工具提升团队效率,介绍了团队高效运转的关键因素,包括清晰的目标设定、有效的沟通机制、合理的任务分配、实时的进度跟踪、激励机制与反馈,以及工具的正确选择。文章还推荐了几款实用的办公协同工具,如板栗看板、Jira、Confluence 和 Slack,帮助团队在项目管理中实现高效协作。
56 0
|
4月前
|
运维 前端开发 项目管理
构建高效团队的技术管理心得
本文探讨了在技术管理中如何通过明确角色分工、加强沟通和灵活应对变化,提高团队效率和项目成功率。分享了一些实用的经验和方法,旨在帮助技术管理者打造高效的工作团队。
48 5
|
6月前
|
监控 安全 开发者
项目管理软件:提升研发团队效率的关键
项目管理软件解决软件研发团队的周期长、迭代多、需求跟踪混乱等问题,提供工时评估、甘特图监控、任务管理等功能,增强团队效率和协作。通过集中文档管理,保证信息安全;移动应用确保实时通讯。软件助于绩效考核、项目节点把控,以透明化任务分配减少信息不对称,提升团队合作。
91 9
|
8月前
|
存储 监控 安全
远程协作利器:项目管理软件助力团队高效合作
在后疫情时代,远程办公成为许多项目团队的选择。面对协作挑战,如设定目标、沟通和管理分布式团队,项目经理可借助项目管理软件提升效率。这类软件支持**项目规划**,如使用甘特图制定任务和依赖关系;实现**工时管理**,监控项目进度和预算;并促进**团队协作**,通过集成工具保持沟通和文档同步。例如,Feeds、Forums和Documents功能帮助保持团队同步和知识共享。
57 0
|
敏捷开发 前端开发 项目管理
在YesDev研发协同工具,项目协作 All In One
值得注意的是,YesDev中所定义和提倡的项目,是指在一定时间周期内完成的有限需求、任务和问题的集合,对应敏捷开发中的一次迭代或Scrumn的一个Sprint。