一百人研发团队的难题:研发管理、绩效考核、组织文化和OKR

2023-11-17

640?wx_fmt=png

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

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

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

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

640?wx_fmt=png

研发管理的典型问题

 

640?wx_fmt=png

 1. 难以KPI化和考核 

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

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

  • 解决Bug数

  • SLA

  • 功能完成度

  • 营收捆绑

  • NPS

  • 加班,007就比996牛逼,996就比955更值得奖励

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

 

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

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

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

 

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

 3. 跨部门战争频发 

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

 

  • 业务认为:怎么这么多bug,一个小问题需要花这么久的时间才能修复

  • 研发认为:业务的智商不够用,这么好的产品就是无法准确传达给客户

  • 业务面对客户点头哈腰;而研发觉得客户是业务的客户,不是研发的客户

  • 业务对需求排期是12345;而研发对需求排期往往是54321

  • 业务给客户承诺就像谈恋爱,把星星摘下来也敢接着;研发认为你承诺的,你去写代码实现吧

  • 业务认为研发高工资吹着冷气,自己天天跑在外面晒太阳;研发认为,业务提成那么高,这产品是我做的,我咋没提成呢

这种剪不断、理还乱的关系,是很多公司的普遍现象。因为跨部门的不理解,必然带来团队之间的内耗,信息的折扣和效率低下自然产生。

更重要的影响是跨部门战争造成对客户服务与理解的偏差与推诿,没有任何公司或者团队能在一个不流畅的环境下成就对客户的100%满意度。

640?wx_fmt=png

从研发管理全景图说起

640?wx_fmt=png

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

  • 研发管理的的核心是构建一个开放、自学习、自驱动的组织文化和仪式感这是打造高效研发团队最内核的基础。

  • 左边是工具和方法,主要包括:以OKR驱动的目标管理,基于Scrum的敏捷,和逐步完善的DevOps

  • 右边是制度和规则,核心包含:研发团队的绩效和考核、跨部门合作、其他仪式感驱动的各种规则尤其是构建自学习的环境与分享机制。

 

640?wx_fmt=png

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

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

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

 

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

 

  • 我们熟悉的Facebook从诞生到现在就是不断在驱动【黑客文化】,核心共识是:马上上手、快速搞定和持续迭代,这个Hack Culture从底层文化上驱动了Facebook历经10年,从小团队到超级大公司可以保持不断进取的能力;

  • 亚马逊的文化被定义为始终Day1,始终回到创业的第一天;

  • 至于我们自己的文化就是简单而认真,在团队里不断实现尽可能简单的协作和决策规则,打破层级观念,快速响应和试错,足够开放、足够容错、足够快。

 

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

 1. 特种部队 

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

  • 产品经理

  • 设计师

  • 服务工程师端

  • 前端工程师

  • 测试

  • 其他

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

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

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

640?wx_fmt=png

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

 2. 仪式感 

 

仪式感是团队管理的调味品,也是必需品,就像你吃饭离不开盐一样。研发团队管理者,例如CTO角色的人,需要有意识的在团队中设计有价值的仪式感,来增加团队磨合、默契与调味。

好的仪式感,就像宗教仪式一样,能不断加强团队目标的执行、文化的塑造以及阶段的激励。

 

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

  • OKR阶段同步

  • 把重大版本发布变成研发团队的阶段激励

  • 管理层的固定one one访谈

  • 研发人员的每月访谈,同步到公司月报

  • 花心思的团建

  • 每月的产品考核

  • 师徒制

  • 走出去,参加各种外部的技术大会

  • ......

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

 

 3. 用户体验委员会 

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

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

  • 就用户体验的重大问题充分讨论,产品和研发从不同视角收听意见,销售和客户成功更多代表了来自一线用户的建议。

  • 促进跨部门的彼此理解,很多时候跨部门的战争,来自于互相的不理解和看不起。例如,我们在某次茶会中,就一个很久以来的核心需求做了讨论,销售端原本以为是一个简单的需求,结果讨论下来发现,这个简单需求其实在客户方也有非常不同的理解,完全推翻了产品已经草创的设计方案。反过来,销售同事也完全理解了为何产品方案是如此之难的原因。

  • 指定行动方案,快速驱动产品研发落实改进方案。用户体验委员会不是只讨论,更重要的是驱动行动方案,快速解决用户关心的体验问题。

640?wx_fmt=png

(每次用户体验交流都热火朝天)

 

 4. 技术委员会 

同样,在研发团队,我们通过技术委员会来实现跨研发团队的技术沟通、分享和技术选型。

技术委员会保证了公司始终以科技驱动商业的基础不被稀释,汇聚团队中技术能力最强的圈子更加自驱动的投入技术贡献,主要的工作目标包括:

  • 公司级的技术方案

  • 前沿技术研发小组

  • 研发岗的职级评审,技术委员会承担对技术能力的职级评估

  • 向市场和销售输出技术内容

  • 驱动公司技术进步和学习,例如组织黑客马拉松、技术分享、对外技术输出

 

 5. 研发下乡 

研发下乡就是让研发走向客户,贴近客户需求,了解客户状况,然后回来完善产品以满足客户需求。

Worktile本身是企业服务产品,客户需求在B端是及其复杂而多样的,憋在办公室是无法做出好产品的,所以需要从制度上驱动研发、产品和设计走向客户,而不是待在象牙塔。

 

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

 

 6. Polish Week 

Polish Week是来自硅谷的流行文化,让研发团队在一个紧张迭代之后,不再计划大的功能和需求安排,而是有足够的时间可以【停一下】,然后集中火力解决来自客户的细节需求或者小问题,这种制度设计是非常高效的方法,可以短时间集中兵力解决遗留问题。

 

 7. 技术分享和走出去 

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

640?wx_fmt=png

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

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

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

640?wx_fmt=png

基于OKR和Scrum的研发管理

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

 

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

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

(OKR的基本知识,推荐去Worktile OKR专题页了解:https://help.worktile.com/okr/)

640?wx_fmt=png

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

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

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

640?wx_fmt=png

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

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

  • 产品经理的OKR模板大全:https://worktile.com/blog/okr/okr-template-01-product-and-design

  • 技术和研发的OKR模板大全:https://worktile.com/blog/okr/okr-template-02-dev

 2. OKR + Scrum的方法论 

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

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

640?wx_fmt=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例会,很好的规范了每次会议的核心内容,效率自然非同反响。

640?wx_fmt=png

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

 

 4. 每日站立 

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

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

640?wx_fmt=jpeg

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

 

 5. 落地OKR的各种坑 

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

  • 和绩效考核挂钩

  • 一上来就全员执行

  • 变成目标分解工具

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

640?wx_fmt=png

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

640?wx_fmt=png

谈谈研发绩效

 

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

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

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

 

  • 360度

  • 职级

  • Peer Review

  • 项目制奖惩

  • 分级考核

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

 1. 360度 

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

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

 

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

 

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

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

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

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

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

 

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

640?wx_fmt=png

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

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

 2. 职级驱动 

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

 

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

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

 

640?wx_fmt=png

(职级体系)

 

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

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

 

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

 3. 分级考核 

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

640?wx_fmt=png

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

 

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

 4. 总奖励和总营收挂钩 

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

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

640?wx_fmt=png

工具化

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

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

 

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

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

  • 基于OKR的目标工具


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

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

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

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

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

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

640?wx_fmt=png

 

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

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

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

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

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

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

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

  • 自动目标更新提醒

640?wx_fmt=png

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

 

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

640?wx_fmt=png

总结

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

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

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

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

 

参考阅读:


技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。转载请注明来自高可用架构「ArchNotes」微信公众号及包含以下二维码。


高可用架构

改变互联网的构建方式

640?wx_fmt=jpeg

长按二维码 关注「高可用架构」公众号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一百人研发团队的难题:研发管理、绩效考核、组织文化和OKR 的相关文章

  • 【订阅消息】微信小程序发送服务通知

    前言 由于上次的公众号测试消息推送次数太多被官方认为是推销或者是广告之类的 被微信官方给禁了 然后偶然在一次吃饭的时候扫码点餐下单之后有个弹窗勾选订单完成通知 勾选之后就餐之后就会发送一个服务通知告诉您的订单已完成 其实基于这种消息提醒也是
  • keil5选择ST-Link Debugger时候setting点击不了问题

    分享一个自己用keil5的ST Link Debugger时候遇到的一个问题 就是在我选择用ST Link来进行调试时候 发现setting选择不了 如图所示 弹出来了一个提示我 说无法加载驱动程序 少了一个ST LINKIII KEIL
  • Redis 系列-- SpringBoot中redisTemplate 的操作(一)

    SpringBoot中 集成 redisTemplate 对 Redis 的操作 一 在Java 操作redis 时 有很多工具 redis 官网中 就有很多操作 目前主流开发框架SpringBoot 中 当然也有集成好的操作redis的工
  • 关于浏览器出现ERR_SSL_PROTOCOL_ERROR错误的原因与解决建议

    一 导致ERR SSL PROTOCOL ERROR错误主要有以下几个原因 Invalid System Time 系统时间与网络时间不同步 Firewall blocking the website or IP address Websi
  • 关于yarn安装时报“node“ is incompatible with this module的解决办法

    前提 在用vue写一个h5页面时 当在用yarn安装时 提示如下错误 The engine node is incompatible with this module Expected version 14 18 0 16 14 0 gt
  • Jmeter —— 常用的几种断言方法(基本用法)

    在使用JMeter进行性能测试或者接口自动化测试工作中 经常会用到的一个功能 就是断言 断言相当于检查点 它是用来判断系统返回的响应结果是否正确 以此帮我们判断测试是否通过 本文 主要介绍几种常用的断言 响应断言 JSON断言 BeanSh
  • WPS AI(海外版)使用体验分享

    最近很幸运的通过了WPS AI海外版的内测waitlist 这里和大家分享一下使用的体验和评价 申请与安装 WPS AI分为国内版和海外版两种 其中根据WPS自己的介绍 国内版本的模型由MinMax公司提供 海外版则是直接使用OpenAI的
  • OpenCV检测角点

    harris角点检测算法步骤 1 利用Soble计算出XY方向的梯度值 2 计算出Ix 2 Iy 2 Ix Iy 3 利用高斯函数对Ix 2 Iy 2 Ix Iy进行滤波 4 计算局部特征结果矩阵M的特征值和响应函数C i j Det M
  • Win7下U盘安装Ubuntu14.04双系统步骤详解

    Win7下U盘安装Ubuntu14 04双系统步骤详解 百度经验 http jingyan baidu com article 76a7e409bea83efc3b6e1507 html
  • 数据模型:数字化转型的核心能力

    业界数字化转型已经进入深水区 数据越来越受到大家重视 由于数据中台等等概念的兴起 大家越来越回到数据的根本问题 数据模型 今天不谈论高大上的数据中台 我想回到数据的本源 谈谈接地气的数据模型 大数据产业创新服务媒体 聚焦数据 改变商业 什么
  • Topaz Gigapixel AI 4.1.2 特别版 Mac 图片无损放大软件

    Topaz AI Gigapixel是一款由Topaz Labs公司开发的mac 软件 它使用深度学习技术 可以实现图片无损放大 使低分辨率图片转换成高分辨率 高质量的图片 还能够自动弥补图片损失的细节 增强画质 其实 对于像素图而言 无损
  • 想去谷歌工作?15个面试问题据说难倒天才!

    11月 15 日消息 谷歌公司的面试题在刁钻古怪方面相当出名 科技博客 BusinessInsider 贴出了 15 道谷歌面试题 并一一给出了答案 第一题 多少只高尔夫球才能填满一辆校车 职位 产品经理 解析 通过这道题 谷歌希望测试出求
  • 华为OD机试 - 找到比自己强的人数(Java)

    题目描述 给定数组 2 1 3 2 每组表示师徒关系 第一个元素是第二个元素的老师 数字代表排名 现在找出比自己强的徒弟 输入描述 无 输出描述 无 用例 输入 2 1 3 2 输出 0 1 2 说明 输入 第一行数据 2 1 表示排名第
  • 多益网络2022春笔试题记忆版

    多益网络笔试题 自己做完之后凭记忆整理出来的 填空题 数据结构 数据库 相对没那么难 所以只记了几个 选择题 1 A B C栈的出栈序列可能性有几种 2 关于队列 3 插入数据库表 name char 20 not null age cha
  • 毕业设计- 基于机器视觉的交通标志检测系统

    目录 前言 课题背景和意义 实现技术思路 一 交通标志检测识别理论基础 二 基于单阶段算法的交通标志检测 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量
  • [Intel汇编-NASM]基本语法

    1 NASM编译器介绍 1 Netwide Assembler 是目前唯一开源且免费的汇编器 2 该汇编器只提供编译的功能 但不提供连接的功能 在Linux下编译器产生 o文件后还需要使用ld链接器和操作系统的库链接才能形成可执行文件 而在
  • 男人怎么读 萨瓦迪卡!还是萨瓦迪卡不!

    泰国旅游中问候语 你好 是十分常见的 很早就听闻男同胞说萨瓦迪卡是不正确的 结果百度的结果是这样的 通篇并没有说正确的读音 修改关键词吧终于在知道里面找到想要的 是梵文 sawat 表示祝福 好运 dee表示好 sawatdee 表示 你好
  • 完成该操作所需的数据还不可使用

    原因是没有加下面两个判断条件 if xmlhttp readyState 4 if xmlhttp status 200
  • 【目标检测】从头到尾教你安装MMDetection(超详细版本)

    目录 MMDetection的安装过程 前言 一 本地环境 二 先决条件 1 从官方网站下载并安装Anaconda 2 创建 conda 环境并激活它 3 按照官方说明安装 PyTorch 例如 三 配置PyTorch环境时出现的第一个错误
  • vue引入elementUI部分组件库

    package json中加入 babel plugin component 1 1 1 借助 babel plugin component 我们可以只引入需要的组件 以达到减小项目体积的目的 如果你 只希望引入部分组件 比如 Button

随机推荐

  • AI学习_过拟合的细节,及其解决方法【未完成】

    要标准化 归一化的原因 把数据保留在 1 1之间 防止数值太大 发生梯度弥散 什么时候用标准化 什么时候用归一化 连续数据就用标准化 ps 但0不代表 大小 时 就不能用标准化了 BN的含义 标准化的意义 是统一量纲 BN其实是在nchw中
  • 小皮面板开启apache服务错误(主要是80端口被占用)

    在小皮面板中开启apache时出现这样的报错 98 Address already in use AH00072 make sock could not bind to address 80 98 Address already in us
  • 富士施乐3065扫描教程_富士施乐怎么设置扫描到PC

    展开全部 1 将复印机的IP输入在IE的地址栏里 32313133353236313431303231363533e59b9ee7ad9431333365666232用户名是11111 密码是x admin 进去以后找到协议下的9100项
  • Axure Share ——原型设计工具 Axure ,移动版

    什么是Axure Share Axure Share 是老牌原型设计工具Axure 的移动版 app 支持 iOS iPhone iPad 以及 Android 设备 我们可以使用它来查看和演示通过 Axure 制作的移动 app 原型 A
  • Vuex之理解mutation的用法

    一 什么是mutation 通俗的理解mutations 里面装着一些改变数据方法的集合 这是Veux设计很重要的一点 就是把处理数据逻辑方法全部放在mutations里面 使得数据和视图分离 切记 Vuex中store数据改变的唯一方法就
  • D13 LeetCode 599.两个列表的最小索引和(简单)

    一 题目 二 思路 自己 先遍历两个数组 找出元素值相等的元素同时记录下标和 这时候我想到了要用到map 但是map不允许键值重复 我就一直在纠结怎么不让他更新或者记录相等键的元素值 然后想破了头也没想清楚 最后想着用list来记录 把 下
  • Vue router-view 路由无缝切换动画

    Vue router view 路由无缝切换动画 左滑淡出 右滑淡入 HTML div class wrap div
  • android面试内存管理,Android面试之内存优化

    内存泄漏 用动态存储分配函数动态开辟的空间 在使用完毕后未释放 结果导致一直占据该内存单元 直到程序结束 即所谓的内存泄漏 内存泄漏是造成应用程序OOM 内存溢出 的主要原因之一 怎样避免内存泄漏 1 单例模式引发的内存泄漏 单例模式里的静
  • 华为OD机试 - 连续字母长度(Java)

    题目描述 给定一个字符串 只包含大写字母 求在包含同一字母的子串中 长度第 k 长的子串的长度 相同字母只取最长的那个子串 输入描述 第一行有一个子串 1 lt 长度 lt 100 只包含大写字母 第二行为 k的值 输出描述 输出连续出现次
  • 神经网络训练

    在数码管识别中 识别之前 字符归一化之后的大小是20 20个像素
  • 听说Python多线程和多进程有鸡肋?一起聊聊...

    听说是鸡肋 一直以来 关于Python的多线程和多进程是否是鸡肋的争议一直存在 今晚抽空谈谈我的看法 以下是我的观点 对于多线程 Python 的多线程库 threading 在某些情况下确实是鸡肋的 这是因为 Python 的全局解释器锁
  • CentOS7.X版本下安装MySQL5.7

    记录CentOS7 X版本下安装MySQL5 7数据库 设置rpm下载目录在 opt目录下新建一个目录存放mysql cd opt sudo mkdir mysql 下载MySQL的源 wget http repo mysql com my
  • [CTF/网络安全] 攻防世界 disabled_button 解题详析

    CTF 网络安全 攻防世界 disabled button 解题详析 input标签 姿势 disable属性 总结 题目描述 X老师今天上课讲了前端知识 然后给了大家一个不能按的按钮 小宁惊奇地发现这个按钮按不下去 到底怎么才能按下去呢
  • Centos7.4安装kvm虚拟机(使用virt-manager管理)

    原文链接 https www centos bz 2018 02 centos7 4 E5 AE 89 E8 A3 85kvm E8 99 9A E6 8B 9F E6 9C BA EF BC 88 E4 BD BF E7 94 A8vir
  • 2022年SQL经典面试题总结(带解析)

    一 选择题 1 基础题 1 要求删除商品表中价格大于3000的商品 下列SQL语句正确的是 A DELETE FROM 商品 WHERE 价格 gt 3000 B DELETE FROM 商品 WHERE 价格 gt 3000 C DELE
  • 【空间面板计量专题,举一反三,学通学透】

    重点内容 空间计量概念 空间权重矩阵 空间面板计量全套代码 前言 最近因为要写一篇关于环境规制的论文 需要用到空间计量的方法 于是开始从零学习这个模块的内容 在耗费大量精力以及微薄的财力之后 最终也是在实际操作方面能够得以初窥门径 不过回顾
  • 【模板】树状数组

    文章目录 1 概述 2 原理 3 实现 3 1 lowbit x 3 2 查询前缀和 3 3 单点增加 4 初始化 1 概述 树状数组 Binary Indexed Trees 其基本用途是维护序列的前缀和 对于给定的序列 a a
  • RT-Thread 框架下,GD32F450,串口DMA收发驱动 编写示例

    写在前面的话 RT Thread的软件包 BSP目录下 GD32F450 eval 串口驱动目前 2022 09 05 还不全 只能一个byte一个byte的接收 对于一个搞硬件的熟系MCU运行方式的强迫症来说 如此浪费CPU资源 这能忍
  • Flutter网络请求篇-dio-retrofit

    flutter retrofit plug网址 https pub dev packages retrofit 创建抽象类 RestApi baseUrl http www devio org abstract class Http fac
  • 一百人研发团队的难题:研发管理、绩效考核、组织文化和OKR

    什么是研发团队 简单的说 你熟悉的那帮穿格子衬衫 以程序员为核心组成的团队 就是研发团队 本来 你以为格子男们是很乖很闷骚的那种 管理和协作起来比销售和业务简单很多 而实际情况是 格子男们并不那么容易管理 面向代码世界的复杂度 可能远比面向