你知道,现在创业公司在用什么开发方式吗?敏捷啊,还要想吗?谁不知道《精益创业》,谁不知道最小化验证,快速反馈,持续改进。那为什么从敏捷就能从瀑布模式、CMMI、IPD等众多开发方式、价值观里面脱颖而出了呢?
历史选择了敏捷
可能很多年轻的互联网人都没有经历过瀑布式开发。整体采用瀑布式开发,可能大家没经历过,但是局部肯定有。一个需求,从用户故事,到需求说明书,到评审,到工作分解结构,到UI设计,到开发,到测试,然后上线。这可以看做瀑布模式吗?其实是可以的,主线上都是顺序模式。你可能觉得,这种模式太low,但是你要知道早期那些代码英雄,他们开发的时候可能连流程都没有,成功与否,只能自己。从瀑布模式到敏捷,最本质区别是,成功定义变了。在瀑布模式时期,市面上软件太少了,只要能把软件做出来就算成功了。那怎么能把软件做出来呢?这个时候,大家发现采用瀑布模式可以增加成功的可能性。采用一段时间瀑布模式之后,聪明的工程师又在想,怎么评价当前的流程、怎么改进?这个时候,是CMMI登场的时候了,成熟度越高,越有可能把软件做出来。CMMI普及之后,大家都能把软件做出来,但是另一个问题来了,得解决用户问题才能让用户买单。举个IBM的例子,IBM发展过程,做了很多前沿的研究,不同部门之间还有重复造轮子的情况,产品研发没有回报,重复造轮子导致研发浪费,这些问题导致IBM利润下滑,企业经营遇到了危机。这个时候,IBM引入了IPD,IPD最核心的是:结构化流程,研发是投资行为,模块化开发和重用。IPD时期衡量成功的标志就是:责任明确,成本低地开发可赚钱的产品。可以看到,直到IPD,还是厂商认为用户有什么样的需求和痛点,然后做产品去满足,去解决。典型没把用户当做上帝看啊,你说上帝会答应吗?得改,这时候敏捷登场了。敏捷是怎么衡量成功的,快速地做出满足用户需求的产品。跟IPD普及时比有没变化?变化太大了,市场环境变了,从计划经济到市场经济,计划经济时期产品很少,资本是最核心生产资料,开个厂就能赚钱;市场经济就是产品过剩,得屌丝者才能得天下。市场变化太快了,用户需求也在快速变化,不能再等企业做出一个完美的产品了。用户得全程提意见、提需求,尽早得到派得上用场的产品。敏捷的价值观,更好符合了这一个市场需求,所以历史选择它了。
敏捷注定要产生自组织
从上述的研发方法变迁,可以看到,产品研发最开始以企业为主,把产品做出来就算成功,这个时候普遍采用开发方法是瀑布模式。然后变成能稳定成熟地把产品做出来就算成功,这是CMMI普及的黄金时代。接着经济、快速地做出用户愿意买单的产品就算成功,这是IPD时代。接着,快速响应用户需求,尽早把产品送到用户手上,等待用户反馈,这是敏捷的时代。一条清晰的脉络就出来了:创新的主体,最先是企业,然后一直下沉到一线连队。为啥是一线连队,因为它可以减少信息传递中衰减,并且最接近用户。敏捷的特点是:协作与反馈。一线连队通过连队内部协作、公司内协作和与用户协作,团队内反馈、公司内反馈和用户反馈,实现用户需求进而产生价值。那么要求一线连队需要有,决策能力,执行能力,质量内建能力。拥有这么多能力特点的一线团队就是一个自组织。
自组织决定了需要赋能
自组织是一个运行单元、一个生产单元、一个决策单元、一个最基本创新单元、一个最基本解决问题的单元。从使命来看,自组织应当有一个公司应有的能力,但是自组织受限团队规模不能五脏俱全,但是又必须要能力,所以必须要赋能。从自组织来看,企业应当制定一个框架,让团队在运行尽量少受干扰地运行。
需要赋哪些能?
第一,技术赋能。通过技术赋能,提高公司整体的信息化和数据化水平,信息流动是协同的基础,信息化是数据的来源。数据是数据分析的基本条件,数据分析是持续改进的基石;通过技术赋能,让相关岗位掌握产品技术知识,提高相关岗位的判断能力,提高相关岗位效率。技术流动全面产生价值。
第二,产品知识赋能。你们公司知道产品的功能吗?知道公司的发展规划吗?知道产品定位吗?这些是不是都只在产品经理的头脑里?或者在产品说明书上呢?不流动,产生价值吗?能产生企业向心力。
第三、工具化赋能。使用工具,是提高协作和反馈水平的必要手段。在企业中,工作的内容,都是事务形式,每个工作都有一定的流程。所以,同步工作流程、工作分解结构、工作进度都可以用teambition等类似电子看板工具来完成。文件共享可以用Google 硬盘等。文档共享和协作修改,可以用石墨文档。即时通讯工具可以用钉钉。知识沉淀,可以用wiki。缺陷管理,可以用禅道。其它没有信息化的,可尽量采用开源,有条件可以让技术部门开发(技术赋能的一种形式)。现在基于微信的小程序,其实可以做很多工具。
第四、组织模式赋能。比较典型的是职能型组织和产品型组织。形态怎么样不重要,重要的是这个组织的运作模式。这个组织必须有完全的招聘能力、必须有流程管理能力、必须有人才培养能力、必须有知识分享能力、必须有企业文化传递能力、必须有质量内建的能力。小团队更容易有归属感,比如你大学里面同一个班级和同一个宿舍的,熟悉程度不一样吧?
第五、招聘赋能。简单描述就是,把HR技能赋予小组长,小组长能够准确描述岗位需求。小组长要能够建立人力模型。小组长需要知道行业现状、未来发展方向、公司定位等。小组长需要能有人才来源。
第六、绩效考核赋能。很少有公司,能在事业部中的某个小单元自己制定考核指标的吧?比如说,在自组织的功能小组中,每一项工作都有时间估算,如果组员不愿意估算时间怎么办?如果小组长承担了太多管理职能,那么他的工作就不容聚焦,这时候如果有考核指标设置权限,可以帮助小组长减轻工作压力。
第七、优秀实践赋能。目前关于研发的优秀实践有:限制在制品、结构化需求管理、建立稳定的发版节奏、持续集成、代码review等。自组织的一些优秀实践:师徒模式、组内技术分享、小组及小组长制、自下而上时间估算模式—小组长负责组织估算及估算工作的落实、小组长负责组内的工作分解结构、模块owner制度—owner负责本模块的知识传承。
第八、知识管理赋能。建立知识产生机制,建立知识传播社区,建立知识分享氛围,知识从公司内外输出,解决问题及产生品牌价值。
第九、中心化赋能。对于一些技能,中心化更能发挥效率。统一的持续集成平台、统一的培训体系规划、统一的结构化招聘体系规划。人才密度维护制度,通过薪资、企业文化、行业趋势及公司发展形势、激励制度等设计,去最大化人才密度。
谁来负责赋能工作?
现在是移动互联网时代,信息传播速度是互联网的核心。公司内部也是如此,首要目标也是提高信息流动水平和沟通水平。所以,组织赋能的部门需要有跨部门属性和技术属性,而且既然是任务组织和赋能,那么这个部门就应该具有服务属性。项目管理部是一个跨部门管理组织,与公司的整个运作流程上的每个环节打交道,天生适合收集和推广优秀实践、收集信息、推广技术赋能。所以,如果你们公司还没有项目管理部,首先要设立项目管理部,用于组织赋能工作。如果已经存在项目管理部,那么项目管理部从管理角色转变为服务角色。传统的项目管理部成员是项目经理,但是在赋能部门中,成员需要有强技术属性,所以项目经理需要有技术经验。
怎么赋能?
首先确定组织赋能的部门。在上文中,提倡建立项目管理部,由项目管理部负责赋能工作。
然后提高公司的沟通和协作水平。这一时期,建立使用开源或者免费的软件。这项工作不是独立的,伴随着流程化进行的。在这里重点推荐电子看板,在电子看板上很容易展现流程和进度。使用电子看板后,我相信周报和日报这种落后手段就不需要了。
然后提高数据化和信息化水平。信息化和数据化水平低的公司,往往伴随着腐败和政治山头林立。提高信息化和数据化水平,有利于衡量赋能效果,快速反映公司的状态。
然后进入持续改进阶段。这个时候项目管理部负责发现优秀实践,推广优秀实践的工作。改进目标,都是在引入优秀实践的时候提出来的。
展望
因为中国市场体量大,所以创新速度快,企业发展也快。一些公司从几个发展到几千人,可能也就1-2年的时间。从初创到上市,从创立到成为独角兽,可能也就是几年时间。可以说,世界上没有一个国家经历过这么一个阶段,也没有一个国家有过这种企业管理经验。所以,这是一个探索过程,改进不应该是一蹴而就的、一劳永逸的,他应该是迭代式发展的,持续不断改进的。相信赋能是接下来一段时间最优秀的实践。