关于企业内组织的最佳做法
有多种不同的企业组织结构可选择。 这些组织结构各有利弊,最适合企业的结构取决于业务特点和需要,包括规模和安全限制。
但同时建议让策略与要营造的企业文化(而不是当前的企业文化)保持一致。 如果要促进协作和内部资源利用,应配备相应工具。 这样以后你的工具将是企业朝向所需文化转型的促进而非阻碍因素。
关于组织数量
一般而言,GitHub 建议尽量减少要设立的组织数量。 较少的组织数量有益于加强协作和内部资源利用,从而提高效率。 事实上,有许多业务最好由一个组织来提供,原因如下。
- 集中在一个组织中查找资源会更容易,因为只需要在一个地方查找即可。
- 由于 @-mentions 仅适用于同一组织中的成员,因此集中在一个组织内通信会更容易。
- 由于是单个大型组织的一部分,可以与其中任何人任何内容交互,这可以促进协作和忠诚度,如果划分到较小的组织中,就可能增加团队之间的孤立感。
组织所有者始终能够访问组织拥有的所有存储库。 如果公司规模非常大,以至于一个所有者具有所有存储库的访问权限并不合理,可考虑设立多个组织。
设立多个组织的主要好处是可为每个组织配置单独的策略、设置和要求。 例如,每个组织可以有不同的 SAML 配置。
避免在公司的组织和结构实体(例如单个团队或业务单位)之间设置一对一关系。 而是将策略、设置和要求相同的结构性实体归入一个组织中。 这样既能够满足法规要求,又能最大程度促进协作。
增加组织总是比减少组织更容易,所以建议一开始仅设立少量组织,这样将来变动起来可以更灵活。 在怎么做更有益于业务这一点上积累了更多经验后,可以根据需要设置更多组织。
减少组织要麻烦得多,通常需要进行迁移,团队习以为常的灵活性也会降低。 许多客户在经历了减少组织数量这一麻烦且耗时的过程后,都后悔设置了大量组织。
建议针对在企业中创建新组织这一点,设置并强制实施固定不变且透明的规则。 这样,所有人都能更容易了解各个组织的用途以及各项资产的所在位置。
关于组织结构
组织结构有五个基本类型。 基本类型的确定基于两个决策:
- 是设立一个组织还是多个组织
- 是向所有成员授予对所有存储库的访问权限,还是通过团队更精细地管理存储库访问权限
有关团队的详细信息,请参阅“关于团队”。
具有存储库直接访问权限的单一组织
最简单的组织结构是只设置一个组织,其中成员可以通过组织成员身份直接访问所有存储库。 可出于协调和沟通的目的设置团队,但并不具有管理存储库访问权限的功能。
这种结构最适合小公司,例如初创公司,其中每个人在各方面都进行协作。 这种结构也适用于信任度较高的中型公司。
若要使用这种类型,请将组织的基本权限设置为“写入”或“读取”。 有关详细信息,请参阅“为组织设置基本权限”。
设置了具有存储库访问功能的团队的单一组织
如果公司需要更精细地控制存储库访问,可以将组织的基本权限设置为“无”,然后向每个团队授予对特定存储库的访问权限。
这种结构最适合中型公司或信任度较低的小公司。 对于信任度较高的小公司(每个人在所有方面都进行协作),可能不值得在团队管理上投资时间。
具有存储库直接访问权限的多个组织
对于大型公司,即使通过团队,管理单一组织中的存储库访问也可能会很麻烦。 此组织结构类型通过设立多个组织来管理存储库访问。 每个组织的成员都有权访问其所在组织的所有存储库。
此结构最适合那些规模较大、不同群组之间无需协同工作的公司。 如果跨业务部门的协作很重要,则此结构就没有预期那么大的效用。
若要使用此类型,需要为所有策略、设置和要求相同的群组中的每一个分别设立一个组织,如上所述,然后将每个组织的基本权限设置为“写入”或“读取”。
设置了具有存储库访问功能的团队的多个组织
规模超大的公司可能需要对存储库访问进行更精细的控制,即使设立了多个组织也仍有进一步的需求。 在这种情况下,可以通过设置团队,仅向每个群组授予特定存储库的访问权限。
若要使用此类型,可为每个共享相同策略、设置和要求的群组设置一个组织,如上所述,并将每个组织的基本权限设置为“无”,然后仅向每个团队授予特定存储库的访问权限。
配置了不同访问方法的多个组织
如果希望拥有具有存储库直接访问权限的单一组织的协作优势,但却拥有少量内容敏感而难以向所有人提供直接访问权限的存储库,可考虑设置多个组织和多种访问方法。
若要使用此类型,需要为所有员工和大多数存储库设立一个组织。 通过将该组织的基本权限设置为“写入”或“读取”,向所有成员授予对该组织中所有存储库的访问权限。
然后专门为较敏感的存储库创建第二个组织。 在此组织中,将基本权限设置为“无”,仅在其中添加需要访问敏感存储库的人员,并通过团队成员身份管理其对存储库的访问权限。
延伸阅读
- 在 GitHub 博客中通过临时团队来组织专家
- "组织最佳做法"