借口编程(Excuse Programming)。是的,这就是很多项目团队,尤其是项目经理们一直在做的事情。他们总是一直在给出一个又一个的借口。为没有很好地进行需求开发和需求管理找借口,为没有跟踪项目风险和项目问题并且系统化地、及时地解决它们找借口。
最常见的借口就是时间,也就是没有时间。为什么会没有时间呢?因为时间都被浪费到做错误的事情上了,所以他们就需要加班。他们是在做片面的极限编程,或者,应该说是额外编程(Extra Programming),这是一个恶性循环,他们需要走出这个怪圈,让事情走上正轨。但屡见不鲜的情况是,项目经理往往过于自负,很难走出这个怪圈。他们总在给出一个又一个的借口,没有例外管理,而是借口管理。
请注意:我们是支持极限编程XP的,但极限编程是适用于那些非常清楚自己在做什么的人。极限编程不适用于那些为了伪装他们所作所为的人,极限编程适合于专家,而不是冒牌货。极限编程不是借口编程,它不是一个用于你不做正确的事情的借口。
从借口编程到极限编程
我们认为每个开发人员、经理——每个软件开发社区的专业人士,都应该思考哪些是他们知道的,哪些是是他们不知道的,对自己和别人都应该绝对诚实。我们也应该十分认真和充满热情地提高我们的技能。除此之外,没有其他捷径,请不要再找借口了。
所以让我们非常坦诚地面对问题。但人们(例如项目经理等)的问题往往是他们并不知道他们自身的问题。他们还没有意识到这一点。如果你试图说服他们意识到他们有问题,你会寻找出更多的问题。别忘了他们都是借口编程高手。你并没有看清所有的问题。所以,有时,人们从自身的错误中学习,有些人从不学习也会侥幸成功,有些人从不学习并重复地犯相同的错误。
但是也有少数人会总是问自己:我如何才能做得比昨天更好?幸运地是,我们周边还有一些这样的人。当你给他们建议时,他们可能会反对,但当他们回到家里,冷静下来,开始思考,然后他们会回来找你。这些人还是有希望的。有希望的是,我们有越来越多这样的人。
一旦借口编程被驯服,我们可以原谅他们的过去。一切都可以被原谅。我们可以开始教育他们正确的方式,常常地我们甚至可以从他们身上学到不少东西。有很多种方式来武装他们,他们可以阅读书籍等,他们也可以从导师那里寻找帮助,甚至是虚拟的导师。
作为一个经理或客户,你总是需要以挑剔的眼光来选择谁来做你的项目,一个团队(尤其是她的领导)的选择是一个非常关键的要素。如果他们是专家那就最好了,否则,寻找那些有潜力的,并设计一种策略让他们以最快的速度前进——如何以最快的速度进行,这又是另一个话题。