【网站架构】中大型网站如何防止项目延期?敏捷开发在实际项目如何应用?

183 阅读2分钟

为什么大家每天都在加班项目还是延期? 在抛开项目周期不合理、团队能力不足等因素的前提下, 造成这种问题的原因是 :项目流程出现了问题。 中大型网站项目的项目过程有一个主要的难点 :那就是需求变更 处理不好是很容易造成项目失控,结合瀑布式开发模型、敏捷开发思想、以及经过多个项目的试验 ,我们总结出了这样的项目过程

首先,根据业务架构把整个项目分为多个独立的子项目 ,然后把当前需要进行的子项目分为三个阶段: 1、主功能阶段 2、次要功能阶段 3、优化阶段 之后,可按实际情况在每个阶段再细分迭代周期

版本计划逐渐完善的项目流程

1、主要功能阶段

主功能阶段主要是实现主体功能,目的是让业务流程跑通,至少保证骨架功能在限期内完成

2、次要功能阶段

次要功能阶段是完善一些零散、模糊的功能,这个阶段需要再次确认需求,保证这些功能都不是伪需求,尽量保证绝大多数的功能能在期限内完成

3、优化阶段

优化阶段是处理一些项目过程中提出的想法、或者一些之前阶段还没完成的功能

项目过程中提出的需求变更,除非工作量非常小,或者此功能十分重要 否则的话,尽量把需求变更集中在优化阶段处理,不然很容易把项目节奏打乱 另外,次要功能阶段之后即可开始下一个子项目,当前子项目的优化阶段视情况延后或留小部分人继续完善

实际例子

以我们曾经做过的一个大型社区类平台为例 当时这个平台需要有博客、论坛等12个板块 我们把整体项目分为12个子项目,并大概规划好每个子项目上线的日期 对于博客这个子项目,当时是这么做的 主体功能阶段保证博客全流程跑通 次要功能阶段则是完善视频插入、接入智能审核、分享、接入统计等周边功能 至于项目项目过程中提出的markdown编辑方式,则安排在优化阶段 另外,由于赶进度,12个板块的优化阶段,基本上是在最后集中处理的 当然,12个板块也不是完全串行开发的,期间也加入了多个团队并行多个子项目。

总结

这样的项目过程的好处是 1、保证项目进度,至少能在既定日期提供一个可上线的版本 2、一定程度上规避伪需求,次要功能阶段会重新确认零散、模糊的功能 3、集中控制需求变化带来的风险 当然,这样的做法是需要几个前置条件的 1、完备的业务架构,不然是区分不出主要功能和次要功能的 2、不要想着项目是一次性交付的,因为需求是很难一次性完全确定下来的,只能分阶段明确 3、一个善于沟通、扛得住压力、思路清晰的项目经理