团队规模和管理模式

  对于敏捷开发常见的一个误解是“敏捷开发只适用于小规模的团队”。团队规模小的确可以减少沟通的复杂性、也某种程度上减少管理的成本。然而大型团队中也有使用敏捷开发的。敏捷开发是否可以用于管理大型团队,问题在于我们如何实施。

  凡治众如治寡,分数是也;斗众如斗寡,形名是也。
                                    ——《孙子兵法•兵势》

  要治理好人数多的军队如同治理好人数少的军队一样,关键在于组织编制好。

  类似的,大型团队中使用敏捷开发,往往可以采用组织多个相对小型的敏捷团队,实行分而治之。

  不要忘记项目经理的职责

  有些项目经理对团队成员很友善、也很照顾,而项目的质量为何还是那么低下呢?

  视卒如爱子,故可与之俱死。厚而不能使,
  爱而不能令,乱而不能治,譬若骄子,不可用也!
                                    ——《孙子兵法•地形》

  看待士兵如同看待自己的亲生儿子,可以和他们生死与共。如果这样也不能够调动他们、违法乱纪而不能惩治,士兵像娇惯的儿子,是不可以用来打仗的。

  作为项目经理,能够真心实意地关心和爱护团队成员是好事,但是不要忘了作为项目经理的职责: 保证项目的成功交付才是重要的。团队成员要是不能履行自己的责任,服从主管的安排,具体落实工作,对其再如何关心也是无益的!

  一个真正和谐的团队不是大家在一起都是一团和气、没有冲突,而是大家都能朝团队的共同目标 —— 项目的成功交付去努力,大家各尽其职。因此,对于阻碍这个共同目标的人和事,项目经理要把握不要忘记自己的职责的原则,该严则严,对于给过机会而仍然不思改正的人该处理处理。

  管理措施的制定要考虑其实施的前提条件和弊端

  任何的管理思想和理论到后都要体现为具体的管理措施。而管理措施的制定则要考虑其实施的前提条件及其弊端。

  发火有时,起火有日。时者,天之燥也。日者,月在箕、壁、翼、轸也。凡此四宿者,风起之日也。凡火攻,必因五火之变而应之:火发于内,则早应之于外;火发而其兵静者,待而勿攻,极其火力,可从而从之,不可从则上。
                                     ——《孙子兵法•火攻》

  火攻的优势在于借助自然界的力量造成强大的打击力。但是,真正要发挥火的威力,则要看实施火攻时的天气条件以及火燃烧时敌人的反应情况 —— 一定要借助天气干燥、风力风向、敌方混乱这些外部条件,才能够“趁火打劫”。可见,火攻所可能产生的强大杀伤力是措施制定者所期望的收益,而火攻实施时的天气情况、敌人反应情况则是其实施的必备前提条件。

  相反,管理措施的期望收益自然容易想到的,但是容易忽略的是实施这些措施的前提条件。比如,“重构”(Refactoring)的目的固然是使代码的质量日趋提高,但是容易忽略的是它的实施前提:“重构”要有自动化测试工具支持。否则,“重构”代码所可能带来的对现有功能的破坏会使其无异于自杀。