作为无私的第三方,我可能会担心一些事情。因此,让我向您提出一些问题,您最好准备向您的IT部门回答:
- 任何版本控制总比没有好。我们有很多选择,这些有什么问题?
- 分布式版本控制?那是什么?我们如何控制呢?
- 费用是多少?不只是软件,还有服务器,许可证,维护等。
- 我不信任GitHub或任何外包托管。我们需要内部做所有事情。为什么我们不能设置自己的服务器?
- 我们可以在Windows上运行它吗?您必须知道,我们必须将其保持在当前基准之上。
- 我们如何固定东西?我们得到了SVN,但这吓到我了。
这些是首先要提出的问题。至于VSS和PVCS,您可能会提出很多合理的参数(例如VSS破坏版本历史)。SVN将更加困难。我强烈建议重点关注GIT的合并功能,也建议对Mercurial保持开放的态度。GIT的每个论点也都是Mercurial的论点-而且Mercurial具有更成熟的Windows支持。
安全对金融和政府机构至关重要。 他们将极力抵抗外部托管的资源。从风险管理的角度,考虑如果有人入侵GitHub并偷走了源代码,或者发现了问题跟踪器中记录的安全漏洞,将会发生什么。那对公司将是毁灭性的。从纯粹的管理角度来看,如果公司合法需要支付您工作的每一小时的费用,当资源不在其VPN网络外部时,他们如何监视您是否在家工作?另一方面,当所有资源都可以从公司外部获得时,它们如何防止您进行某些公司的间谍活动?这些是IT和管理部门反对将托管外包的理由。一家大公司必须以这种方式看待事情。对于一家小公司,您要看底线以及将所有这些服务放在适当位置要花费多少。
对于大公司来说,在内部进行安装实际上更便宜。 他们已经拥有IT资源,只需要稍微改掉责任即可。而且,如果该解决方案在很大程度上仅需要定期维护(备份和用户管理)就可以自行解决,那么更有理由将其保留在公司内部。
对于Windows托管,这是一个逐个组织的问题。几家公司吞下了Windows koolaid。其他人吞下了Linux koolaid。其他人则逐案考虑。您必须遵循IT部门为您的组织设置的规则。只要您的解决方案可以托管在任一托管解决方案上,您就很聪明。
最终,在如此庞大的组织中,肯定会有所有人都想以自己的方式做事。 他们都有令人信服的论据,为什么选择VSS,PVCS,SVN或您选择了什么。对于IT来说,它们都是一样的。在规模如此之大的组织中进行整合的唯一方法是让命令由上而下命令。这样的订单总是会遇到阻力,除非您拥有标准化的版本控制系统具有明显的总拥有成本(TCO)好处,否则您的公司可能不想这样做。