软件团队降本增效-团队项目技术的匹配

在软件开发中,有许多开发语言、框架和工具可供选择,每一种都有其适用的场景和优势。原则上,在满足开发要求的情况下,尽量选择简单的技术。

  • 无代码能解决的用无代码技术。
  • 低代码能解决的用低代码技术。
  • 用快速开发框架能解决的用快速开发框架。
  • 能单体程序解决问题的,绝不用微服务。
  • 能用简单的开发语言,绝不用复杂的开发语言。

简单项目的策略

简单项目一般开发成本在一人月以内,对性能或使用体验上要求不高。

简单项目一般会选择低代码之类的技术框架,在团队组建上,要以低端研发人员为主。中高端研发人员,会因为项目没有挑战性,缺少成长空间,流动率会非常的高。在使用低代码之类的技术,通常意味着在通用需求上表现很好,在个性化需求上非常难以实现。如果在软件的整个生命周期中,修改频率高,有很多个性化需求的时候,要谨慎使用这类技术。

小型项目的策略

小型项目一般开发成本在十人月以内,对性能要求不高。

小型项目,需要兼顾开发成本和维护成本。可以使用主流的开发语言和开发框架,需要使用一些工具来辅助检查代码质量和方便代码调整和重构。能使用单体程序,尽量不要使用微服务。单体程序在调试,部署,运维上都要简单很多。而且目前有不少基础设施(比如数据库,文件存储等)本身就是分布式,在数据量和性能有很高的指标。在人员配置上,一个资深研发带几个中级开发即可。

中大型项目的策略

中大型项目,需要特别注意维护成本的高低。在技术,架构,系统抽象上出现问题都会造成后期成本大幅度提高。

中大型项目在设计阶段,需要核心人员参与,在数据抽象,架构体系,数据库设计,接口设计等方面都要仔细评审。同时还要在产品,项目,代码能多个方便控制风险,控制需求膨胀或代码快速腐坏的情况出现。在人员配置上,需要保证一定的互补性,防止人员流动造成的团队知识流失。需要更多的辅助设施,保证项目的健康,比如代码评审,自动化测试,代码覆盖率,精细化linter配置,发布流程等配合。

在一些关键性能点上,可以考虑使用 c/c++.rust等语言的混合使用,但是尽量克制,除非莫不得已的情况下。

在团队项目和技术体系上,切勿杀鸡用牛刀,在满足客户需求的前提下,综合考虑开发和维护成本,选择尽可能简单的技术方案。

你可能感兴趣的:(研发团队降本增效,团队开发,个人开发)