什么是彩票因素? (What is the Lottery Factor?)
The Lottery Factor, more often referred to as the Bus Factor, is a number that represents how many people being no longer available on a project would put that project in jeopardy. It is derived from the concept that if specific people on a project won the lottery and left (or were hit by a bus), those remaining would not have sufficient knowledge to keep the project going. A low Lottery Factor therefore is bad, because people do leave projects for many reasons, and having a project dependent on one or two key people is risky. This concept applies to projects in many industries and disciplines, but my focus here is on Software Engineering.
抽奖因子(通常称为“ 公交因子” )是一个数字,表示有多少人在某个项目上不再可用,将使该项目处于危险之中。 它源于以下概念:如果项目中的特定人员赢得了彩票并离开了(或被公共汽车撞到),剩下的人将没有足够的知识来保持项目的进行。 因此,低彩票系数是不好的,因为人们会出于许多原因退出项目,而依赖一个或两个关键人物的项目却有风险。 这个概念适用于许多行业和学科的项目,但是我在这里的重点是软件工程。
In addition to putting a project at risk due to people leaving, a low Lottery Factor can slow down a project’s development if work on areas can only be done by specific people who may be already busy elsewhere.
如果某个地区的工作只能由可能已经在其他地方忙碌的特定人员来完成,那么除了使项目因人们离开而面临风险之外,较低的彩票因素还会减慢项目的发展。
It is therefore important as a manager, and/or project lead, to ensure that the project has redundancy in the knowledge and skills required to continue. Whether that be to continue building, operating, or maintaining the project. I detailed in a previous article how to build up a good Lottery Factor, but how do you maintain a good Lottery Factor?
因此,作为经理和/或项目负责人,重要的是要确保项目具有继续进行所需的知识和技能的冗余。 无论是继续构建,运行还是维护项目。 我在上一篇文章中详细介绍了如何建立良好的彩票因子,但是如何维护良好的彩票因子呢?
如何保持好因素 (How to Maintain a Good Factor)
Everything needed to build a good Lottery Factor is also needed to maintain it. Those efforts should be continuous as the team evolves, and the projects change. Once a good Lottery Factor has been achieved, it will inevitably dwindle over time. This could be due to attrition or just the team focusing on the newer aspects of a project or new projects entirely. There are, however, a few things you can do as a team to slow the decline of the Lottery Factor.
维持良好的彩票因子也需要一切。 随着团队的发展和项目的改变,这些努力应该是连续的。 一旦达到了良好的彩票因素,它将不可避免地随着时间的流逝而减少。 这可能是由于人员流失,或是团队专注于项目的新方面或整个新项目。 但是,作为团队,您可以做一些事情来减缓彩票因素的下降。
“It is critical for someone who has to deal with live site incidents to have context on what has changed recently.”
“对于必须处理现场事件的人来说,了解最近发生的变化至关重要。”
拉取请求(PR)/代码审查 (Pull Requests (PRs)/Code Reviews)
In order to keep shared knowledge of a project up to date with the ongoing changes to it, having team members participate in reviews of PRs (Pull Requests or Code Reviews) is essential. There are many benefits to having multiple engineers approve code changes before they go into production, the sharing of knowledge is one of them.
为了使项目的最新知识与项目的不断变化保持最新,让团队成员参与PR的审查( 拉取请求或代码审查)至关重要。 让多名工程师在生产之前批准代码更改有许多好处,知识共享就是其中之一。
As well as giving others an opportunity to provide feedback on upcoming changes to a project, PRs give insight into changes occurring to those on-call too. It is critical for someone who has to deal with live site incidents to have context on what has changed recently. Neither the SME (Subject Matter Expert) nor the person on-call really wants to have to have an issue escalated due to a lack of knowledge.
除了给其他人提供机会就项目的即将发生的变化提供反馈外,PR还可以洞察正在召集的人员正在发生的变化。 对于必须处理现场事件的人员来说,了解最近发生的变化至关重要。 SME( 主题专家 )或值班人员都不真正希望由于缺乏知识而不得不将问题升级。
Finally, PRs give team members who may be working on other areas of the project a way to see what changes are happening elsewhere at their leisure. Without the need for them to be included in every meeting or discussion in real time.
最后,PR为可能正在项目其他领域工作的团队成员提供了一种方法,以便在闲暇时查看其他地方正在发生的变化。 无需将它们实时包含在每次会议或讨论中。
“Where PRs help keep the detailed low-level knowledge flowing, collaboration, feedback and review of designs help the higher-level knowledge spread.”
“公关帮助保持详细的底层知识流向的地方,设计的协作,反馈和评审有助于高层知识的传播。”
设计合作 (Collaboration on designs)
Ensuring the design of new features is done in a collaborative way, involving others on the project, helps to share the new bigger-picture knowledge right from the very start. Where PRs help keep the detailed low-level knowledge flowing, collaboration, feedback and review of designs help the higher-level knowledge spread. Accepting and facilitating feedback on designs and plans also encourages buy-in from others on the project, which promotes shared ownership and responsibilities. These aspects help prevent the need to rebuild your Lottery Factor by keeping knowledge across the team fresh as things develop.
确保新功能的设计以协作的方式进行,并让项目中的其他人参与进来,有助于从一开始就分享新的更大的知识。 PR在哪里帮助保持详细的底层知识的流动,协作,反馈和设计审查有助于高层知识的传播。 接受并促进对设计和计划的反馈也可以鼓励其他人对该项目的支持,从而促进共同的所有权和责任感。 这些方面可以使团队中的知识随时随地更新,从而避免了重建彩票因素的需要。
This is applicable not only to system architecture designs, but to any planned item. Whether that be user experience proposals, process changes, business direction changes, or marketing campaigns. Opening these up for broader discussion and feedback before they go into action is a great way to start seeding that new knowledge that will need to be shared eventually. And getting diverse feedback at an earlier stage is of course better than when it’s too late.
这不仅适用于系统体系结构设计,而且适用于任何计划的项目。 无论是用户体验建议,流程更改,业务方向更改还是市场营销活动。 在它们付诸实践之前,为进行更广泛的讨论和反馈而开放,这是一种开始播种最终将需要共享的新知识的好方法。 在早期阶段获得多样化的反馈当然要比为时已晚而更好。
“It is a good idea to have people within an engineering team rotate around a number of areas a team is responsible for.”
“让工程团队中的人员围绕团队负责的多个区域轮换是一个好主意。”
工作区的轮换 (Rotation of work areas)
While having dedicated SMEs remain responsible for specific areas of a project over a longer term does have some benefits, it also increases the risk of them becoming the one person capable of running an area. The dreaded Lottery Factor of one. In order to help alleviate this, it is a good idea to have people within an engineering team rotate around a number of areas a team is responsible for. This rotation shouldn’t be only small, insignificant work, it should give people the opportunity to really invest in an area and deliver something meaningfully. But knowing that the work will be passed on and the knowledge shared once again encourages openness of information and reinforces the need to document.
虽然让专门的中小型企业在较长时期内仍然负责项目的特定领域确实有一些好处,但这也增加了他们成为有能力经营某个领域的人的风险。 可怕的彩票因子之一。 为了帮助减轻这种情况,最好让工程团队中的人员围绕团队负责的多个区域旋转。 这种轮换不应该只是很小的,微不足道的工作,它还应该使人们有机会真正地投资某个领域并有意义地交付某些东西。 但是,知道将继续进行工作并再次共享知识将鼓励信息的公开性,并加强记录的必要性。
There are cases where specialized, and very deep knowledge, is essential, and in order to build this people need to be focused on a specific area for a long time. And that is ok. The aim of having engineers rotate around does not need to apply to every engineer. In fact, having too much churn can make it hard for engineers to ramp up in new areas if those most knowledgeable in an area are focused elsewhere. Having the rotation focused on the more junior engineers actually has many additional benefits. It is a great way for them to gain a wider breadth of experience, and help them figure out where their strengths and passion lay, while also building understanding of the operations of the various areas.
在某些情况下,非常重要的专业知识是必不可少的,而要建立这种知识,人们就必须长期专注于特定领域。 没关系。 让工程师轮换的目的并不一定适用于每个工程师。 实际上,如果某个领域最有知识的人员集中在其他地方,那么过多的流失可能使工程师很难在新的领域上班。 将轮换重点放在初级工程师上实际上有很多其他好处。 这是让他们获得更广泛经验的一种好方法,可以帮助他们弄清自己的优势和激情所在,同时也可以加深对各个领域运作的理解。
In this case, it is acceptable to have the primary source of knowledge in a single person. But, in order to maintain a good Lottery Factor, that knowledge should also be duplicated in fragments across a number of other people. That means in the situation the primary SME leaves, there is not an immediate single replacement, but the knowledge does exist and needs to be combined from a number of the other engineers. In this situation, a decision would need to be made as to whether a single replacement SME collating all the knowledge to become the replacement is the desired outcome. Or whether the new normal should be keeping it spread in fragments and ensuring each fragment is duplicated across multiple people to keep the Lottery Factor up. The right choice here will depend on the state of the project and the plans for its future development.
在这种情况下,一个人拥有主要知识来源是可以接受的。 但是,为了维持良好的彩票因素,该知识也应该在许多其他人中分成碎片重复。 这意味着在主要的SME离开的情况下,没有立即的替代品,但是知识确实存在,需要将其与其他许多工程师结合起来。 在这种情况下,将需要确定单个替代SME整理所有知识以成为替代者是否是期望的结果。 或者,新常态是否应使其分散在各个片段中,并确保每个片段在多个人中重复,以保持彩票因子的成功。 此处正确的选择将取决于项目的状态以及未来的开发计划。
Maintaining a good Lottery Factor, in order to protect your Team and Project, is a continuous exercise. It requires a team that is well balanced across the spectrum of those new to the areas and veterans of them. And it requires growing a culture of knowledge sharing and collaboration across the team. This is a journey the whole team needs to take, not one a manager can just dictate.
为了保护您的团队和项目,保持良好的彩票因素是一项持续的工作。 它需要一支在各个领域和退伍军人中崭新的团队保持均衡的团队。 这就需要在整个团队中发展一种知识共享和协作的文化。 这是整个团队需要走的一段旅程,而不是经理所能决定的。
翻译自: https://towardsdatascience.com/maintaining-a-good-lottery-factor-1eeb2b2f52a6