Skip to main content

在企业中构建组织的最佳做法

了解如何确定要在企业中创建的组织数量,以及如何构建这些组织。

关于企业内组织的最佳做法

有多种不同的企业组织结构可选择。 这些组织结构各有利弊,最适合企业的结构取决于业务特点和需要,包括规模和安全限制。

但同时建议让策略与要营造的企业文化(而不是当前的企业文化)保持一致。 如果要促进协作和内部资源利用,应配备相应工具。 这样以后你的工具将是企业朝向所需文化转型的促进而非阻碍因素。

关于组织数量

一般而言,GitHub 建议尽量减少要设立的组织数量。 较少的组织数量有益于加强协作和内部资源利用,从而提高效率。 事实上,有许多业务最好由一个组织来提供,原因如下。

  • 集中在一个组织中查找资源会更容易,因为只需要在一个地方查找即可。
  • 由于 @-mentions 仅适用于同一组织中的成员,因此集中在一个组织内通信会更容易。
  • 由于是单个大型组织的一部分,可以与其中任何人任何内容交互,这可以促进协作和忠诚度,如果划分到较小的组织中,就可能增加团队之间的孤立感。

组织所有者始终能够访问组织拥有的所有存储库。 如果公司规模非常大,以至于一个所有者具有所有存储库的访问权限并不合理,可考虑设立多个组织。

设立多个组织的主要好处是可为每个组织配置单独的策略、设置和要求。 例如,每个组织可以有不同的 SAML 配置。

避免在公司的组织和结构实体(例如单个团队或业务单位)之间设置一对一关系。 而是将策略、设置和要求相同的结构性实体归入一个组织中。 这样既能够满足法规要求,又能最大程度促进协作。

增加组织总是比减少组织更容易,所以建议一开始仅设立少量组织,这样将来变动起来可以更灵活。 在怎么做更有益于业务这一点上积累了更多经验后,可以根据需要设置更多组织。

减少组织要麻烦得多,通常需要进行迁移,团队习以为常的灵活性也会降低。 许多客户在经历了减少组织数量这一麻烦且耗时的过程后,都后悔设置了大量组织。

建议针对在企业中创建新组织这一点,设置并强制实施固定不变且透明的规则。 这样,所有人都能更容易了解各个组织的用途以及各项资产的所在位置。

关于组织结构

组织结构有五个基本类型。 基本类型的确定基于两个决策:

  • 是设立一个组织还是多个组织
  • 是向所有成员授予对所有存储库的访问权限,还是通过团队更精细地管理存储库访问权限

有关团队的详细信息,请参阅“关于团队”。

具有存储库直接访问权限的单一组织

最简单的组织结构是只设置一个组织,其中成员可以通过组织成员身份直接访问所有存储库。 可出于协调和沟通的目的设置团队,但并不具有管理存储库访问权限的功能。

这种结构最适合小公司,例如初创公司,其中每个人在各方面都进行协作。 这种结构也适用于信任度较高的中型公司。

若要使用这种类型,请将组织的基本权限设置为“写入”或“读取”。 有关详细信息,请参阅“为组织设置基本权限”。

设置了具有存储库访问功能的团队的单一组织

如果公司需要更精细地控制存储库访问,可以将组织的基本权限设置为“无”,然后向每个团队授予对特定存储库的访问权限。

这种结构最适合中型公司或信任度较低的小公司。 对于信任度较高的小公司(每个人在所有方面都进行协作),可能不值得在团队管理上投资时间。

具有存储库直接访问权限的多个组织

对于大型公司,即使通过团队,管理单一组织中的存储库访问也可能会很麻烦。 此组织结构类型通过设立多个组织来管理存储库访问。 每个组织的成员都有权访问其所在组织的所有存储库。

此结构最适合那些规模较大、不同群组之间无需协同工作的公司。 如果跨业务部门的协作很重要,则此结构就没有预期那么大的效用。

若要使用此类型,需要为所有策略、设置和要求相同的群组中的每一个分别设立一个组织,如上所述,然后将每个组织的基本权限设置为“写入”或“读取”。

设置了具有存储库访问功能的团队的多个组织

规模超大的公司可能需要对存储库访问进行更精细的控制,即使设立了多个组织也仍有进一步的需求。 在这种情况下,可以通过设置团队,仅向每个群组授予特定存储库的访问权限。

若要使用此类型,可为每个共享相同策略、设置和要求的群组设置一个组织,如上所述,并将每个组织的基本权限设置为“无”,然后仅向每个团队授予特定存储库的访问权限。

配置了不同访问方法的多个组织

如果希望拥有具有存储库直接访问权限的单一组织的协作优势,但却拥有少量内容敏感而难以向所有人提供直接访问权限的存储库,可考虑设置多个组织和多种访问方法。

若要使用此类型,需要为所有员工和大多数存储库设立一个组织。 通过将该组织的基本权限设置为“写入”或“读取”,向所有成员授予对该组织中所有存储库的访问权限。

然后专门为较敏感的存储库创建第二个组织。 在此组织中,将基本权限设置为“无”,仅在其中添加需要访问敏感存储库的人员,并通过团队成员身份管理其对存储库的访问权限。

延伸阅读