06-项目计划如何制定
我们在制定项目计划的时候,如果只是把功能开发部分列出来,如下图所示: 可能会造成项目延期,在上一篇文章《05-项目为什么总是延期》中已经分析过了,这里就不再赘述了,我们现在要探讨的是,如何制定一个项目计划呢? 在开始项目计划制定之前,可以先了解一下开发模式的相关知识,这部分主要是《【清华大学】项目管理的逻辑(全6讲)》里面的内容,有兴趣的可以去看一下,还是很不错的。 1. 瀑布式开发 预测型开发,在还没有开始着手编写代码前,就可以提前预知结果如何,之所以叫瀑布式,是因为整个开发流程都是有序的,就像水从上往下流,每一步做很到位就到下一阶段。 2. 迭代式开发 迭代式开发,顾名思义,就是一个版本接着一个版本进行迭代,先将项目整体框架搭建好,然后基础布局全部铺开,就好像画人物肖像一样,先勾勒草图,画出人物整体轮廓,然后才依次画出脑袋、眉毛、眼睛、鼻子、嘴巴等等,全部画出来之后,才是着色。 3. 增量式开发 增量式开发,咋听之下,与迭代式开发的意思一样,实际上是不一样的,增量式开发的意思是,每次只构建一点,每个阶段就交付一部分,然后组合在一起,还是用画人物肖像来举例子,一开始先画头发,画完之后上色,然后接着是眉毛,画好之后着色,以此类推,全部画好一个地方再接着画另一个地方,如下图所示: 4. 敏捷式开发 适应型开发,灵活性很高,需求可以随时提,然后放到需求池里,可能两周一个周期发一个版本。因为能干的活儿很有限,就像坐地铁一样,人很多,挤不上去那就下一趟,所以敏捷开发的思路就是,未必做得到,所以下个版本实现需求,可以有节奏地持续开发。 以上就是常用的开发模式,但是我们在实际应用中,应该怎么选择哪一种开发模式呢?为此有一个STACEY矩阵图可以作一些参考,如下所示: 从上图中可以知道,选择哪种开发模式,是基于需求和技术两个维度去评估的,所以项目负责人在编写项目需求与方案文档的时候,可能就可以做出判断了。说回我们自身,开发模式毕竟只是项目管理中的一种技巧,要深刻认识到它并不是万能的,如果掉入盲目迷信权威的陷阱,那么就太死板了,真正应用的时候,还是要考虑实际情况,在遵循基本原则的基础上,要明白事物变化的重要性,在变化的世界里使用不变的方法是不现实的,没有任何一种开发模式能够适用全部的项目。 现在部门按照项目来管理,每个人都比较清楚自己要做的事情,也没有那么多交叉的任务,所以变更理应很少才对,在制定项目计划的时候,我们可以把项目开发的周期全部列出,虽然项目计划通常都会有变更,但项目计划最好能够做到有始有终,把全部任务时间明确一下,然后项目交付时间基本就确定了,其中的任意环节有变更,很有可能是不会影响到项目交付时间的。我们可以把项目计划分为11个环节,如下所示: 需求分析 原型设计 方案设计 开发计划 开发阶段 下版计划(下一阶段任务计划) 内部验收 产品验收 测试阶段 模拟升级 正式发布 复盘会议 如下图所示,就是根据这11个环节制定的项目开发计划,虽然实际情况会有所出入,但是可以知道这个项目12月底基本上就可以交付了,有这样很清晰的时间节点,对于接下来的开发工作,会更有目标和方向感,其中经常出现任务变更,大多是在开发阶段,但是并不代表做好这个环节就没事了,接下来的环节如果遇到问题,也是会影响到项目交付的,所以怎么能管理好一个项目,是需要多方面去思考和解决问题的,并不是只做好开发任务环节就行了。