精华内容
下载资源
问答
  • 研发管理,述职报告 金融行业 的 包括研发流程管理介绍 个人总结等
  • 新项目研发是企业可持续发展的必须途径,但研发活动投入大、期限长、风险高,因此,实施科学有效的研发项目管理十分重要。门径管理流程为企业提供了标准化、系统化的项目管理方法。北京低碳清洁能源研究所运用门径管理...
  • 产品研发管理,电子工业出版,华为的实践,融合各类企业研发管理
  • 产品研发管理系统的实施应用.pdf产品研发管理系统的实施应用.pdfv产品研发管理系统的实施应用.pdf产品研发管理系统的实施应用.pdf
  • 青铜器研发管理软件RDM_IPD+CMMI+Scrum一体化研发管理解决方案, 1、IPD确保方向的正确性,强调市场驱动、投资回报,将市场、财务、竞争、技术有效融合为一体; 2、CMMI强调规范化、精细化管理,将IPD的策略落实为...
  • 我是这么看的:而实际上以工件为代表的工程数据才是研发管理的核心: 核心内容是什么呢?是工件,都有哪些工件呢: 所以研发管理的关键是把各种视角面向工件落地: 工件的本质是一种工程数据,所以研发管理...
  • 研发数字化管理是利用计算机、网络、通信、大数据以及人工智能等技术,将研发管理对象(如:人,事,物,知识)、管理方式和管理活动量化,使得管理数字化、互联互通化、智能化,以实现研发管理目标的管理活动和方法...

    什么是研发数字化管理

            研发数字化管理是利用计算机、网络、通信、大数据以及人工智能等技术,将研发管理对象(如:人,事,物,知识)、管理方式和管理活动量化,使得管理数字化、互联互通化、智能化,以实现研发管理目标的管理活动和方法。

            研发数字化管理是人为管理和技术管理合一的管理方式,管理理论和方式通过数字化手段融入到标准的规范、流程、系统工具中,从而实现管理的科学化和规范化,提高研发管理水平,降低管理成本。

            研发数字化管理的模型如下:

    为什么要数字化管理

            1)我们经常能听到:研发效率低下、质量低下等用定性的词来描述研发能力的情况,但怎么能精准的找到问题;研发管理层也经常会采取一些措施来提高效率或质量,但结果是否提高了,又提高了多少,这个高在哪低在哪怎么评判,是否有科学的依据;当产品投放市场没达到预期效果时,究竟是研发能力的问题还是产品的定位问题,又该怎么评判;如何能有效地提升研发团队交付能力呢?

            大部分研发管理是依据管理者的经验进行管理,然而现在的市场竞争环境与过去相比发生了很多变化,仅仅依据经验做出的判断往往会有很高的风险;随着研发团队规模扩大,管理者没有精力对团队所有信息全面掌握,没有数据支撑,管理者就无法做到精准定位问题,无法做到精细化管理。

            数字化管理可以量化管理研发团队和研发个人的工作过程、工作成果;可以精准分析效率、质量、成本、收益等内容,发现研发行为与工作成果之间的关系以及其中存在的问题;然后根据分析结果来科学地制定改进管理方案,提高研发效能。

            2)研发管理者的管理经验都是在工作过程中通过不断试错和学习所总结的心得,是非常重要的财富。但这些经验大部分是属于个人的,如果不注重经验在公司层面的积累沉淀,管理者一旦离职,这些经验也就流失了,没有数据的企业就像没有昨天、没有历史一样,曾经犯过的错误还会犯,曾经缴纳的“学费”还要继续去缴,所以对经验的数字化管理也很重要。

            3)将研发管理数字化、在线化、智能化能显著提升管理效率质量、降低管理成本。例如:研发数字化管理可以打通前端业务、产品、研发、运营的链条,能使产品研发周期内的信息在相关方之间最大化共享,减少沟通信息传递的时间差,减少人为的信息传递失真,或者某些相关方因信息接受不到导致的无效工作,从而提高整体协同效率及质量;能将大量重复性的劳动通过机器自动化代替执行,提高执行效率、质量与降低人工成本等。数字化管理实施好的企业在效率上能降维式的打击非数字化管理的企业。

    数字化管理和经验管理是互相促进的关系。

            管理经验给数字化管理提供方案依据,数字化管理又可以丰富管理经验,两者相辅相成。

    研发管理可以先通过历史管理经验设定数字化管理方案,然后进行管理实践,在实践过程中分析验证数字化管理方案的优略,实践中总结的经验教训可以作新的管理经验数字化记录下来。经验管理和数字化管理互相促进,形成良性改进循环。

            拿围棋比赛来说,过去人们玩围棋是靠自己日积月累的练习得来的经验,而机器人阿尔法围棋(AlphaGo)是用人类的经验和大数据技术结合,分析沉淀,把所有围棋上可能出现的排列组合,以及对应的处理方案都形成了数据,这样再单靠人的经验跟机器人比赛是无法获胜的。阿尔法围棋就是一个经验与数字化结合的例子。

    实施数字化管理要关注哪些内容

            实施数字化管理要关注哪些内容呢,本文选择4点内容来简单介绍一下。

    1 要进行数字化管理,数据是基础。

            如何收集数据,收集哪些数据,建立怎样的数据体系,如何保证数据的质量和范围,都是要考虑的问题。

            1)数据采集需要统筹管理

    研发管理数据来源于我们日常工作,研发的每个岗位、每个人员都在进行着与研发相关的活动,都掌握着相关资源,拥有这些资源的信息。研发数据的质量是研发数字化管理有效实施的基础。不同的员工会带来不同的结果,所以数据管理不能仅依赖于个人的主动性,需要进行系统化地管理。

            2)研发数据要分类清晰

            梳理产品研发全周期中涉及的人、事、物的相关信息,并进行分类。数据分类清晰,可以促进全面的收集数据,以及合理的存储数据,易于后期数据的分析汇总。

            3)数据采集要与管理标准的建立&推行紧密结合

            为保障源头数据的质量,需要明确什么源头需要什么样的记录,在数据信息字段的采集、数据的格式、数据记录的载体、数据的存储和传输形式等方面形成规范性的要求。所以建立管理的流程、制度、规范等标准非常重要。

            4)数据采集要与管理系统的建立紧密结合

            在提高数据质量方面,将管理制度、流程规范融合到软件系统中,是一种完美的做法。一方面,软件系统严格限制了采集数据的内容、格式,数据存储与传输方式,从而极大程度保证了相关数据的质量;另一方面,员工可以不用再记忆和频繁查阅流程规范文件,就能严格按流程规范来执行,有利于规范的推行。除此之外,通过软件系统来管理研发的日常工作,可以提高工作的效率与质量、降低管理成本。

    2 数字化管理要围绕管理目标来进行,不是为了数字化而数字化

            研发数字化管理,先确定管理的目标,通过目标来引导方向;围绕管理目标制定测量方案(包含测量指标、维度的设定),并制定与推行管理的标准(流程、制度、规范等),围绕目标进行数据采集、数据处理、数据分析、形成报告上报管理层决策或自动化处理等。

    3 要注意培养数据思维

            要进行数字化管理,数据思维很重要。

            “数据思维是根据数据来思考事物的一种思维模式,是一种量化的思维模式,是重视事实、追求真理的思维模式。”——《企业数据化管理变革》

            而与之对应的则是经验思维。经验思维是以经验为依据决断问题的思维形式,是最基础\最一般的思维形式。         ——李祚山等著《心理学》

            经验思维是以往的惯用管理思维,在数字化管理里经验要数字化管理起来,经验思维与数字化思维结合运用。数据化管理涉及到企业的管理变革,企业要想有效地推动数字化管理变革,就需要培养管理者的数据思维,需要在企业中建立数据文化。

    4 数字化管理是一个持续改进的过程

    数字化管理应用到研发管理上,是一个持续改进的过程。数字化管理是一个复杂的体系,是在实践中不断摸索、改进、完善,不是一撮而就的。它需要搭建到一定量级才能对研发管理起到真正作用。所以,它在前期需要在研发管理的呵护和孕育中成长。随着管理标准及系统的完善,数据的量级、指标、维度等增长到一定程度就可以帮助研发的管理。研发数据数字化管理与MASI改进循环无缝结合,可以形成快速迭代的自成长循环。

            由于篇幅原因,本篇内容先介绍这些,关于更多的研发数字化管理内容,大家可以阅读《研发精益数字化管理》。

    展开全文
  • 研发管理论坛

    2015-11-28 23:46:14
    2015--SDCC 大会 研发管理论坛
  • 研发管理心得整理

    千次阅读 2019-02-20 12:34:36
    研发管理心得整理 在现在的公司工作了快5年了。陪伴着公司从创业初期一直走到现在, 公司业务也从0发展到注册用户5000W+、月流水4000万,年流水5个亿。 研发团队从我一个人的单打独斗扩张到现在几个团队。一路走来...

    https://www.toutiao.com/a6658151816229814791/

     

    2019-02-16 11:37:55

    研发管理心得整理

    在现在的公司工作了快5年了。陪伴着公司从创业初期一直走到现在, 公司业务也从0发展到注册用户5000W+、月流水4000万,年流水5个亿。 研发团队从我一个人的单打独斗扩张到现在几个团队。一路走来,从高级研发到架构师,从架构师到项目总监的转型,临时接手大数据组种种的经历。接下来以个人的经验来总结下技术研发团队的管理心得。

    研发管理心得整理

     

    经历几个阶段:

    第一阶段: 对于我们这样一个创业公司来说,刚开始人不多,而且要求产品赶快上线进行第一轮验证,因此以产品灵活、响应快、研发与产品配合度高的情况就体现出来了。但这种模式是以产品快速响应用户需求为导向,对研发质量的不重视也为后来埋下了巨大的隐患。无论是代码规范性、性能的要求都缺乏足够的重视,导致后来很多代码无人能接手,很多技术瓶颈完全无法解决,最终没办法只能重构。

    第二阶段: 是纯粹的直线职能制的流程化开发模式,按产品出需求、研发实现、测试验收的流程化进行的。这种模式的好处是各司其职,每个部门把自己的事做好就行,而且各部门在质量上都有提高,无论是产品的需求完整度,研发的代码和架构质量以及测试对细节的把控都有很大的提高。但也不是没有问题。这种模式对市场和用户的响应程度上就明显慢很多,而且没有人对整体项目的结果负责,产品也缺乏真正的核心功能和亮点。还有一方面是在团队协作上效率极低,相互推诿,相互攻击,不利于团结的情况时有发生,对公司整体团队氛围也影响很大。

    第三阶段: 项目制度的模式,由产品发起需求,进行需求评审确定功能有价值进行研发,评估研发成本后,从各个部门调配研发、设计和测试人员资源。整个项目成员属于一个团队,每个人对自己负责的工作负责。产品做为对整体项目的结果负责,会把好最后的验收关。团队协作上的效率得到提升,大家目标一致,为了最终的项目交付积极努力工作。

    做为研发管理者的总结了如下几点:

    • 技术架构(技术视野)。技术能力仍然是基础,但是要格局更宽阔、视角更全面,既要能关注到未来的技术发展方向和趋势,也对公司的技术储备和路线心中有数,能够进行技术的落地和创新。公司什么阶段该用什么样的技术,哪些新的技术需要引进来,在不同的阶段,引入什么样的技术力量,这些都是技术管理者的职责。
    • 建立公司主营业务中技术框架和实施模式
    • 建立技术体系标准
    • 流程制度(管理能力)。在技术岗上,你的成功就只是决定于你做得有多好;在管理岗上,你的成功决定于别人做得有多好。成为管理者,一定要有这个思维方式的转变,重点是让团队做好,而不是自己亲自动手。而想让团队具备高战斗力是需要很多「道」与「术」的,比如打造团队文化、团队激励是「道」,沟通技巧、考核方式是「术」,而这些如果不想在实践中通过各种挫折来走弯路,那就一定要多学习和了解一些行业大拿的成功经验。
    • 建立高效率的技术团队
    • 建立健全的项目管理体系
    • 建立员工能力发展体系
    • 知识体系
    • 知识库管理体系,技术培训和分享体系
    • 视野&执行(商业嗅觉)。其实这考验的是对于业务和公司战略的理解程度,作为技术管理者一定要明白,技术最终还是要通过业务来产出价值,想要制定技术战略,首先要了解企业战略,了解行业趋势,了解公司在行业中的位置和地位,然后再去考虑技术团队如何支持和配合公司的战略,在这个过程中,优秀的技术管理者要学会跨界,跳出技术人的思维,从产品、市场甚至CEO的视角去思考问题,从而培养自己的战略思考能力。
    • 具备技术前瞻性、战略落地能力

    题外话:

    当我还是个单纯直男癌程序员的时候,觉得做技术应该是最复杂的,时不时想要搞个客户端技术,网络、SQL、架构设计、Java,操作系统, 什么都要懂;Python,Js, shell要学的东西很多;还不断的有新的东西出来,今天 React Native,kotlin ,明天又大数据,后天人工智能,区块链等等。。学无止境呐。

    在看看那些高管和老板们,不参与具体的版本开发,不需要找bug,天天就是开开会,发发邮件,今天跟测试撕逼,明天和产品讨论版本计划,后天和项目经理讨论人力安排,半年来个总结汇报,多轻松啊。

    只有当我做了leader后,有些事我才真正开始明白

    1. 决策者永远比执行者累,要负的责任和要做的事的大小的影响都是完全不同的概念。
    2. 想要招聘个心仪的下属,不知道要花掉多大的力气还有运气才行。
    3. 管理方法是可以学的,但是责任,担当,格局这些内在是需要修炼的!
    4. 下属能力不够,有leader来带;自己能力不够,自己想办法去弥补。
    5. 公司失败了,永远是老板的责任,老板不会说公司失败了是因为招了一堆垃圾员工,因为招什么人的责任也是老板自己来背。这个原则向下同样适用于任何管理职位。
    6. 从来不会因为某个技术问题发愁,让人累的都是人的问题
    7. 很多时候明明已经对全部人交代了,但很多人还是要单独确认,同样的话总是要翻来覆去的说。推出一个新的流程,自己要先试试,然后写清操作规程,接着是普及和推广。然后运行的时候各种低级错误依旧层出不穷。
    展开全文
  • 浅谈软件研发管理体系建设

    万次阅读 多人点赞 2018-12-08 21:40:52
    最近一段时间,我一直在反复思考一个问题:我们的软件研发管理体系应该是怎样的?在不断思考的过程中,逐步有一些粗浅的认识,在此将这些认识记录成文字,并期待能够与更多的伙伴碰撞,进一步完善这种认识,并逐步...

    最近一段时间,我一直在反复思考一个问题:我们的软件研发管理体系应该是怎样的?在不断思考的过程中,逐步有一些粗浅的认识,在此将这些认识记录成文字,并期待能够与更多的伙伴碰撞,进一步完善这种认识,并逐步上升到理论高度,从而有利于指导具体实践。

    1. 对软件研发管理体系的一些概念认知
    1.1. 研发管理是什么
    关于研发管理,百度百科中这样定义:研发管理就是在研发体系结构设计和各种管理理论基础之上,借助信息平台对研发过程中进行的团队建设、流程设计、绩效管理、风险管理、成本管理、项目管理和知识管理等的一系列协调活动。

    也就是说,研发管理首要一点就是要根据公司业务的发展确定相应的研发体系结构,之后按照这种研发体系结构组件一支高水平的研发团队,设计高效合理的研发流程,借助合适的研发信息平台支持研发团队高效工作,以绩效管理调动研发团队的积极性,以风险管理控制研发风险,以成本管理使研发在成本预算范围内完成研发工作,以项目管理确保研发项目的顺利进行,而知识管理使得研发团队的智慧联网和知识沉淀。

    纵观各类软件企业,由于自身所处环境不同,因此其软件研发管理模式也不尽相同,这其中有基于CMMI能力成熟度模型指导下构建的研发管理体系,也有基于IPD集成产品研发框架指导下构建的研发管理体系,当然也有一些目前不少小企业、互联网企业推崇的敏捷研发管理体系。不同的研发管理体系其实都会有相应的交叉部分,最终追求的目标都是能否适合企业的发展,给企业带来市场和财务上的成功。

    1.2. 基于CMMI的研发管理
    CMMI能力成熟度模型相信大家都不陌生,从一级到五级,覆盖了22个过程域,一般能达到CMMI3级别的基本上可以理解为各类流程、过程规则等已经达到一个较好的水平。当然,这里主要是指企业能够确实按照CMMI模型去实践,这种实践其实更适合于以瀑布式开发为主导的项目开发及产品研发模式。然则,实际上,大部分企业尤其是国内企业并不会严格按照这个模型去做,因为如果每一个过程域都不打折扣地执行地话,需要非常标准化的流程和强大的资源支撑,在这个讲究快速响应变化的时代其实是很难做到的,通常这个时候都会进行相应的裁剪,甚至会结合敏捷迭代等方面的模式,从而逐步形成自己公司的研发管理体系。

    1.3. 基于敏捷模式的研发管理
    在这个快鱼吃慢鱼的互联网时代,对用户和环境越来越要求要快速响应。敏捷研发是当前不少互联网企业、中小企业推行的研发管理体系,主要理念就是敏捷迭代、小步快跑,快速改进、拥抱变化,用户参与等等。目前这方面也有不少公司除了有相应的敏捷研发体系之外,还有相应的成熟工具做支撑。例如,腾讯的TAPD敏捷研发平台就是其中的代表。通过对用户故事的层级拆分,实现对需求的有效管控和分解,从而确保持续迭代上线。

    敏捷研发管理在当前我们以业务为导向、项目为主的情况下,要全面实施尚有较大困难,当然并非是完全不能做,主要是当前所处的环境、所面向的业务、项目开发模式、人员结构等可能较难满足敏捷模式推行的需要。

    1.4. 基于IPD的研发管理
    之前有简单了解过IPD产品研发管理体系,我认为其中的核心就是“四四四”模型,四四四代表了四大团队、四个流程、四个支撑体系。

    四大团队建设包括建立集成产品管理团队(IPMT)、建立产品市场团队(PMT)、建立产品开发团队(PDT)、建立技术开发团队(TDT)。

    四大流程建设包括建立产品战略流程、建立需求管理流程、建立产品开发流程、建立技术开发及平台开发流程。

    四个支撑体系建设包括建立项目管理体系、建立质量管理体系、建立绩效管理体系、建立成本管理体系。

    个人感觉,基于IPD的产品研发管理从整体上来看是一个相对重量级的体系,要落地执行往往需要从整个公司层面去整体考虑和推动。

    IPD的理念和敏捷开发理念在本质上是基本一致的,比如以市场需求(用户价值)为核心,将产品开发看成一项投资(商业价值),通过CBB—公共基础模块和跨部门的团队准确、快速、低成本、高质量地推出产品(各评审点的多团队参与和决策、通过各种技术改进提升产品开发效率和降低浪费、持续交付)。

    从理论上来讲,IPD研发管理体系是一个较全面的体系,在当前我们的现状下也可能容易出现水土不服的情形,当然其中有一些好的做法是值得借鉴的。

    2. 什么样的软件研发管理体系适合我们的发展
    从项目及产品的研发角度来看,发展到一定阶段的传统IT企业在研发管理上多数都是基于瀑布型的传统研发模式,由于项目的特点及人员的组织结构等因素,项目开发及产品研发的周期往往较长,较难适应市场快速变化的需要,也较难做到对客户的需求进行快速响应。而大部分的互联网公司及一些大厂,推行了敏捷研发模式,或者是在标准化项目管理和敏捷迭代两者融合上进行了相应的实践。

    那么,针对当前我们所面临的一系列问题,究竟什么样的软件研发管理体系在未来一定时期内适合我们的发展?我们需要重构我们的软件研发管理体系吗?我们有必要重构我们的软件研发管理体系吗?带着这些问题,我想主要思考几个方面的问题。

    2.1. 能否快速适应未来业务的发展变化
    技术是为业务发展而服务的,因此在考虑软件研发管理体系构建时,第一个要考虑的问题就是我们的软件研发管理体系能否快速适应公司未来业务的发展变化。特别是在传统IT业务与互联网新兴业务加速融合的大环境下,信息化能力是越来越多客户的第一选择,因此在业务的快速发展方面需要更加强有力的技术支撑,而这个支撑的背后就是需要我们能够有一套能够快速响应变化、敏捷高效的研发体系,特别是能够有一定的前瞻性并支撑到老业务的快速转型和新业务的拓展。

    2.2. 在业务出现较大波动时能否弹性伸缩
    另外一个问题就是,业务在发展过程中,受大环境等诸多因素的影响,定然很难一直都是呈现直线上升的发展趋势,这当中必然会有波峰波谷,只不过这个波峰波谷是大是小的问题。而我们面临的问题则是,当出现较大的波峰波谷的时候,我们的研发管理体系应该如何适应?特别是在软件业务处于相对低谷时,既能够继续保持对技术研发的持续投入,又能够在应用开发等方面有一定的可伸缩性,从而正确地处理好软件生产效益问题。这里面可能会涉及到中高层次软件人才的相对稳定和低层次软件人才的灵活流动等问题。特别是在我们业务多样化的背景下,不同业务单元的发展会有不同的发展路径,对软件研发能力的诉求也有所不同,那么这里面首先涉及到的一点就是如何有效平衡基础研发能力和行业研发能力。

    对于基础研发能力,个人认为应该是一个软件公司最内在的核心技术能力,往往很多时候基础研发工作很难像做行业应用开发那样立竿见影,但这项工作干得不好往往又容易成为行业研发能力的掣肘,这也是我们当前在人工智能、区块链等新技术潮流背景下总感觉难以发力的原因之一。

    对于行业研发能力,个人认为应该要从两个方面去考虑,一个是产品化的能力,其二才是应用开发能力。应用开发能力很好理解,就是目前我们这么多年以来一直在做的各种类型的项目开发,而这里面大部分的项目开发其实都是偏应用层面的开发。而产品化的能力则是最近一两年以来我们重新关注的一个内容,不过这条路上我们尚开始起步,还有很长的路要走,也还有不少坑要踩。个人认为,产品化的能力能否真正发展起来,其中很重要的一点就是要考虑如何与基础研发能力做充分融合。产品化不等同于应用开发,应用开发更多是定制化的开发,是客户导向的软件开发,通常面向的是一个或少数几个的客户;而产品化则是要综合行业、市场、客户群体、新技术等多方面因素的研发,是市场导向的软件开发,面向的是一个或多个的客户群体,甚至面向的是一个市场或跨界市场。

    2.3. 新技术研发及成果转化能否跟上业务变化
    最近几年,新技术层出不穷,在软件架构的发展方面也非常迅猛,历经了单体架构、垂直架构、SOA架构、微服务架构的演化。从我们公司目前的技术研发实际来看,我们有少量的项目/系统采用了SOA架构,然则大部分的项目/系统仍然采用的是单体架构和垂直架构。单从这一点来看,我们在技术领域的持续跟进及成果转化方面已然有落后趋势,这方面需要我们奋起直追才行。当然,出现如今这种局面固然由众多因素催生而成。比如,已有开发框架前端兼容性的问题最近一两年以来常常被诟病,诚然有它内在的好处,然则最近一两年以来,用户对系统的用户体验要求更高了,不再是单纯地满足于功能实现层面,而是开始追求良好的人机交互和界面展现。因此,这方面势必对新技术的要求更加迫切。最近几年,当不少团队都在往前后端分离走的时候,我们至今的绝大部分软件项目开发仍然停留在前后端分离之前,对不少用户界面展现要求高的软件项目而言,难以快速有效响应变化,同时对一些相对比较成熟的软件产品而言也难以做到接口自动化。

    因此,能否在新技术的研发上抓住正确的方向并加快研发成果转化,为业务的快速变化提供强有力的技术支撑,是一个摆在我们面前急需解决的课题。从当今新技术的发展趋势来看,研发架构方面,我们虽说不能完全抛弃传统的单体/垂直架构,但我们必须要往微服务架构方向迈进,除了与最新技术接轨之外,更重要的是如何进行业务解耦,沉淀行业积累,并反向推动人员组织层次的变革,提升软件生产效率,提高软件质量。

    除此之外,对于人工智能、区块链等新领域,也是需要综合业务应用场景打造适合我们自身发展的技术+业务融合之路。

    2.4. 在标准化和敏捷迭代之间如何平衡
    标准化的软件研发道路固然有不少好处,有严谨的流程、规范的体系、固定的套路,当然更多的则是瀑布开发模式,虽然最近几年也陆续有迭代开发的模式,但更多的是被动式响应,而且这种迭代开发模式基本上是大阶段的划分,在每一个大阶段里面依旧是一个典型的瀑布开发模式,即历经需求分析、交互原型设计、UI设计、Web前端开发、程序开发、系统测试、部署实施等步骤,横跨周期往往较长,一旦发生需求变更,变动的代价过高。

    敏捷开发强调以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

    那么,问题来了,既然标准化项目管理模式下存在太多流水线作业及效率低下等问题,那么我们能够直接转向敏捷迭代模式呢?世界上万事万物都是对立统一的,个人认为不论是标准化项目管理模式还是敏捷迭代项目管理模式都有其擅长的一面。一方面,在现有的以项目为主导的软件开发体系中,标准化模式是我们一直以来的主要做法,也积累了不少经验做法;另一方面,采用敏捷迭代模式对于产品复杂不断有新需求加入等场景是比较适合的。所以这里面更多的是考虑如何更好地平衡标准化项目管理和敏捷迭代两者之间的关系。基本的思路就是结合标准化项目管理和敏捷迭代的优缺点进行适度裁剪,既能提高软件质量和软件开发效率,也能够保留一定的规范性和软件过程文档。例如,针对项目管理,通常是五个过程组:启动、规划、执行、监控、收尾,那么我们其实可以结合实际将规划提前,将监控贯穿于执行过程,这样就势必要求在启动时也要做好项目计划相关工作,在执行过程中抓住关注点并定期监控其执行情况,在收尾阶段做好项目回顾总结。

    不论采用何种模式,我们的根本目标就是达到更低的成本实现更快速、更可靠的交付。近年来比较火热的是DevOps。DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

    因此,我们的软件研发管理体系中是否应该引入DevOps,进而改善公司组织文化、提高员工的参与感、提高交付效率,我想这也是需要重点关注和考虑的。

    2.5. 组织过程资产能否持续积累并盘活
    组织过程资产指一个学习型组织在项目操作过程中所积累的无形资产。组织过程资产的累积程度是衡量一个项目组织管理体系成熟度的重要指标,项目组织在实践中形成自己独特的过程资产,构成组织的核心竞争力。

    组织过程资产主要包括但不限于以下内容:项目组织在项目管理过程中指定的各种规章制度、指导方针、规范标准、操作程序、工作流程、行为准则和工具方法等。项目组织在项目操作过程中所获得的经验和教训,其中既包括已经形成文字的档案,也包括留在团队成员脑子中没有形成文字的思想。项目组织在项目管理过程中形成的所有文档,包括知识资料库、文档模板、标准化的表格、风险清单等。 项目组织在以往的项目操作过程中留下的历史信息。

    经过多年的软件开发,我们做了大大小小形形色色的软件项目和产品,也逐渐积累了一些行业化的软件项目,但总的来看,能够形成规模化效应的软件产品尚较为匮乏,更多的是以定制化开发为主的软件系统,当然也积累了不少项目经验。在这过程中,也积累了不少标准、规范、流程、模板等各类软件过程资源。然而,从目前掌握的情况来看,这些资源是分散的,不够体系化的,还谈不上真正意义上的资产,至少在价值的发挥上还不充分。况且,软件行业这几年的人才流动率明显加快,人员更替的速度以及未能体系化的过程资产积累,加剧了组织过程资产的盘活难度。

    那么,构建一个相对健全的、动态的、能够适应未来业务发展的组织过程资产库就显得尤为重要。这既是软件研发管理体系的一个重要组成部分,也是公司层面应该给予充分重视的。在组织过程资产库构建的过程中,其中很重要的一点就是如何让研发知识与经验成为公司的宝贵财产,这里就要充分考虑研发知识管理。知识管理把“隐形知识显性化”,是一项涉及知识库、过程资产、环境和交流等元素的整合过程,所管理的知识将作为一个团组织中过程资产的重要组成部分。对于软件研发而言,我们需要考虑怎么把业务人员和技术人员脑中的蓝图转化为显性知识。

    3. 构建我们的软件研发管理体系应包含哪些内容
    软件研发管理体系的建设离不开几个关键要素:人员、技术、过程、资源,并在此基础上配以相应的管理手段。进一步来看,要构建适合我们自身发展的软件研发管理体系,需要着重考虑几个能力体系的建设,即:人员组织能力、技术研发能力、过程管理能力和资源建设能力。

    前面也有针对“什么样的软件研发管理体系适合我们的发展”进行了一些相对粗浅的探讨,那么在考虑如何构建适合我们发展的软件研发管理体系之前,我想这里首先要明确一下我们期待构建的软件研发管理体系。我们公司的业务涉及众多行业客户,一直以来主要以定制化项目开发为主,同时也涉及运维服务,而在产品研发等方面则处于起步阶段,且在一段时期内项目、产品、服务将会长期并存,因此,个人认为适合我们的软件研发管理体系应该至少经历三个阶段,包括初期的标准化软件研发管理体系、中期的标准化与敏捷相结合的软件研发管理体系和后期的敏捷化软件研发管理体系。

    基于上述这样的考虑,正常来讲我们当前应该在标准化的软件研发管理体系中要做进一步强化,而考虑到市场的快速变化、技术的日益进步,个人认为我们当前就需要开始考虑标准化的与敏捷相结合的软件研发管理体系。为什么还需要考虑标准化的软件研发管理体系呢?主要是传统的定制化的软件项目开发依旧占据主体,且目前在这方面仍然有非常大的改进提升空间,然而标准化的模式常常是过于强调标准、规范、流程,开发模式过于线性化,因此需要引入敏捷开发模式。所以,我们又需要考虑敏捷的软件研发管理体系,这主要是为了更好地适应市场变化、更快速地响应客户需求,更好地提升软件开发生产效率。

    3.1. 人员组织能力
    关于人员组织能力,个人认为有两个关注点:一是团队的发展,二是个体的发展。这两者是相辅相成、互相融合促进的。综合来看,人员组织能力的建设主要包括设立与公司战略、业务、技术发展相适应的组织架构,并配以构建相对完整可行的岗位体系和对应的人员考核体系,同时在团队建设等方面持续改进与提升。

    关于组织架构,当前的组织架构虽然解决了一些曾经的主要矛盾,但依然存在不少问题,突出的一点就是核心薄弱,即核心技术能力不强,仍旧需要投入大量的人力到各行业的应用开发中,当然这与我们一直以来承接定制化的软件项目开发不无关系。这是当前乃至未来一定时期需要解决的。

    同时,最近几年来的组织架构主要是以职能型组织架构为主,产品线为主导的研发模式尚不成熟,针对项目及产品的团队构建主要是以项目经理来驱动,在项目团队的组成方面固然与互联网的项目团队截然不同。在团队建设方面,需要进一步打通团队之间的壁垒,强化团队的整体协同作战能力。

    在岗位体系方面,特别是对人员的绩效评价方面,需要在已有的岗位体系基础上进一步考虑如何更好地执行落地,确保个人绩效目标与团队绩效目标的一致性和顺利达成。

    3.2. 技术研发能力
    结合我们的实际,我认为在技术研发能力方面要考虑四个方面:一是技术预研,二是技术开发,三是产品开发,四是定制开发。

    关于技术预研,通俗来讲就是:预研=预先+研究。这种预先研究通常来源于几个方面,例如来自外部竞争对手的迫使、来自客户或市场的需求、来自公司高层的决策等。为什么要做技术预研呢?这是扫清前行障碍的过程,这为后续展开总体设计、详细设计指明了方向,也是持续积累公司技术能力、保持与新技术同步而不至于脱离轨道的方式之一。

    关于技术开发,其实这里主要指与基础平台、公共组件、关键技术等方面的技术研发。另外一个方面来理解,技术开发是技术预研的延续,是在技术预研成果经论证的基础上开展的一系列能促进公司发展、业务发展、技术发展而开展的技术研发工作。

    软件产品是指向用户提供的计算机软件、信息系统、套装软件或在提供计算机信息系统集成、应用服务等技术服务时提供的软件,是通用的产品应用于某一行业领域而不是像软件项目一样为某一需求或者单位定制开发。

    软件项目主要为特定企业开发或者部署实施一套专用的系统,在进入项目开发之前需要与用户进行具体的交流和讨论,了解用户心中对于软件预期的样子,后经过招投标,签订合同,实施交付。

    关于产品开发,这方面我们尚处于起步阶段,尚缺乏一套完整可行的产品研发流程及最佳实践,需要摸着石头过河,也需要长期坚持不懈地努力。

    关于定制开发,当前主要是基于客户需求的软件项目定制开发,后续还会包括基于产品衍生出来的定制化开发。前面的这种方式是我们当前最熟悉的模式,主要面临的困境是两个:一是如何实现快速交付,二是如何实现成本可控,从而提升软件项目的利润。

    做项目侧重于在最短的时间内,按照客户的需求开发出操作敏捷,用户体验良好的软件。而做产品则侧重于市场驱动,时间相对充足,但要开发出有竞争力,有自身特色,且受客户欢迎的产品,要求功能响应速度快,操作简单,界面美观。

    技术预研+技术开发是强化内核的内在需要,定制开发是现阶段的生存根本,产品开发则是为未来发展铺路。

    3.3. 过程管理能力
    过程管理能力主要包括项目管理、开发管理、质量管理和配置管理等几个方面,需要一套完整合理的流程贯穿整个过程。

    在项目管理方面,我们需要梳理当前项目管理体系的标准、规范、流程及相关实践,建立以过程为核心、以度量为基础、以人为本的可裁剪、受认可、能执行的信息集成项目管理体系,进一步规范公司的项目管理,提升项目群管理能力。结合项目管理的五大过程组(启动、计划、执行、监控、收尾),并结合敏捷迭代的思想,形成标准化项目管理与敏捷迭代相结合的具有实际指导意义的方法体系,同时将这套方法体系以指南性文件、规范性文件等形式传导到相关人员,确保可落地执行。此外,为加强过程管控、资源共享、工作协同,组建PMO团队,实现对项目群及重大项目的统一管控与决策支持。

    在开发管理方面,一是要落实统一的软件开发规范,包括架构规范、设计规范、UI规范、编码规范、测试规范等。强化设计及开发关键环节的评审,包括对需求、概要设计、详细设计、UI设计等的设计方面的评审,对测试用例等方面的评审,对代码的评审检查(例如利用SonarQube进行代码的自动检查等)及发布评审等。同时通过试点+逐步铺开的方式着力推进CI/CD的落地。

    在质量管理方面,进一步强化项目质量审计,逐步改进软件过程生产效能。而在配置方面,则加强对配置项的识别、配置空间的管理、变更控制等,规范软件开发过程,确保构建正确的系统。正确应用软件配置管理是开发高质量软件所不可缺少的。软件配置管理的过程是软件开发过程中质量管理的精髓。

    综合来讲,在过程管理方面就是要形成一套适用的软件研发管理流程,并配以相应的节点管控,让不同开发角色之间即各司其职又相互融合促进,从而促进软件开发自组织能力的逐步提升,充分调动软件开发人员的主动性和积极性。

    3.4. 资源建设能力
    简单来讲,资源建设是软件研发管理体系中的支撑体系。资源建设主要包括了一系列的制度规范、工具、模板、过程资料及交付物(例如项目文档、源代码等),以及相应的经验、知识沉淀等。一是要适时梳理相应的制度、规程、标准、规范、文档模板等,形成标准化资源库;二是要对不同行业历年来的项目资料及源代码分门别类做好规划和归档管理,形成静态库(归档库)和活跃库,同时做好数据安全管理;三是要对软件研发人员及工作中的一些隐性知识转化为显性知识,并逐步构建软件研发的知识图谱,促进知识经验的持续积累与转化,并通过链条式、网状式等方式实现知识分享与传播,形成经验知识库。

    展开全文
  • 分享一个公司规模近200,研发占一半的创业公司 Worktile 在研发管理方面的玩法,仅供百人左右研发团队参考~ 什么是研发团队,简单的说,就是由你熟悉的那帮穿格子衬衫程序员为核心组成的团队,就是研发团队。本来,...

    什么是研发团队?简单的说,你熟悉的那帮穿格子衬衫,以程序员为核心组成的团队,就是研发团队。

    本来,你以为格子男们是很乖很闷骚的那种,管理和协作起来比销售和业务简单很多,而实际情况是,格子男们并不那么容易管理,面向代码世界的复杂度,可能远比面向财物世界的复杂度还要高。

    作为致力于团队协作的公司,我们研究了很多国内和海外牛逼公司的研发模式和研发管理,例如OKR在谷歌、Facebook的应用,Uber的高效会议制度,阿里的绩效体系,腾讯的产品流程。

    除了在自身团队做了N次不同的试验和反思,我们也想将很多不错的经验分享给用户。要谈清楚方法,就先了解清楚问题,研发管理之所以令人头疼,核心的问题无外乎以下一些方面。

    研发管理的典型问题

    图片 0.png

    1. 难以KPI化和考核

    任正非有句名言:钱分好了,管理的大部分问题就解决了。我对此深表同意,可问题是,怎么能分好钱确实非常考验能力、经验和智力的。研发之难,恰恰难在无法KPI化工作本身,所有那些试图KPI化工程师和码农的做法,最终结果都啼笑皆非、面目可憎、吃力不讨好。

    在我过去经历,还有客户实际的研发管理里,试图KPI化研发工作一直是不同团队努力的尝试,包括和不限于以下方式:

    • 解决Bug数
    • SLA
    • 功能完成度
    • 加班,007就比996牛逼,996就比955更值得奖励
    • 营收捆绑
    • NPS

    这些看起来可以数字化的指标,除了证明研发管理者通过偷懒的方式做绩效考核外,可以说毫无价值,也无法给公司和组织带来正向的激励。

    2. 离代码很近,离用户很远

    另外一个现实且无奈的问题是,工程师和产品经理好像是在象牙塔里做产品和研发,和用户往往离得太远太远。这种问题带来的伤害可能远比其他事情来得更加彻底,但本质上这是研发规则上没有解决好的问题,导致工程师本身并没有任何的目标和动力去贴近用户和客户场景。

    我们常常说要做用户喜欢的产品,但那些反人类智商的产品,往往是产品经理和工程师合谋的结果。如果说研发管理的目标是提高效能,那么首先同步研发团队朝着统一的目标,就是效能管理最重要的第一步。

    因此,以什么样的制度去驱动研发抬起头来看客户场景,是一切研发管理的核心工作之一。

    3. 跨部门战争频发

    因为低头干活,所以往往研发团队的目标和业务团队的目标并不是一致的,研发体系和业务体系的跨部门战争,简直罄竹难书:

    • 业务认为,怎么这么多bug,一个小问题需要花这么久的时间才能修复
    • 而研发认为业务的智商不够用,这么好的产品就是无法准确传达给客户
    • 业务面对客户点头哈腰;而研发觉得客户是业务的客户,不是研发的客户
    • 业务对需求排期是12345;而研发对需求排期往往是54321
    • 业务给客户承诺就像谈恋爱,把星星摘下来也敢接着;
    • 研发认为你承诺的,你去写代码实现吧
    • 业务认为研发高工资吹着冷气,自己天天跑在外面晒太阳;研发认为,业务提成那么高,这产品是我做的,我咋没提成呢

    这种剪不断、理还乱的关系,是很多公司的普遍现象。因为跨部门的不理解,必然带来团队之间的内耗,信息的折扣和效率低下自然产生。而更重要的影响是跨部门战争造成对客户服务与理解的偏差与推诿,没有任何公司或者团队能在一个不流畅的环境下成就对客户的100%满意度。

    那么如何解决以上问题呢?

    从研发管理全景图说起

    下面的研发全景图,是我们团队过去几年逐步形成的研发管理经验,其中主要包括以下内容:

    • 研发管理的的核心是构建一个开放、自学习、自驱动的组织文化和仪式感,这是打造高效研发团队最内核的基础。
    • 左边是工具和方法,主要包括:以OKR驱动的目标管理,基于Scrum的敏捷,和逐步完善的DevOps。
    • 右边是制度和规则,核心包含:研发团队的绩效和考核、跨部门合作、其他仪式感驱动的各种规则,尤其是构建自学习的环境与分享机制。

    图片 1.png

    打造开放与竞合的组织架构和文化

    一个组织要焕发活力、自驱动、使命必达的信念,开放而透明的文化是绩效管理的核武器。总体来说,不管你的方法和制度多么丰富和完善,无论如何也不可能驱动僵化、死板、没有活力的团队产生极其高效的价值。

    所以,我们在谈研发效能的时候,注意力总集中在别人家的团队是符合管理的,而忽略了团队激活的核心首先是塑造超强自由度、透明度和使命感的团队文化。

    从效率这个角度去看,没有透明度的提效都是打折扣的,在一个组织里效率低下的首要原因并不是执行力,而是透明度。需要层层审批和报备的组织,设定层层关卡和信息围墙的团队,效率一定是非常低下的,单点的执行力提升并不改变整个团队的低效基因。

    所以,打造开放与竞合的组织架构和文化,至关重要。

    1. 特种部队

    如何设计研发团队的组织架构,是个大大的思考题。我们团队经历过好几次不同的组织形态,也经常性的将研发团队进行组织调整,简单说,一个研发团队的角色主要是以下几类:

    • 产品经理
    • 设计师
    • 服务端工程师
    • 前端工程师
    • 测试
    • 其他

    以什么样的组织方式调配以上资源,是个非常考验团队管理的事情,例如很多公司会将设计团队作为完全独立的部门,其他团队和项目按需调配设计资源,设计团队就像公司的乙方角色,通过资源调配来匹配执行。

    而另一种形态则是广泛存在于Facebook等互联网公司的方式,设计、产品经理、开发、测试组成短小精悍的特种部队,在研发团队中以小组形态组合,就像一个研发业务的接口一样,有清晰的输入和清晰的输出,有清晰的目标和清晰的边界。

    显然,打起仗来,特种部队方式的小组,从执行到目标都是超级强悍的,也同时能方便研发组织绩效考核的落地与激励。
    image.png

    特种部队的另一个好处是,每个小组的职能和目标是固定的,在产品研发大架构下执行一个精确的目标和单元。但小组成员可以转岗或者调配到其他小组,从而避免了研发人员的枯燥和无挑战的问题。

    2. 仪式感

    仪式感是团队管理的调味品,也是必需品,就像你吃饭离不开盐一样。研发团队管理者,例如CTO角色的人,需要有意识的在团队中设计有价值的仪式感,来增加团队磨合、默契与调味。好的仪式感,就像宗教仪式一样,能不断加强团队目标的执行、文化的塑造以及阶段的激励。

    例如,我们自己团队就有很大仪式性的东西在执行:

    • OKR的阶段同步
    • 把重大版本发布变成研发团队的阶段激励
    • 管理层的固定One One访谈
    • 研发人员的每月访谈,同步到公司月报
    • 花心思的团建
    • 每月的产品考核
    • 师徒制
    • 走出去,参加各种外部的技术大会
    • 。。。

    还有很多其他的仪式和规则,并且以上几乎每个规则都值得拿出来说道说道。

    3. 用户体验委员会

    在Worktile团队,我们建立了组织架构之外的一些虚拟组织,虚拟组织的设计可以很好解决跨部门沟通与信息同步的问题,以用户体验委员会为例,将公司里研发、设计、产品、销售、客户成功的同事组成一个虚拟委员会。

    委员会主席本质上就是这个组织的秘书,通过定期的会议或者讨论,将解决用户体验上的问题作为核心目标来解决。委员会的茶话会,每次都能高效推进很多方面的事情:

    • 就用户体验的重大问题充分讨论,产品和研发从不同视角收听意见,销售和客户成功更多代表了来自一线用户的建议。
    • 促进跨部门的彼此理解,很多时候跨部门的战争,来自于互相的不理解和看不起。例如,我们在某次茶会中,就一个很久以来的核心需求做了讨论,销售端原本以为是一个简单的需求,结果讨论下来发现,这个简单需求其实在客户方也有非常不同的理解,完全推翻了产品已经草创的设计方案。反过来,销售同事也完全理解了为何产品方案是如此之难的原因。
    • 指定行动方案,快速驱动产品研发落实改进方案。用户体验委员会不是只讨论,更重要的是驱动行动方案,快速解决用户关心的体验问题。

    4. 技术委员会

    同样在研发团队,我们通过技术委员会来实现跨研发团队的技术沟通、分享和技术选型。技术委员会保证了公司始终以科技驱动商业的基础不被稀释,汇聚团队中技术能力最强的圈子更加自驱动的投入技术贡献,主要的工作目标包括:

    • 公司级的技术方案
    • 前沿技术研发小组研发岗的职级评审,技术委员会承担对技术能力的职级评估
    • 驱动公司技术进步和学习,例如组织黑客马拉松、技术分享、对外技术输出
    • 向市场和销售输出技术内容研发下乡

    5. 研发下乡

    就是让研发走向客户,贴近客户需求,了解客户状况,然后回来完善产品以满足客户需求。Worktile本身是企业服务产品,客户需求在B端是及其复杂而多样的,憋在办公室是无法做出好产品的,所以需要从制度上驱动研发、产品和设计走向客户,而不是待在象牙塔。

    研发下乡给了每个研发人员固定的指标,需要下乡到客户现场,所以销售和客户成功有了正当的理由要求研发同事完成指标,从另一个方面也加强了研发和业务部门的配合与协作,因为双方有了共同KPI的时候,大家绑在一起去做好一件事的动力就变得很强。

    6. Polish Week

    Polish Week是来自硅谷的流行文化,让研发团队在一个紧张迭代之后,有足够的时间可以休息一下,然后集中火力解决来自客户的需求或者问题,这种制度设计是非常高效的方法,可以短时间集中兵力解决遗留问题。

    7. 技术分享和走出去

    5年下来,我们技术团队每周分享已经正常进行了几百次,研发团队中的每个人都或多或少完成过对于所在部门的技术分享。新人来到团队,可以从过去数百次分享留下来的知识收获非常多的遗留知识。

    image.png

    (在研发体系共享的技术分享池)

    另外一方面,Worktile 的核心客户本来就是研发团队和工程师,市场维度需要研发人员能够不断共享有价值的技术内容,而技术分享机制恰恰提供了驱动工程师内容创作的土壤。

    每次内部分享的内容,其实完全可以继续优化成外部可以传播的内容,通过市场手段实现二次传播,同时也能够将团队中有活力和分享精神的小伙伴,推到前台去技术大会或者公司组织的技术分享大会分享。

    基于OKR和Scrum的研发管理

    源于业务关系,我们在N个不同的客户场景做过测试,就是把团队老大的目标在公司群里做个调研,比较打脸的现实是,99%的情况下老大想的目标和执行层理解的目标不是一回事,而且大部分时候差别都非常大。因此,回到在研发团队或者公司层执行OKR,本质上要解决的核心问题是:上下同欲。

    俗话说,上下同欲者胜。如果目标这件事都没法达成一致,那么一切效能和效率的优化都是无稽之谈。因为你效率越高,但方向不对,可能偏离方向跑的更远,这不是很尴尬的事情么?

    因此,我们可以通过了解OKR来在团队形成一个基本的能力,这就是战略同步和战略沟通,从而实现目标统一这件事。(OKR的基本知识,推荐去Worktile OKR专题页了解)

    图片 6.png

    (OKR是战略同步和战略沟通工具,服务于团队的使命和愿景)

    1.写好O和KR是执行OKR最难的第一步

    在研发团队落地OKR,本身并不是一件特别容易的事情,Worktile 团队经历了将近3年的反复尝试才逐渐找到OKR执行的感觉,而所有难点中,在开始阶段是如何写好你的O(目标)和KR(关键结果)。

    image.png

    (一个典型的研发O和KR定义)

    所以,开始阶段需要不断在形式上保证OKR的执行,这个是非常必要且需要坚持的事情,然后不断打磨每个周期里的O和KR的定义。下面是一些OKR模板大全,看看优秀团队OKR是如何定义的:

    2. OKR + Scrum的方法论

    本文并不能将Scrum展开来讨论,因为这实在是一个大大大的话题,在我们团队实施Scrum有个大图景,其中包括了:敏捷开发、代码托管、持续集成、持续部署和持续发布。

    下面这张图是以最基础的敏捷开发为例,从如何开会、如何定义团队规模、如何角色划分、如何迭代、如何测试,有非常专业且详细的管理细节。

    图片 8.png

    不过,回到落地Scrum,同时又关注OKR的研发团队来说,Scrum + OKR是一个及其有价值的组合工具,我们自己的经验是以以下方式结合的:

    • 部门级OKR驱动 + 部门内敏捷驱动,OKR不到个人层级,但团队中的牛人可以OKR驱动

    • 迭代与OKR周期匹配,Sprint Meeting和OKR Review Meeting结合

    • OKR辅助优化产品Backlog的优先级

    • Scrum Master 参与 OKR Master 目标修正

    我们总体在公司层将OKR执行的单元控制在部门层级,并没有强制个人制定个人的O和KR,所以回到研发团队管理上,部门的大方向和大目标靠OKR保证。而部门内的迭代,Product Backlog和Sprint Backlog则以敏捷的周期和原则执行。

    大方向由OKR保证,并且影响优先级,小迭代和任务计划,基于敏捷的原则执行,简直是完美配搭。

    3. 会议制度

    我们推荐以Sprint Meeting和OKR Review Meeting为核心的复盘和计划会议。

    Worktile研发团队,通常会定期在每周五的上午有一个非常长的同步会议,核心内容是基于Scrum的一个Sprint迭代来复盘进度和异议解决,产品和研发在一起高效沟通当前版本的进度和问题,并快速协商解决方案,指定执行人。

    而另一方面,我们会在例会中共同复盘和更新研发团队的目标树,投影将打出两个页面,一个是迭代的故事板,一个是OKR的目标树。

    对研发团队而言,通过OKR例会和Scrum例会,很好的规范了每次会议的核心内容,效率自然非同反响。

    image.png

    (例行的Scrum会议,同时复盘迭代的进度和OKR目标达成)

    4. 每日站立

    每日15分钟的站立会议,是敏捷型研发团队的必修课。快速交流昨日进展和问题,快速商议解决,然后快速计划今天的工作安排,每天花很小的时间复盘,这才是小步迭代。

    当然,如果对着Worktile的迭代故事板去讨论,就免去了在墙上贴一大堆的标签,感觉很爽很到位。

    image.png

    (每天发生的短小精悍的站立会议)

    5. 落地OKR的各种坑

    执行OKR,一些坑是初次体验的团队常常犯的问题,总结下来主要是以下方面:

    • 和绩效考核挂钩

    • 一上来就全员执行

    • 变成目标分解工具

    • HR负责,而不是团队老大

    image.png

    OKR不是灵丹妙药,更像一个二把刀大夫,你信就能行,你不信就不行。OKR提供了基本的方法论、仪式、流程和规则,能够为团队构建基本的目标同步框架,实际落地需要公司决策层有坚持走下去的决心,尝试一次不行,要再调整然后接着来。我们自己团队从开始接触到今天,OKR的尝试上已经是第三次才逐渐找到感觉。

    谈谈研发绩效

    纵横江湖这么多年,知名的外企,头部的公司,小而美的海外企业,特别官僚的国内公司,包括我们一起共建和共创的客户,我经历和了解的公司至少上百家以上。

    但是讲真,在研发绩效管理上做的好的,凤毛麟角。本身而言,研发的绩效、目标、管理和奖惩,从来都是一件难的事情,不要试图以过于简单的方案来解决。

    我曾见识过一家500人研发团队的公司,为了指标化研发的KPI,将研发工作细分成几千个指标,然后通过几千个指标的动态结果来指导绩效和方向。这种尝试骨骼清奇,但我从过往经验里表达了深深的怀疑。我们所认识的那些牛逼闪闪的公司,没有一家是这样做的,更多的方式还是停留在人类智力可以理解和共识的方式上:

    • 360度

    • 职级

    • Peer Review

    • 项目制奖惩

    • 分级考核

    下面,将我们自己在运行的绩效和奖惩方法,做一些浅尝辄止的分享。

    1. 360度

    我们在研发绩效制度上,主要实行360考核,每半年一个周期,年中考核占30%的权重,年底考核占70%权重。包括了自评、同事、直属上级、HR和老板,考核的核心是以个人对公司影响力作为最重要的标准。

    因此考核前的述职过程对每个人至关重要,因为你需要说清楚我在这个周期里,做了哪些有价值的事情,带来了哪些有意义的结果,存在哪些问题,以后如何避免和解决。

    我们的部门考核,直接由部门总监的360度结果来代替,所以这意味着部门总监的个人考核结果,就是部门整体的结果,会影响部门整体的系数。

    有考核就有奖惩。360考核是决定一个个体和团队一年的奖励或者惩罚,做得好的和做的不好,都由这个结果来评定。

    奖金由结果决定,我们通常会定义公司、部门和个人三级系数,不同的系数代表了不同的含义,然后加权出来的结果代表了你能拿到多少奖励:

    • 公司系数:基本由公司的总体营收和整体目标达成情况有关,决定了公司总奖金池和调薪池的多少。

    • 部门系数:也就是部门总监的个人系数,决定了部门在公司多个部门的排序,以及该部门总的奖励系数。

    • 个人系数:就是个人的考核结果,决定了个人在所在部门的排序,以及个人总的奖励系数。

    这三个因素加权到一起,基本就为每个人和每个部门定义了一年的收成。

    image.png

    360度或许不是最佳的绩效方案,但这是当下普遍执行的规则里最有效的办法和方式。当然,执行360度考核有很多执行的细节,这些是施行过程中很重要的平衡,每个考核结束都要复盘做哪些调整。

    总体而言,奖励和惩罚也没有永远的绝对公平,只有相对的。但是在规则定义上,如何实现按照影响力评价,就能最大程度的保证能者多劳这一基本常识。

    2. 职级驱动

    职级体系是研发型团队最有价值的工具,职级体系是一个职业序列,可以方便的定义一个人对公司影响力的评级和序列,而不是职位序列。所以,对于资深的工程师或者架构师来说,他的职级可以比自己的部门领导高,但职位可以略低。

    职级体系同时定义了薪资范围和期权范围,从而让职级成为一个程序员向上通道的必经之路,原因是职级可能定义他在公司维度下薪资的上限,必须职级提升才能突破某个薪资瓶颈。

    职级的价值在于:它是清晰定义的透明规则,包括薪资范围、期权、附加福利、评级标准。这样的透明标准能够最大程度上调动每个人向上成长的积极性。例如,职级对应的附加福利中,我们会包括你每年可以参加外部培训的额度,这对学习型工程师都是非常好的小福利。

    image.png

    (职级体系)

    职级体系不是一个简单的工具,需要考虑很多细节和适配不同公司的规则,例如如何评级职级,技术委员会对研发岗位每个人的技术能力定义,职级评价的周期,每个职级的要求。

    总体而言,职级是个有效工具,能够好的驱动那些有向上野心的团队成员,以最透明和公平的方式在向上的通道前进。

    多说一句,我们在研发团队是以OKR+ 360度 + 职级体系来建立相对完善的管理体系,而在业务团队,包括销售、客户成功、市场团队,则更加突出KPI的导向性,所以KPI也不是毒药,KPI要善用到合适的地方,以及以合适的方式。

    3. 分级考核

    分级考核是我们在逐步尝试的方案,还没有完全落地,只是一个探讨阶段的东西。实行分级考核的原因是,任何组织和团队,都常识性的遵循2-7-1原则,一定有20%的牛人来长远的带来公司前进,也大概率上有70%的执行层需要靠规则和优秀的角色来影响前进。

    image.png

    所以考核的方式上不能实行统一的规则,否则要么对牛人定了太低的标准,要么对一般能力的人定了太高的标准。

    另一方面,分级考核也能够从规则上驱动70%的小伙伴,有努力向20%提高的动力和标准。当然,我们还在考察和尝试,这里仅仅抛砖引玉。

    4. 总奖励和总营收挂钩

    这一条本来是一个常识性的结论,只是这个时代太多融资了的公司并没有很好的理解奖励的本质,很多时候拿融资的钱奖励,是不道德的。所以,让总营收和总奖励挂钩,是最合理,也最理直气壮的方式。

    这一条在我们的逻辑里,就是由总营收来影响绩效考核的公司级系数,这个系数由核心管理层来定义即可。

    工具化

    工欲善其事必先利其器,这是真理。工具的核心价值,不是仅仅通过工具提高效率,更重要的是,利用工具能够为团队修好水渠

    研发团队本身的管理、绩效、工作流程有很多可以水渠化的事情,所以用一个好的工具能够最有效的帮助研发团队修好水渠,然后达成团队的目标。

    当然,主要推荐的是我们自己在用,并且很有效的自家工具:Worktile。核心原因是对研发团队而言,Worktile能够帮助解决的主要是以下两个方面:

    • 基于敏捷的全流程项目管理

    • 基于OKR的目标工具

    1. 通过Worktile项目管理(Scrum和Kanban)驱动敏捷研发全流程

    目前已经有几十万团队通过Worktile协同工作,其中研发团队占比是最高的,源于我们提供了对敏捷全流程的完整工具链支持,以及更好的产品体验:

    • 支持Scrum和Kanban两种敏捷实践方式

    • 基于敏捷方法论的完整迭代、故事板、需求、任务和缺陷管理

    • 丰富的报表和数据统计,对研发决策管理一目了然

    • 打通研发和业务,更好的跨部门协作支持

    image.png

    落地敏捷,需要能够支撑全流程的简单工具,Worktile为你提供了所需的一切。

    2. 通过Worktile OKR工具落地OKR的执行

    Worktile是国内首家将OKR落地到工具化的产品,为团队执行OKR提供了更好,更方便,更数据化的支持,主要包括:

    • OKR的执行全流程管理,从启动、周期、打分和评审

    • 基于公司、部门和个人分级的O和KR管理

    • 一个基于目标体系的目标树

    • 基于目标执行的自动化运营分析,同统计报表告知团队OKR执行和更新的情况

    • 自动目标更新提醒

    image.png

    (在Worktile以更有效的方式定义OKR)

    OKR是个简单的方法论,工具本身并不复杂,但自动化方式显然好过Excel共享方式带给团队的价值。这些都是Worktile已经修好的水渠,你只需将水引入即可。

    总结

    好了,这是一篇汇聚研发团队,从管人到管事的一些点滴经验,背后投射的是一个百人规模研发团队在过去成长之路上不断迭代的经验和方法。

    每个团队都是独特而与众不同的,所以经验和方法也不一定适合所有,只是希望一些可能的思路,能带给你的团队一些转折和启发。

    程序员群体,也是独特而与众不同的一群可爱的家伙,他们有自命不凡的习惯,也有改天换地的雄心,他们不会循规蹈矩,更不会一直被996束缚手脚,驱动这群难搞的人不是一件容易的事,需要站在开发者的视角去理解他们的工作和乐趣,然后共创出能够执行、能够激励、能够数字化的方案,这是我们Worktile在试图努力的方向,也是我们自己献给自己工程师们的礼物。

    欢迎你贡献你们团队的经验,私信我,或者留言,咱们看看还有什么更好的办法,解放天下程序员。

    Worktile官网: https://worktile.com/

    本文作者:Worktile CEO Anytao
    文章首发于「Worktile官方博客」,转载请注明来源。

    展开全文
  • 一、产品研发面对的典型问题 二、产品研发需要系统性的解决方案 三、如何建立基于IPD的高效研发管理体系 产品战略及规划 业务决策评审 研发组织平台 产品研发流程体系 研发人力资源管理体系
  • 研发管理能力提升概述

    千次阅读 2020-12-27 17:05:02
    研发管理能力提升 研发过程规范性提升 版本、制品统一管理 明确的分支模型及合并策略 变更过程规范化 研发环境,服务器配置标准化 质量管控加强 测试左移,质量内建 单元测试覆盖率提升 自动化测试覆盖率提升 完善...
  • 项目研发管理流程

    千次阅读 2020-02-25 09:48:43
    之前公司我除了带架构和业务研发团队,PMO也在我这边管理,对于200多人的研发团队,下面介绍下整个研发管理流程,瀑布式开发模式,虽然比较慢,不过很稳,适合传统企业。 1、立项阶段 发起人提出需求(公司...
  • 本公司最新的软件公司软件项目研发管理制度。
  • 研发管理 - 流程篇

    千次阅读 多人点赞 2018-12-18 17:51:29
    研发管理(管理篇) 标签(空格分隔): 项目管理 ##情况介绍 2011年至2014年主要致力于国内某个大型企业的财务公司的内部资金结算系统,由于系统主要业务是对公、对私、代理资金划转交易,交易金额少则几万多则亿...
  • 瑞泽思软件发布研发管理软件之研发流程管理需具备的基本功能,eIPD研发管理平台所创建的流程管理涵盖企业研发管理过程中涉及到的各种流程,可以规范产品开发全过程管理,实现产品开发输入(需求管理)、产品开发过程...
  • 再谈软件研发管理体系建设

    千次阅读 热门讨论 2019-09-24 08:10:31
    在前面的文章中,我曾和大家分享了软件研发管理体系建设的一些见解,其中涉及对软件研发管理体系的一些概念认知、什么样的软件研发管理体系适合我们的发展以及构建我们的软件研发管理体系应包含哪些内容。...
  • 研发管理流程(一)

    千次阅读 2019-08-19 15:11:53
    目前的研发管理流程,分为4部分: step1:是否跟进项目 step2:是否参加项目招投标 step3:是否签订合同 step4:确定项目验收及回款 Step1 描述:是否跟进项目,组建项目团队,一般是销售+方案+项目经理。 ...
  • 整理的研发项目管理RDPM思维导图,将各个章节,框架组织成思维导图,方便理解,记忆
  • 二、项目和项目管理的概念  三、项目组建 四、项目计划制定 五、项目计划控制 六、市场意识 七、知识产权 八、质量控制 九、成本意识 十、主要流程简介 十一、项目人力资源管理 十二、项目管理知识
  • 《数字化研发管理训练营》,源自20+数字化管理实施案例,153家企业实地调研,三大核心方法论 规避数字化转型四大常见雷区 l   成本高,要做太多无用功 l   学的慢,指标又多又复杂 l  ...
  • 研发管理工具推荐

    千次阅读 2018-07-09 12:58:44
    我来介绍一下我所找到的,好用的敏捷工具:国内的「Leangoo(中文名:领歌)」Leangoo是一款基于看板的项目协作工具,Leangoo是由国内最权威的Scrum中文网精心打造,融入了先进的敏捷管理思想。我们可以使...
  • 产品研发管理流程

    2012-01-19 14:18:02
    产品研发管理流程 威科姆公司 PPT课件 七个阶段: 立项 项目计划 需求开发 设计&实现 测试 发布 结项 三类过程: 管理过程 研发过程 支持过程
  • 我是13年从某大学本科毕业,参加第一份工作是测试,后来转研发,再后来做研发经理、主管,目前担任一科技公司的CTO岗位,管理51人的技术团队,团队分为后端开发部、前端开发部(APP、页面开发),运维部,测试部。...
  • 如何管理好一个研发管理团队

    万次阅读 2017-02-10 10:53:01
    如何管理好一个研发管理团队  很多管理人员都存在一个错误的认识,认为团队建设中,平常只要抓技术建设就行了,特别是研发部门团队,比如抓团队用什么架构,框架,具体的技术,抓培训,抓绩效就足够了,很多时候,我们可以...
  • 软件研发项目管理制度编写结合公司软件研发近期的实际情况,综合考虑现有人员和近期内计划的人员配置,以达到 更明确、更具体、更高的执行力为目标,此管理制度需要在具体的软件研发过程中,所有参与人员共同遵守、...
  • 研发管理总结

    千次阅读 2016-04-20 17:14:55
    我的研发管理之路已有两年,在此总结一下经验得失   1 团队文化 我觉得团队建设一般由几个过程:茫然混乱,强制规则,自觉习惯,主动创造。 茫然混乱阶段,靠工程师自我素质,道德束缚,靠个人英雄完成任务,走...
  • 《产品研发管理》的作者是周辉,是全面研发管理的一本佳作,本人拜读多次,每次都有新的收获。为了使瞬间的感悟得以保留,特记录笔记备查。 这本书非常好的一点,是在每一章开头都会有【本章精华】的提炼,短短的几...
  • 武汉新英赛研发管理 第一节 软件研发岗位职责 一软件研发部经理岗位职责 软件研发部经理在总经理或主管副总领导下全方面负责软件研发部日常管理组织开展软件研发和测试工作完成企业研发目标和经营目标其具体职责如表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 294,807
精华内容 117,922
关键字:

研发管理