逃离项目管理百慕大三角
百慕大三角的事情大家都很熟悉,我遇到过很多项目,经常会陷入到这种百慕大三角。在我们传统的项目管理里,有个项目管理三角形,也是:时间、资源以及功能需求。这个三角经常会导致很多问题,以致很多项目在实际操作过程中失败了。
我们创业团队做项目的时候,首先想到的是怎么顺利的把产品做出来,也是怎么从项目管理百慕大三角中逃出来。
2009-2010 Standish Chaos的研究报告显示,通常真正能够成功的项目其实很少,软件项目成功率约为30%左右,大多数项目其实都是有问题的,要么失败,要么Challenged。
曾经有两个犹太人,一个老人,一个年轻人,他们口渴要喝水,老人让年轻人去烧水。年轻人灌满一壶水开始烧,后因为柴火不够水没有烧开。年轻人很郁闷,老者问,在柴火有限的情况下,你觉得怎么才能将水烧开?大家一定知道,在没有那么多柴火的情况下,不要烧满满的一壶水,少烧点可以。
我们在项目管理三角形中,在有间和资源的情况下,不太可能把所有的需求都做出来,这时候需要有选择的去做有意义的事情,而不是去烧满满的一壶水。
颠覆传统的项目管理三角形
从这个角度来讲,我们需要把传统的项目管理三角形打翻。传统项目管理三角形里,通常来讲功能需求是确定的,然后根据功能去做分析,算出来所需要的时间和资源。而在敏捷开发里面,我们把这个给推翻,叫倒立三角形,像前面讲的烧水的例子,并不去做所有的事情,而是根据现有资源,有限的时间里有选择的去做一部分事情。
敏捷开发模式中的80-20准则
那该选择做哪些事情?根据80-20准则,客户真正关心的东西只有20%,把这20%做好、做精,可能足够了,另外的80%大多数时候是锦上添花。所以,我们要选择对客户有价值的一部分去做。只有这样,才能摆脱项目管理三角形的束缚。
我们在学校里面学到了瀑布开发模式,分阶段的需求,设计,分析,设计,详细设计,编码,测试,交付,维护,这个流程周期很长。
假如我们利用这种模式做为期一年的一个项目,从年初计划到年底交付,这里面会有一些指标。比如开发费用。从年初到年底,开发费用支出是固定的,一直在支出。只有年底把软件做出来,并卖给客户,现金流才转正。通常情况下,在此期间这个项目的净现金流一直都是负的。这是传统模式。
而在敏捷开发模式中,我们把所有要做的功能划分成小块,先选择做重要的20%。假设在三到四个月内把这20%先做出来推向市场,由于这20%的功能可以满足客户80%的需求,客户有可能因此买单了。这时候,现金流会是另外一种情况,从三到四个月后可以开始有收入,到五个月、半年左右,如果做得好,可能会收支平衡。除了资金,这段时间的成果还能够帮助团队验证做的东西、方向对不对。
除此之外,还能获得另一种成功。是还有一种可能,项目做到一半,证明这条路是错的,不做了,是半路夭折。敏捷可以做到,可以让你更好的项目很容易成功,你做错的项目很容易失败,其实失败是另外一种成功。
这是敏捷开发模式里面打破传统项目管理三角形的好处。在这里,很重要的一点是我们需要对所有要做的功能有一个很好的梳理,是划分优先级,我们需要知道哪些是20%,把重要的东西找出来,逐步的去做。
我们传统会做需求分析,做调研,通常来讲所有的项目一条一条不分彼此,都分析得很透彻。在敏捷里面,因为我们划分了优先级,不是所有的东西都分析得很透,我只把重要的地方分析透了。