Q: 我干嘛要把辛辛苦苦很多年积累的经验白白告诉别人? 我喜欢不可替代的感觉.
A: 是的, 本质上这是一个心理学和政治学的问题, 我也无法说服你. 但有几点, 还是要说一下.
-
独自解决一个别人无法解决的难题, 可以得到公司的承认; 把知识传授给团队, 至少也会得到团队的认可
-
解决已知问题的经验, 可以传授. 但当未知问题出现时, 多年的沉淀依然不可代替. 即使新手知道解决问题的一般原则, 真正熟练运用也需要岁月的历练.
-
如果你真的拥有智慧, 不必担心别人剽窃你的只言片语, 它们剽窃不了你的思想
如果你只是担心功劳会被别人抢走, 好吧, 我心理学和搞政治两方面都很差, 也没什么办法. 或许你可以坚持你不喜欢结对, 团队也不应该强求你结对.
Q: 有些老手不喜欢结对, 觉得新人不劳而获对他们不利, 不情愿, 怎么办?
A: 人们总是在心甘情愿的去做一件事的时候效率最高, 结对编程也应该遵循这个原则. 但并不意味着不做任何努力就放弃结对的纪律.
有些人可能凭直觉不喜欢结对, 但不曾真的尝试过. 你要想办法让团队的人真正花点时间试过, 再来下结论, 或许想法就会有所改变.
但实践初期, 有一个敏捷教练是有必要的. 结对涉及到人与人之间的合作, 性格的碰撞. 人的问题是最难缠的问题, 稍有不顺心, 就会夸大结对的负面效果, 比如彼此之间的争执, 互不相让等, 又或者总是由强势的人来主导, 平和的人总是被迫承担不喜欢的决定, 及它带来的后果.
敏捷教练可以发现这些问题的苗头, 并协助团队建立良好的纪律和习惯.
Q: 你刚才提到结对就是持续 Code Review, 可如果是两个新手结对, 代码质量还是得不到保证. 听说不鼓励新手结对, 是否真的?
A: 没什么真不真, 取决于你的资源情况. 两个经验丰富而又各有所长的人合作解决问题自然是最高效的. 现实生活中的最佳拍档不胜枚举, 甚至小说中人们也表达了对这种合作形式的强烈向往: 陆小凤与花满楼司空摘星, 楚留香与胡铁花姬冰雁, 四大名捕等.
然而确实团队中不是每个人都是楚留香. 事实上, 有经验的人能占到一半, 从而保证每对开发者都有一位经验丰富的人, 已经很不错了.
新人结对, 却也有另外一种效果, 以探索的方式成长, 虽然对团队短期的整体效率可能是个短板, 但对个人的成长, 会留下一些印象深刻的教训, 在未来的职业生涯中发挥作用.
有一些互相支撑的实践来提高新人结对的效率, 比如团队专用的开发空间, 实际上大家都坐在一间屋子里, 经验丰富的人听到新人Pair之间的讨论明显偏离正确的解决方案的时候, 随时可以加入讨论.
文章来源于领测软件测试网 https://www.ltesting.net/