软件研发是一个复杂而又有趣的过程,它涉及到多个阶段,如需求分析、设计、编码、测试、部署、维护等。在这个过程中,我们需要使用各种工具来帮助我们提高效率、保证质量、协作沟通、解决问题等。工具化是指将一些重复性或者困难的任务封装成可重用的工具,从而简化或者自动化软件研发过程中的某些环节。具体来说就是:
- 使用合适的工具可以帮助我们减少人力投入,节省时间成本,提高工作效率。例如,使用代码生成器可以快速生成基础代码,使用自动化测试工具可以减少手动测试的工作量,使用持续集成和持续交付工具可以实现快速迭代和发布。
- 使用合适的工具可以帮助我们避免人为的错误,提高软件的可靠性和安全性。例如,使用代码规范和代码审查工具可以保证代码的一致性和可读性,使用静态分析和动态分析工具可以检测代码的缺陷和漏洞,使用性能监控和故障排查工具可以优化软件的性能和稳定性。
- 使用合适的工具可以帮助我们实现团队之间的有效协作和沟通,提高软件的可维护性和可扩展性。例如,使用版本控制和代码仓库工具可以管理代码的变更和合并,使用文档生成和文档管理工具可以记录软件的设计和使用说明,使用项目管理和问题跟踪工具可以分配任务和追踪进度。
项目管理软件作为产品开发过程中重要工具,其意义也正在于此。
国内外主流的研发项目管理平台对比
1.产品研发项目管理平台-PingCode
国内软件研发项目榜单评分最高的项目管理软件,比如,它在2021年评为研发管理领域综合评分TOP1,在2022年入选国内年度口碑产品TOP36。知名客户包括:宁德时代、招商银行、中车、清华大学、电银信息等。适用于10-1000人的软件研发项目管理。
PingCode 是一款覆盖软件研发全生命周期的项目管理系统,被广泛用于需求收集、需求管理、需求优先级、产品路线图、项目管理(敏捷/kanban/瀑布)、工时管理、资源管理、测试管理、缺陷追踪、项目文档管理、效能度量等领域。集成了github、gitlab、jinkens、企微、飞书等主流开发工具。
软件优点:
- 产品开箱即用,简单易上手,不需要像 Jira 那样经过好几月的培训以及专业的人员进行配置即可使用;
- 为 25 人以下团队免费提供基础版本,收费版价格仅为某些国外产品30%-40%;
- 国产化,满足信创、麒麟等需求;
- 支持私有部署、定制化以及saas等购买方式;
软件缺点:
- 不支持多语言
- 无法满足软件研发项目以外的项目管理需求
【官方地址】
2.软件开发项目管理系统-Tapd
腾讯云旗下的一款开发过程管理工具。因为它为腾讯的打造,腾讯的研发模式特点特别明显,更适用于腾讯研发模式类似的中小企业。
TAPD敏捷研发全生命周期包括需求、发布计划、迭代、任务、测试计划、测试用例、缺陷、Wiki、故事墙、甘特图、报表、文档、反馈13个核心应用以及支持工时填写和跟踪的工时进度。
软件优点:
- TAPD提供了全面的项目管理功能;
- TAPD的界面简洁明了,易于使用
- TAPD支持敏捷开发、瀑布开发等多种开发模式
软件缺点:
- 由免费工具转向收费产品;
- 无法满足研发全流程的管理需求;
- 售后服务不具备优势;
【官方地址: https://www.tapd.cn/ 】
3.项目协作与目标管理软件-Worktile
公司成立近10年,国内市场占有率最高的项目管理软件之一。知名客户包括:百度、中粮、小米、中国移动、新东方、中国银联等。
在功能上Worktile 是一个工具集合,它具备OKR目标管理、项目管理、项目集管理、项目计划、项目风险、项目成本管理、企业网盘、审批、简报等能力。并且具备强大的自定义能力,能够配置出符合各种项目团队的流程、表单、字段、数据报表,以及具备丰富的模板市场。
软件优点:
- 能够满足单项目以及多项目、复杂项目、项目集等管理需求;
- 开箱即用,上手简单,价格相对便宜;
- 能够很大程度帮助团队节省成本,因为它是一个工具集合能够同时满足项目、OKR、网盘、OA等需求;
- 支持saas、私有部署、定制等购买方案;
- 为10人以下团队提供基础的免费版本
软件缺点:
- 在软件项目管理的专业度上不如 PingCode 等垂直领域的产品;
【官方地址】
4.免费开源项目管理工具-Redmine
Redmine是一个开源的、基于web的项目管理和缺陷跟踪工具。它使用Ruby on Rails框架开发,支持多种数据库和平台。适用对象:定制化开发需求的团队
满足的需求:Redmine的主要功能特点有:多项目支持、灵活的角色权限控制、灵活的问题跟踪系统、甘特图和日历、每个项目的wiki和论坛、时间跟踪、自定义字段、SCM集成(SVN、CVS、Git、Mercurial等)、通过邮件创建问题、多LDAP认证支持、用户自注册支持、多语言支持、多数据库支持等。
软件优点:开源免费的;多语言支持(已经内置了简体中文);支持多种数据库,如MySQL、SQLite、PostgreSQL;功能丰富,如用户角色控制、问题追踪、自动日历和甘特图绘制、Wiki形式的文档撰写和文件管理,还可以集成其他版本管理系统和BUG跟踪系统,例如Git、SVN等等。
软件缺点:
- 成本更高:开源软件虽然可以节约一定的开发成本,但却会带来非常高的开发维护成本。我们曾算过一笔账:购买一个在线项目管理系统的成本是约是15万/年(100人团队);开源项目管理系统二开最少需要一个专门的程序员来开发+长期维护,而一个程序员的薪资至少在20W/年,但二开前期人员投入一定不止1个人。
- 功能有限,系统一直处于“能用”的状态;
- 安全性可能更低:当软件应用程序的源代码公开可用时,其安全性变得更加脆弱。
官方地址: https://www.redmine.org/
5.IT项目追踪管理工具Jira
全球最早的软件研发过程管理工具之一,功能成熟。适用于包括软件开发团队、敏捷团队、运维团队、客服团队等、大型企业或者海外企业,但近些年对国内用户的政策并不友好,特别是停售 Server 版。
Jira 是一款流行的项目管理和敏捷开发工具,它可以满足多种需求,例如:跟踪和管理项目的进度、质量和风险;创建和分配任务、子任务和问题;协调团队的沟通和协作;生成和分享各种报告和图表;集成其他应用和服务,如Git、Confluence、Slack等;
软件优点:
- 针对问题其默认定义了丰富的字段来记录问题的各种信息;包括Issue Type, Issue summary, Issue Description, priority, assignee,reporter, resolutions等等;
- 强大的自定义字段功能,自定义字段自带有22中类型可以选择,而且还可以通过JIRAExtension来支持更多类型。
- 针对每个字段都能进行屏幕,项目,问题类型等配置,可以方便的控制字段应该出现在哪里,而不应该出现哪里。
- 默认定义了工作流的一些状态:new, open, defer, pending, resolved, reopened, closed。默认定义了一个简易的工作流,:open-inprogress-resolved-closed。
- 强大的自定义工作流功能,针对不同的流程节点可以定义不同的权限、字段、后续可供选择的处理方式。
- 丰富的权限管理配置,可以针对项目、用户、用户组、项目角色、操作定义各种组合定义。
软件缺点:
- 国内不支持私有部署版本,只提供saas版本,但国内又不设服务器;
- 购买成本高昂,百人左右团队动辄上百万;
- 新人上手使用成本高,需要长达几个月的培训以及专业的系统配置人员才可使用;
- 国内访问速度慢
官网: https://www.atlassian.com/zh/software/jira
6.DevOps一站式研发效能平台-Gitee
Gitee是一个面向企业和开源社区的代码托管和研发协作平台,它提供了项目管理、代码管理、文档协作、测试管理、持续集成、效能度量等多个模块,支持SaaS、私有化等多种部署方式,帮助企业和开发者有序规划和管理研发过程,提升研发效率和质量。
7.Devops平台-Coding
Coding是一款专为开发者设计的云端协作平台,提供了代码托管、项目管理、代码质量检测、持续集成、持续交付等功能,帮助开发者提高工作效率,实现敏捷开发。腾讯Coding还支持多种编程语言和开发框架,可以与腾讯云、微信小程序、企业微信等产品无缝对接,构建完整的开发生态。
优点:CODING 号称自己的解决方案可助力企业实现代码的统一安全管控,并快速实践敏捷开发与 DevOps。这种方案优点在于:
- 一站式设计,免除多工具维护与采购,有效降本
- 开放生态,支持业务多云部署,适应企业多云管理战略
- 多职能、多角色统一工作流,信息流通畅,沟通高效
- 全量研发管理过程数据,效能度量全面、深度
缺点:在兼顾Devops全链路的同时,导致了很多单点模块其实在能力上无法和市场上顶级的单点工具竞争,但又出于政治正确很少去和这类工具集成。比如说:代码托管方面的能力对比全球最流行的面向开源及私有软件项目的托管平台github、gitlab等有所不足;软件项目管理方面和jira等也有所不足;
8.研发效能平台-思码逸
国内的一款研发效能平台,这是虽然是一个单点工具,但支持灵活组合DevOps工具,从而搭建最适合你的研发平台。思码逸为研发团队提供了研发数据汇总分析的一站式入口,度量指标包括效率、质量及人才三方面,从高管、团队Leader、项目/产品经理、开发者等视角,帮助研发团队各角色成员客观、全面地洞察研发流程及成果。
官网: https://www.merico.cn/
总之,工具化是软件研发过程中不可或缺的一部分,它可以为我们带来很多好处,让我们更专注于创造价值和解决问题。当然,工具化也不是万能的,它需要我们根据实际情况选择合适的工具,并且不断地学习和改进。研发项目管理平台有哪些?