本节书摘来自异步社区《配置管理最佳实践》一书中的第1章,第1.8节,作者: 【美】Bob Aiello , Leslie Sachs著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.8 培训
在选择源代码管理工具时,还要考虑供应商或者第三方机构是否有系统性的培训。有时我更倾向于那些非供应商提供的培训,因为我希望从一个没有偏见的角度去了解如何有效地使用工具,尤其是涉及工具缺陷和限制等。供应商有时认为培训只是销售过程的延伸,所以他们的培训总有种推销的味道,不能让人从公正的角度去看工具。我曾经参加过一个培训,这位讲师以前就是在供应商处工作,并且自己确实写了一些代码。他直率地讲了以前代码的一些错误,这些错误很多时候都是由于公司没有给他足够时间导致的,因为那时的首要任务是向外声称工具能够具备某个功能。他还说,一旦产品销售出去并且被使用,供应商也没有让他返回去花时间提高产品质量。供应商提供的培训也许很不错,但是有时第三方提供的培训会更客观、更实际、更有用。
鲍勃的培训方式
我自己首选的方法是在公司内部选择一个人去参加供应商提供的培训,然后制订一个针对本公司的培训计划,包括所需的过程和推荐的使用模型。因为公司内已经有人受过培训,对这方面很精通,可以在公司内始终对工具进行支持。这种做法显著地降低了支持用户的成本。我会把电话告诉那些成功接受过我培训并完成训练的人。我总是这样和同事约定:“如果我不能教你做好工作,每当你无法从源代码管理工具中签出代码的时候,你都可以半夜打电话把我叫醒。”考虑到工具的重要性和影响,培训可以使工具更容易被使用,更容易被接受。好消息是,现在很多工具的功能都很易学且易使用,并且都有强大直观的用户界面。
在软件开发的很多情况下,大家普遍都使用集成开发环境(IDE)。现在大多数配置管理工具都提供了强大的与流行集成开发环境集成的能力,这样就可以在集成开发环境中直接签入、签出代码了。但是我注意到在某些科技领域,这种集成的方法根本不可行,集成之后系统充满了问题,根本就无法使用。所以在购买任何源代码管理工具前,都一定要尝试使用下,确保你的集成开发环境可以和它集成起来,工作效率不会受影响。另外一个很重要的功能需求是通过源代码管理工具可以查看到在任何特定时间发生的变化。作为一个支持和促进配置管理最佳实践的人,这是我个人认为始终需要的功能。除了培训和易用性,源代码管理工具需要具有丰富的提供可追溯性的功能,从而方便地进行需求和缺陷跟踪。