作者:Dylan Tang 来源:博客园 酷勤网收集 2008-07-10
三分法在项目管理中可能体现在各个方面,比如领导方式,而本文所提的三分法的应用,主要是指项目管理中进度表制定时如何应用三分法。
所有进度表都有一项基本法则:三分法。虽然粗略,但是这是最接近并了解进度表的最简单方式。
就任何项目而言,要把可用时间分成三段:一段用于设计,一段用于实现,另一段用于测试。由方法论不同,可能每一个阶段的名称会有所不同,但是从本质上来说,也就是把整个项目周期中的每一天都搞清楚应该做好什么(设计)、实际去做(实现实际环境的程序代码)或者验证、分析以及改良已完成的事(测试)。
按照三分法理论,在安排这三个阶段的进度表时,应该粗略的将整个项目周期进行三等分,一般情况下不允许出现大幅度的调整这个三分的比例,除非你有充足的理由,比如某个项目特别重要(注册登录流程修改,测试比例增加20%)。
在按照三分法划分了进度表后,重新审视每个阶段的工作是否能按照计划完成,如果某个阶段进度出现问题,无法按计划完成,那说明项目的总的时间安排出现了问题,这种情况下,建议可以有两个选择:
1. 修改进度表,将项目周期加长;
2. 修改预期要完成的工作量,将某些工作放入下一阶段项目安排中。
而不建议的也有两个选择:
1. 调整三分的比例;
2. 加班。
还有一种情况必须引起重视,那就是虽然整个项目在进度表上符合预期,但是三个阶段不是等分的,而又没有足够的理由去进行这样不平均的分配,那么很有可能会有隐藏的项目风险。比如某个项目一共需要3周完成(15个工作日),而进度表中把其中10天用于开发,2天用于设计,3天用于测试,这种情况下,往往会造成实现的设计不够仔细,在第二阶段中造成开发时间上的浪费,而测试阶段时间紧迫,一旦出现较大的bug则必须通过加班解决,极容易造成项目质量下降。
三分法同样适用于一个较大项目的每一个迭代周期,在一个大的项目完成了第一阶段的框架设计之后,第二阶段和第三阶段往往可以按照功能划分成若干个迭代周期,而每个迭代周期都可以应用三分法分为详细设计、代码实现和测试。我认为这个模式在进行一些较大项目开发时应该大力推广,优点是:
1. 项目进度上更加可控,阶段划分细致,Review时项目里程碑完成情况清晰;
2. 项目质量更加可控,每个周期都包含三个阶段,将项目风险平均分布在整个项目周期内;
3. 团队工作能力最大化,将团队中每个成员的工作平均分布在整个项目周期内,使团队工作能力得到最大的体现,也可以使项目周期控制得到有效的提升。
三分法虽然简单,但是用好三分法却不是一个简单的事情,其中包含了很多项目管理、沟通技巧以及执行力等方面的知识,而一旦用好三分法,往往会做到事半功倍。
来自:项目管理中三分法的应用
2008-07-10 00:14 by geruger
这句说的没错啊.我深有感触啊.我现在带的这个项目严重失控,老员工人员流失,被别的项目组借调,新员工上手慢.项目需求变动.太多了...真是烦啊.
2008-07-10 06:34 by 金色海洋(jyk)
这个是时间上的划分,那么人员上的分工呢?
比如有甲乙丙丁四个人一起工作,那么谁来负责设计、谁来编码实现、谁来测试呢?
1、一起做,大家一起来设计,然后一起编码(可以一人负责一部分,也可以一人负责一层),最后互相测试别人的代码。
2、一两个人负责设计,其他的一两个人负责编码,其余的人来测试?
3、其他。
不知道人员安排上要怎么来做,目前所有的工作都是我一个人来做的。
基本上就是,一边设计,一边编码实现,简单测试之后,就交给用户了,用户就成了我们的专职测试员了。
好在bug不是太多,即使不多,也够我改的了。
2008-07-10 09:26 by Dylan Tang
海洋所说的问题,本来不是我这篇文章所想要讲述的范围,不过既然提到了,就谈谈我的看法。
我觉得根据团队不同的规模、项目可靠性的不同要求,应该有不同的处理方式,一个高可靠性的项目,比如一套操作系统的开发,证券交易系统的开发,这样的方式显然是不可取的,微软的测试人员和开发人员比例是1:1,可见测试的重要性。而对于非高可靠性的项目来说,比如一些互联网的应用,就不用那么多测试人员了,据我所知,国内很多知名网站测试人员和开发人员的比例是1:20。而根据团队规模的不同,甚至没有专职的测试人员,而是由一些技术人员或者产品开发人员来兼任。
当然无论如何,不应该只由开发人员自己来进行测试,也许结对编程可以解决海洋面临的问题。

