近年来,越来越多的组织(通常是非技术公司)密切关注开源。尽管他们可能无法在其产品和服务中最大限度地利用开源,但他们有兴趣将开源原则引入其组织内部。这种“内源”概念可以提供许多组织优势。
作为一名顾问,我帮助公司建立内部和外部社区,我发现组织面临的主要挑战是如何实施内源计划、有效部署资源并促进计划的增长。
为了帮助您入门,我提出了一个高级模型,展示了如何构建一致、可预测和可持续的内源计划。采用此模型,根据您的喜好进行调整,并在您的组织中建立一个蓬勃发展的社区。
理解
从根本上说,内源是公司的一种文化变革。尽管许多人认为这是一个传统的软件工程工作流程挑战,但您需要专注于构建异步、宽松、任人唯贤和协作的环境。当然,这包括开发工作流程,但不限于此。
文化变革的挑战在于,文化是由想法、观点、习惯、恐惧、梦想、价值观等等组成的无定形集合。在将内源集成到公司之前,您必须了解现有文化中的驱动因素,然后在推出内源计划时确保考虑到这些因素。
1. 理解流程和协作
人们如何协同工作的核心是协作基础设施和流程。这些包括代码托管、同行评审、持续集成、自动化测试、文档创建、知识库、激励计划等等。您应该了解所有这些细节、它们如何组合在一起,以及在这些部分更广泛的执行以及员工使用它们的体验方面的不足之处。
我建议按团队划分组织,然后整理一份地图,标明:
- 每个团队消费什么
- 每个团队生产什么
- 每个团队如何工作
- 他们如何与其他团队交互
- 当前系统的优势和劣势
2. 理解人和驱动因素
除了完成工作的协作要素之外,了解相关人员也同样重要。一家公司汇集了众多人员、个性和观点。您需要了解他们、他们的目标、他们的恐惧以及他们的议程。文化变革必须注意其运作环境的现实。您不能通过向人们发号施令来构建内源计划——您需要构建人们想要使用的东西,并鼓励您希望看到的行为。
我建议构建您自己的组织结构图,显示:
- 影响力的分解(关键利益相关者和决策者),
- 人们在哪里交付工作(团队和主要员工),以及
- 每个人的个人议程和目标(阻止能量、争取某些结果的人、内在和外在奖励动机等)。
计划
在充分了解当前环境的基础上,您就可以构建实现平稳、高效、包容和愉快的内源环境的路线图。
3. 制定战略计划
您的第一步是制定总体战略,这是一项复杂的任务,您可以想象。在公司中整合开源原则涉及各种不同的考虑因素,例如开发人员工作流程、基础设施、沟通、政策(例如开放性和透明度)、激励模型、分段参与、更广泛的信息传递、治理等等。
您不仅有很多事情要做,而且由于您的工作重点会有所不同(有些项目比其他项目更紧急),您的资源将有限,而且公司中的一些同事的支持有限,甚至会试图阻止该项目。
为了让人们加入并参与进来,您需要:
- 制定战略;
- 确定优先事项;
- 了解资源情况;以及
- 考虑每个部分的沟通、参与和推广。
我建议制定一个涵盖未来一两年更广泛的战略计划,涵盖关键重点领域。接下来,将该计划分解为较短的执行周期,在其中从更广泛的计划中提取关键目标,并将它们映射到具有指标的实际可交付成果。这将形成您的待办事项列表。
4. 构建待办事项列表
从根本上说,战略是一张地图,告诉您您想去哪里。战略需要转化为您可以应用资源的实际项目和可交付成果,例如开发时间、资金等等。挑战在于,每个战略目标都不可避免地会涉及许多子项目和目标。管理这种情况的最佳方法是使用待办事项列表。
简而言之,待办事项列表是一个大型的共享待办事项清单。当您制定战略后,您将所有单个项目映射到待办事项列表中。这提供了一个您可以讨论、改进和完善单个可交付成果的地方。当其中一些可交付成果准备好实施时,可以将它们从待办事项列表中拉入到正在进行的工作计划中并分配资源。这意味着即使在不积极应用资源的情况下,您也可以在待办事项列表中改进战略的实施。
5. 开发成熟度模型
当我与希望在其组织中构建内源的客户合作时,我经常看到的一个挑战是他们不知道成功是什么样的。现在,这句话听起来像是商业书籍中的废话,但这个问题是真实存在的。例如,如果您想提高代码审查方面的开发人员效率,您如何确定已实现此目标?您如何衡量工作并确定哪些衡量指标意味着您已成功完成?对于许多这些问题,您正在构建定性的文化变革。我们如何衡量这一点?
您的不同受众加剧了这一挑战。尽管参与这项工作实施的人员希望深入了解成功的细节,但高级管理人员和利益相关者不希望了解细节,而只希望了解重要趋势的信息。对此有用的方法是“成熟度模型”。
成熟度模型将解决方案的不同演进阶段分解为一组对成功期望的描述。我倾向于按时间顺序考虑这些不同的阶段:
- 未意识:公司未意识到该解决方案。
- 探索中:正在探索该解决方案。
- 已定义:已定义并执行该解决方案。
- 已采用:公司已采用该解决方案。
- 已优化:正在优化和改进该解决方案。
对于每一个阶段,您都会说明预期情况。例如,如果您在公司中构建代码审查,“探索中”的条目可能是“一小部分团队正在非关键代码库中积极尝试代码审查。”
执行
有了战略、待办事项列表和成熟度模型,您就知道需要做什么了。现在您需要使这些项目实现。
6. 交付优先项目
有了您的待办事项列表,您的第一步是决定将哪些项目命名为您的工作计划中的优先事项。做出此决定取决于哪些工作必须最紧急地执行以及当前可用的资源。虽然工作的紧迫性很重要,但资源才是真正决定性的标准——我们不能用一无所有来构建东西。
我建议您按节奏进行此操作(每两周、每月、每季度等)。召集计划的关键领导者,审查待办事项列表,确定资源,然后最终确定工作计划。
7. 与不同群体沟通
有了您的工作计划,您就可以开始交付了。您应该定义里程碑、指标并定期审查可交付成果。鉴于这项工作对文化的意义,沟通——在某些情况下,过度沟通——是关键。我们希望确保更广泛的公司、主要利益相关者、领导层和其他人对以下内容有很好的了解:
- 战略是什么,
- 工作计划是什么,
- 如何交付这项工作,以及
- 这项工作的结果是什么。
请记住,这些不同的受众将有不同的沟通需求。高级领导层需要概述和结果,主要领导者需要更深入的了解,而团队负责人则需要详细信息。
您需要创建一种方法来提取这些总体细节,为正确的受众设计沟通,并定期更新您的受众(例如,每周报告)。此外,请务必在适当的时候定期向整个公司发布信息。
审查和改进
将内源引入公司是一门不完美的艺术和科学。公司各不相同,人各不相同,方法也各不相同。您必须推出一个计划,以满足您在本过程开始时试图理解的特定需求。
因此,定期评估您的工作并评估其进展情况至关重要,因为您需要做出适当的更改。进行这种评估并非易事;它可能会触及人们对失败的恐惧,但克服这种恐惧很重要。您所做的一些事情不会顺利进行,而另一些事情会产生次优的结果。找出对您的工作产生负面影响的缺陷并纠正它们是您分析的重点。
8. 收集定量数据
第一步是收集数据——换句话说,数字。对于您从事的每个项目,定义一组您想要跟踪的指标,以及您将如何读取这些指标以确定成功。这些指标的示例包括使用情况、贡献、代码、消息、参与度和其他示例。除非您有衡量项目的关键方法,否则永远不要将项目纳入工作计划。
9. 调查您的用户
分析数字很方便,因为我们通常让计算机完成所有工作,但我们也需要跟踪人为因素,例如幸福感、权力感、包容性和其他领域。非经验分析很难进行,因为这些事物通常不能很好地映射到数字。
获得数据的一种有用方法是定期运行匿名调查,询问人们对内源体验的人为因素的感受。员工必须感到自在才能提出批评。您需要明确允许他们进行批评,而不会产生后果。
与调查的执行同等重要的是问题的措辞和选项。措辞和选择通常会无意中影响回答,因此我建议您让几个人参与调查的结构。
10. 更新战略
获得这些数据后,请问问自己和团队一些尖锐的问题,了解这些数据说明了哪些趋势和模式,以及您如何改进总体战略、重新组织待办事项列表以及调整项目的优先级、构建和与他人管理的方式。当然,帮助将内源引入公司是一项复杂的努力,其中包含无数不同的细节,但我希望本文提供了一个总体框架,您可以在其中用与您的特定组织相关的部分来填补空白。如果您遇到困难,请随时联系我——我总是很乐意提供帮助!
5 条评论