发布于 

对提升项目效率的一点思考

在一个软件企业中,项目实施效率非常重要,它关乎企业的竞争力,影响项目交付的速度和质量,关系到企业的盈利能力,甚至决定着企业的生死。

但当项目交付出现问题时,很多时候会粗暴地归结到人的能力上,要么人多了,要么人差了,那是不是两个差的换一个好的就能解决问题呢?

我觉得未必,有问题得找原因,找到原因,才能对症下药。

效率低下的根源在哪里?

在解决问题之前,我们必须先分析出其根源,否则改进措施很可能会事倍功半、南辕北辙。为此,我们需要问自己以下几个关键问题:

1、项目合同金额是否合理? 下面一些情况是不合理的:

  • 新销售为了首次开单,故意压低价格
  • 为了某个战略客户,低价中标占坑
  • 报价时没有考虑到产品研发的成本

金额低,没有钱赚,分不了项目奖金,积极性自然就不高。

2、说开发效率低到底指的是什么? 这一问题往往有多个方面的因素,包括:

  • 研发人员技术能力的不足
  • 流程与制度的不完善
  • 团队沟通与协作的不顺畅
  • 任务分配的不合理
  • 实施方案的不是最优解
  • 员工积极性的不足
  • 工作量评估的误差
  • 频繁的需求变更

3、管理层的决策与执行是否到位? 从部门负责人到项目经理,是否都能以客户价值为导向,并以降低公司成本为目标?

数据驱动的根因分析

有效的分析离不开数据支撑。我们需要从以下几个方面收集数据:

  • 项目的合同金额与投入成本,包括上线前的开发成本及验收前的调整成本
  • 项目成员的具体工作内容
  • 每个项目的盈亏情况
  • 重点成本因素,如差旅、需求反复、特定需求的工作量评估超出预期等

只有掌握了这些数据,才能科学地分析出问题的根源,并制定有针对性的应对措施。

应对措施:流程、资源、工具

1、优化流程与制度

流程和制度是保障项目顺利进行的关键。通过回顾过去的项目,尤其是那些曾暴露出问题的项目,我们可以识别出流程中的薄弱环节,并加以优化。此外,通过与同行分享经验,吸取教训,也能有效提升流和改进现有流程。

严格遵守公司流程,对公司来说可以减少很多低级错误的出现;对个人来说,是一种强有力的后盾,起到保护自己的作用。

2、最佳实践

我们现在做的低代码平台进过这么多年的沉淀,能力变得越来越强,同时功能点也非常多,会导致达到同样一个目的会有很多种不同的路径。如果只是让项目经理或开发独自去完成,就有可能受限于他们的经验。

在长期的项目实践中,会积累了大量的经验和最佳实践。然而,在具体的项目中,由于个体经验的差异,可能导致不同的实现路径。如果缺乏集体讨论和经验分享,就可能错失效率提升的机会。因此,在项目需求调研后,进行一次集中讨论会,以确定最优的实现方案是非常必要的。

3、改进项目管理模式

举个例子:软件开发周期分为很多的步骤,有两个大的步骤是需求调研和代码开发。需求分析师调研完成后,形成需求文档,开发根据文档进行开发。这个过程看着就像是生产线上的两个环节,上下游直间定义好输入输出标准,就可以无缝对接。

按照上面的逻辑,一个部门专门和客户沟通,产出需求文档,一个部门专门做开发,是不是效率就高了呢?还真不一定,特别对于中小软件企业。

1、文档的颗粒度太粗,会导致沟通成本巨大,颗粒度太细,就会增加产出需求文档的时间成本,甚至出现开发等需求的情况。

2、对一些中小软件企业来说,一些不大的项目,项目经理、需求、开发、运维都是一个人就搞定了,分成多个部门后,小型项目也需要涉及到多人,效率是降低的。

所以说,现有的项目管理模式是否最优?是值得思考的一个问题。

4、有效应对需求变更

我一直以为客户不会故意为难我们,之所以我们感觉客户总是在进行变更。一个原因是没有解决用户的痛点问题。

某项目的项目经理每天收集到很多的优化调整,项目经理按客户提出的逐一记录,并加班加点按时处理这些优化,最后却迟迟不能上线,因为客户领导最关注的一个页面没有完成。

以这个例子来说,感觉上有很多的变更,但如果分清主次,把领导最关注的事情完成好,肯定是能顺利上线,至于业务提出的各种优化可能有很多是伪需求,是不需要处理的。

需求变更是项目过程中非常常见。我们需要明确客户的核心需求,避免在次要需求上浪费过多时间和资源。只有解决了用户的关键痛点,才能真正减少不必要的变更,提高项目上线效率。

5、加强团队沟通与协作

1、有的技术人员过于“独立思考”了,其实我认为独立思考和反馈、沟通是不冲突的。

2、团队成员平时都在忙于各个项目,如果团队或公司又没有组织团建活动,成员之间很多都不熟悉,在需要寻求帮助时,第一时间肯定是身边熟悉的人。

对此,有几个建议:

1、项目内部定期讨论会,听取团队成员的反馈和建议,再忙,一周一个小时总是能挤出来的。

2、不同项目之间可以定期分享,每个人在参与项目过程中总有自己的理解和感悟,分享出来对自己是一种锻炼,对其他人肯定也有帮助,再忙,一两个月半天时间总是有的,关键是能持续去做。

3、说服老板,多在工作日组织一些团建活动。

6、工具化

当项目出现事故时,最终归因都是人的原因,是人的能力不行导致。整体效率不高也归因于人的能力。

一种简单的方式就是换人,还有一种方法就是工具化。很多时候,工具比人要稳定和可靠。

1、重复的、有规律可循的操作理论上都能工具化。我们的低代码平台在早期的时候,平台升级或发布应用时,部分操作需要手动执行 SQL。现在开发了专门的运维工具,里面包含应用发布、平台升级等功能,可以提升发布效率,也可以规避一些低级错误。

2、在项目实施过程中应该也有很多的场景可以进行工具化,来提升效率。

结语

人、公司在变、客户也在变,效率的提升我觉得是一个长期持续的事情,需要不断进行思考、发现问题、分析问题、找解决措施、实践。