配置管理员对各种工具,各种技术都保持一颗好奇心是难能可贵的,但是不要把自己变成一个工具狂。把各种自认为 or 别人认为酷、牛x的技术强加给团队,这种做法是不可以的。同时如果有人看到什么技术,不经过认真试用、评估就想立刻采用、马上采用的做法也是欠抽的。
举个例子吧。一个很老的 Java 产品采用的Ant组织构建,运行的很稳定。不知何时团队里所谓的技术大拿说:“来,我们转成 Maven 吧。”于是乎,忽如一夜春风来(可惜春风来的同时也带来了沙尘暴),团队各个成员都开始学习 maven。折腾 pom.xml 文件折腾得那叫一个心碎啊。弄了很久,团队才渐渐走上轨道。刚踏实下来,蛋疼的事情再次重演,大拿说 Gradle好啊,这个技术不错,来咱们上 Gradle吧。于是团队集体向 Gradle 转 。。。过了一个月,团队还在转。。转。。
还有一个例子,团队在 Gitlab 和 Github之间摇摆不定,问某总怎么办。某总说“先”上Gitlab,于是团队把代码从 Subversion 转到了 Gitlab 上,用了一个月之后,团队成员各个都很不爽,怨声载道。某总说:“哦,那好吧,我们再用 Github”。一个“先”一个“再”,真是滴水不漏。这样倒腾了几次就会发现公司的产品代码哪里都有,有的时候自己的员工都不知道哪里的代码是最新的,是否包含了所有的变更。很多以前从来都不用关心的问题一下子都出来了。
项目中这样的例子比比皆是。之所以出现这样的问题根本在于有些人不知道公司的核心价值在哪里,同时SCM在这些过程中没有提出合理的意见和建议,没有给出自己的专业判断。说多了都是泪啊,最后还是要奉劝大家一句:任何一家公司的核心价值绝对不在于在这些工具之间折腾,SCM的价值也不在于此。