美文网首页项目管理
提升IT产品研发效率的思考

提升IT产品研发效率的思考

作者: 大师兄爱上芭蕉扇 | 来源:发表于2020-04-30 20:43 被阅读0次

    前言

    效率是任何企业经营管理的核心关注点,如何提升效率也是众公司不懈的追求。按工作性质企业可分为生产型与研发型两类,前者存在历史悠远且由于个体的工作产出可计件计量,大部分改进可量化(比如更新流水线可带来多大的产量提升),因而有比较成熟的提升效率措施,KPI考核则是其著名的经验总结,但研发型的企业则在如何提升效率上几乎裹足不前,以软件行业而言,KPI导向的考核是失败的,OKR的方式要做成也很困难,各类提升效率的做法也仅仅是以点盖面,局部适用,没有Get到本质。

    当前提升效率的做法及问题

    我们先看一下主流的一些提升效率做法:

    • 加班:这是用得最多,但最无法提升效率的做法,应该明确的是效率是单位时间的产出,而不是工作时长,所以加班也许对加快进度有那么一点作用,但由于人每天精力最好的也就那么几个小时,所以效率肯定会下降
    • KPI/OKR:这是试图以考核/激励制度的手段改进效率,KPI之于研发是各种水土不服,通过它做得好的项目也乏善可陈,OKR更像是一种正向激励制度,相比KPI改变了目标确立的方式,有很大创新,只是实施难度很大
    • 271考核:有很多不同比例的变种,看似很有用,现状是大部分IT公司都在用,但各项目的效率还是无法提升
    • 敏捷与DevOps:这是我比较认可的流程管理方式,但弊端是对个体素质要求过高,在国内恐不具备普适性,实施中也需要做一定地裁剪
    • 各类奖金:比较常见于年终奖与项目奖,问题在于大部分公司这类奖金好差区分不明显,把差距拉大对公司的开支又将是不小的压力
    • 期权股份:这更多的是留人的做法,对提升效率关系不大
    • 文化教育:企业文化的确可以在一定程度提升效率,但问题是这是一种形而上的东西,要让员工认可很难,很多公司都推狼性文化,但做着做着就是成了没人性文化
    • CMMI/PMO:试图以规范的流程及独立的项目管理机构解决研发核心问题的做法,从项目立项、执行到效果分析覆盖产品的整个生命周期,其目标是:
      1)减少不必要的需求
      2)明确权责划分
      3)规范研发流程。
      但CMMI不适用于新项目,新的项目需要不断试错,不能拿过程去衡量业务提出的需求是否合理,新的项目需要快速响应,明确的权责划分及规范的流程导致不够敏捷,另外CMMI对个体效率提升没有太多作用

    效率提升的关键

    首先明确影响产品研发效率的因素:

    • 流程制度:没有规矩不成方圆,好的制度必定是以减化流程、明确分工但又强调沟通协作为核心构建。对比Scrum为代表敏捷流程与CMMI为代表的传统流程,前者理念先进但很少有公司可以做好,后者比较笨重,但在企业软件研发中有比较大的市场,所以没有绝对优劣的制度,制度的好差都是相对于适用的公司、团队而言
    • 团队士气:研发是能动性很强的工作,工作产出无法量化。产出很大部分是看心情,一个员工心情好时一天可以coding 1000行代码,心情差时可能100行都不到
    • 成员能力:巧妇难为无米之炊,成员的能力是产品研发的先决条件,能力与待遇成正比。任何公司都想用高岗,想组精英团队,但并不都有对应的财力支撑,所以绝大部分公司都是“低岗中用,中岗高用”美其名曰给成员成长机会,当然这没什么毛病

    影响效率的因素还有很多,但这三个是最核心的:成员能力决定某产品公司能不能做,团队士气决定能做得多好多快,流程制度决定公司及产品能走得多远。

    我认为提升效率最好的方案

    在提出我的方案前先思考两个问题:

    1. 当前哪种组织形式效率是有目共睹的?
    2. 为什么总是说缺人?

    第一个问题我的看法是众包及初创公司,第二个问题主要是团队士气不足,众包及初创公司没有大公司的财力,也没有太多的大牛及富足的人员配给,但却能做出让大公司瞠目的产出,靠得就是士气、斗志。要是有团队告诉你“别给我加人了,这些人就够了”那就成了。

    我认为最有效的方案是:系统划小+责任承包+服务规约

    组织架构,整体分三个组

    1.架构设计组,业务、产品、技术架构师组成,负责产品的业务架构及产品模块划分,形成标的及后续的成果验收
    2.任务开发组,技术架构师、开发、测试组成,本组员工待遇分基础工资及项目分红,员工自由组队,参与项目竞标并完成任务
    3.服务支撑组,技术架构师、开发、运维组成,负责两件事件:1)开发维护服务支撑平台,提供中间件、确保各个项目基于统一的服务契约下开发并可彼此协同,2)统一管理线上环境,提供CD流程、测试环境支持

    研发流程说明

    1、[架构设计组]公司商务或内部发起产品计划,业务与产品经理一同设计产品目标及功能,技术架构师将产品功能分块,形成一个个相对独立的微服务
    2、[架构设计组]发布任务标的
    3、[任务开发组]各团队参与任务竞标
    4、[架构设计组]以利益最大化为原则,择优选择团队
    5、[任务开发组]被选中的团队在服务支撑平台的服务契约下,按业务要求完成开发测试
    6、[架构设计组]任务验收及费用结算
    7、[服务支撑组]部署上线

    优势

    系统划小:更清楚地边界定义、最小化的需求反复、尽快速的版本迭代
    责任承包:对员工而言最大化激发员工的积极性,做得越快越好收入越多,对公司而言更短的交付时间更少的成本投入,做到这个何来公司逼员工加班之说
    服务规约:打通各服务,形成有机整体

    方案答疑和外包的区别

    劳务关系上归属公司,统一的团建、培训,稳定的工作地点及人际关系。

    和众包的区别

    责任承包本质上是众包,但由于有架构设计组提纲挈领及服务支撑组保驾护航,所以可以进行规模化产品研发。

    以利益为导向的团队会不会导致人员不稳定

    铁打的营盘,流水的兵,IT行业人员流动本身就很大,只要架构设计组和服务支撑组稳定就不会有太大问题。

    不同团队做不同服务会不会无法集成

    首先,康威定律告诉我们不要惧怕服务及团队地拆分,沟通得越多系统往往越不通用,而团队间沟通越少反而越可能会思考全面,系统的鲁棒性越高,再则架构设计组在拆分时就会明确边界,服务支撑组会提供统一的服务契约、管控环境。

    相关文章

      网友评论

        本文标题:提升IT产品研发效率的思考

        本文链接:https://www.haomeiwen.com/subject/xffowhtx.html