在我看来,团队比流程更重要。一个优秀的项目经理,无论你采用瀑布,迭代,还是敏捷;都能够灵活的驾驭流程,激发团队的创造力,并创造最大的价值。翻看一年半以前做过的一个大项目的项目总结,虽然时间过去这么久,还是觉得这篇总结里的很多内容非常有感触,贴出来分享一下。
项目背景:
互联网里的软件项目。对原产品的一个核心功能进行优化和重构。从项目启动到项目发布总共一个月时间,原预估的开发周期为3个月,总工作量为500人日,项目核心成员(PD、ued、dev、qa、pm)11人。我在项目中作了如下的尝试:
一、 项目流程的改进尝试
流程应该是辅助我们提升效率提高质量的手段,为遵守流程而遵守流程是没有任何必要的。我们的项目要在这么短的时间里完整非常复杂的目标,一个关键点就是能灵活的运用现有流程,通过适当的过程裁剪和并行开发来提升效率。项目中的具体做法如下:
1. 裁剪项目里程碑控制点,强化项目计划以及功能预演在项目中的关键作用,弱化评审活动对项目进程的制约以及对项目资源的消耗。
2. 项目多项活动并行开展,提高项目效率,缩短项目周期。
i. 项目启动之后,需求分析、前端开发、设计、编码、测试分析工作同步开展;并非像以前一样要等到所有需求或者demo都稳定后才能进入设计编码,而是当整体需求明确,需求细节还不完善时即进入开发;同时也根据demo的完成情况灵活的安排开发任务。使得整个项目组能快速的响应需求,使整个过程更加灵活、敏捷。
1) 实际上是将一个大活动分成了若干个小块,每个小块完成之后下一项活动就可开展,而不是要等到整个大活动完成之后才能进入到下一活动。
2) 这种方式在一定程度上也引起了需求变更,反复修改等问题,在一定程度上增加了资源量的投入。因此需要良好的控制。在并行开始前,整体需求(比如需求范围,包括的功能点等)必须是确认清楚的,只有一些需求的细节是有待明确的;同时需要整个项目组都对整体需求有统一的认识;特别是开发人员。
ii. 在测试阶段,也将单元测试、功能测试以及codereview等审核工作并行开展。
1) codereview等审核工作不再成为项目进入测试的制约条件,而是可以并行开展的。但codereview工作对项目质量控制室非常重要的一环,因此在项目编码前要有详细的设计方案知道开发人员进行编码,在编码过程中需要有架构师或技术负责人指导和跟踪开发人员编码。
2) 单元测试由测试人员和开发人员协同完成,测试人员编写TC,准备测试数据,开发人员利用测试人员的TC和测试数据来编写单元测试。
4. 测试阶段,由测试负责人主导和控制,全员参与测试,共同保证项目质量。产品的质量是做出来的,而不是测出来的;PD、PM、开发更需要对产品的质量负责。
5. 流程是死的,人是活的要灵活运用流程,而不是被流程束缚
二、 项目团队成长的改进尝试
在我的项目管理理念里,一个成功的项目,除了要能多快好省的完成项目目标,满足客户和公司的利益以外;还应该让每个项目成员获得成长和进度,让每个人对自己的工作充满激情和斗志,成为人员培养的重要实践。在我自己的项目中,我也会坚持贯彻我的理念。下面则是在项目中在这方面所做的一些努力和尝试。
1. 项目成立初期,每位项目成员确立个人的项目目标,在项目中对个人能力的培养有一个清晰的定位,也是对每个人的激励。
2. 在项目过程中合理调配任务为每个人的能力培养提供条件。比如