逃离项目管理百慕大三角项目管理者联盟
百慕大三角的事情大家都很熟悉,我遇到过很多项目,经常会陷入到这种百慕大三角。在我们传统的项目管理里,有个项目管理三角形,也就是:时间、资源以及功能需求。这个三角经常会导致很多问题,以致很多项目在实际操作过程中失败了。项目管理者联盟
我们创业团队做项目的时候,首先想到的是怎么顺利的把产品做出来,也就是怎么从项目管理百慕大三角中逃出来。项目管理者联盟
2009-2010 Standish Chaos的研究报告显示,通常真正能够成功的项目其实很少,软件项目成功率约为30%左右,大多数项目其实都是有问题的,要么失败,要么Challenged。www.mypm.net
曾经有两个犹太人,一个老人,一个年轻人,他们口渴要喝水,老人让年轻人去烧水。年轻人灌满一壶水开始烧,最后因为柴火不够水没有烧开。年轻人很郁闷,老者就问,在柴火有限的情况下,你觉得怎么才能将水烧开?大家一定知道,在没有那么多柴火的情况下,不要烧满满的一壶水,少烧点就可以。项目管理者联盟
我们在项目管理三角形中,在有限时间和资源的情况下,不太可能把所有的需求都做出来,这时候需要有选择的去做最有意义的事情,而不是去烧满满的一壶水。项目管理者联盟
项目管理者联盟
颠覆传统的项目管理三角形项目管理论坛
从这个角度来讲,我们需要把传统的项目管理三角形打翻。传统项目管理三角形里,通常来讲功能需求是确定的,然后根据功能去做分析,算出来所需要的时间和资源。而在敏捷开发里面,我们把这个给推翻,叫倒立三角形,就像前面讲的烧水的例子,并不去做所有的事情,而是根据现有资源,有限的时间里有选择的去做一部分事情。项目管理者联盟
敏捷开发模式中的80-20准则项目管理者联盟
那该选择做哪些事情?根据80-20准则,客户真正关心的东西只有20%,把这20%做好、做精,可能就足够了,另外的80%大多数时候是锦上添花。所以,我们要选择对客户最有价值的一部分去做。只有这样,才能摆脱项目管理三角形的束缚。项目管理者联盟
我们在学校里面学到了瀑布开发模式,分阶段的需求,设计,分析,设计,详细设计,编码,测试,交付,维护,这个流程周期很长。项目管理者联盟文章
假如我们利用这种模式做为期一年的一个项目,从年初计划到年底交付,这里面会有一些指标。比如开发费用。从年初到年底,开发费用支出是固定的,一直在支出。只有年底把软件做出来,并卖给客户,现金流才转正。通常情况下,在此期间这个项目的净现金流一直都是负的。这是传统模式。项目管理者联盟
而在敏捷开发模式中,我们把所有要做的功能划分成小块,先选择做最重要的20%。假设在三到四个月内把这20%先做出来推向市场,由于这20%的功能可以满足客户80%的需求,客户有可能因此就买单了。这时候,现金流会是另外一种情况,从三到四个月后就可以开始有收入,到五个月、半年左右,如果做得好,可能会收支平衡。除了资金,这段时间的成果还能够帮助团队验证做的东西、方向对不对。training.mypm.net
除此之外,还能获得另一种成功。就是还有一种可能,项目做到一半,证明这条路是错的,不做了,就是半路夭折。敏捷可以做到,可以让你更好的项目很容易成功,你做错的项目很容易失败,其实失败是另外一种成功。talent.mypm.net
这是敏捷开发模式里面打破传统项目管理三角形的好处。在这里,很重要的一点就是我们需要对所有要做的功能有一个很好的梳理,就是划分优先级,我们需要知道哪些是20%,把最重要的东西找出来,逐步的去做。项目管理者联盟
我们传统会做需求分析,做调研,通常来讲所有的项目一条一条不分彼此,都分析得很透彻。在敏捷里面,因为我们划分了优先级,不是所有的东西都分析得很透,我只把最重要的地方分析透了。service.mypm.net
需求分析:将用户实例化抽象化虚拟化项目管理者联盟
我之前接触的大多数公司做需求分析经常是这样一种文档:系统应该支持什么什么、系统应该做到什么什么……通常都是这么一种描述。开发人员如果对这个领域有点熟悉,可能还会建议说能干什么不能干什么。如果是初来乍到的,看了以后,可能惟一能记住的就是系统应该做什么。但实际上,说不出一二三。项目管理者联盟
在敏捷里面,这样做事的方式就是要变化一下。比如我们会分析几种典型的用户:项目管理者联盟
第一个类叫委托人,就是所谓真正掏钱买软件的人,买软件和用软件是两类人,采购拍板的是老板,他的需求是一种需求,我们通常叫委托人。www.mypm.net
第二类叫终端用户,就是实际上经常用你的软件和产品的人。项目管理者联盟
第三类叫合作方。如果说你做传统ERP软件,不可能一个人做,有服务器,有合作方,合作方又是另外一类。项目管理者联盟
还有一类是内部客户,我们提供客户的管理员,还有写文档的人。项目管理者联盟
我们从这四个角度去划分用户,然后再针对每种用户进行实例化。比如做招聘相关产品的,抽象出一个招聘主管,叫杜拉拉。我们会定义它的用户属性,它到底怎么做。这最主要的是帮助大家建立起真实的虚拟用户的情形,帮我们去理解他这种用户会在什么情况下怎么使用你的系统。项目管理者联盟
|