一个互联网软件项目的项目管理总结

翻看一年半以前做过的一个大项目的项目总结,虽然时间过去这么久,还是觉得这篇总结里的很多内容非常有感触。贴出来分享一下。

在我的观念里,一个优秀的项目经理,无论你采用瀑布,迭代,还是敏捷;都能够积极的激发团队的创造力,并灵活的驾驭流程,创造最大的价值。 在我看来,团队比流程更重要。

项目背景介绍:

互联网里的软件项目。对原产品的一个核心功能进行优化和重构。从项目启动到项目发布总共一个月时间,原预估的开发周期为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.    在项目过程中合理调配任务为每个人的能力培养提供条件。比如

     i.    xx搞单元测试,深入学习单元测试方面的知识

    ii.   xx学习自动化测试,编写自动化脚本,运行自动化。同时组织团队活动。

   iii.    xx主要熟悉发布线offer业务,让其承担了详细页面主要功能的开发。

   iv.   xx主要做offerscan这块业务,参与offerscan 这块复杂业务的设计工作

   v.    xx主要是与何崚一起设计项目的技术方案,同时对发布线的代码进行规范整合。

   vi.   xx主要是在项目管理上锻炼资源配置、任务跟踪,进度控制的能力。

3.   在项目中要求项目成员写项目日志,帮助大家培养计划、总结、主动回报的良好习惯。

4.    项目过程中,重角色轻岗位。

      i.    需求分析和产品设计阶段,由PD、需分主导,同时开发、测试也积极参与其中,对产品的实现方案提出积极的建议。让所有项目成员都有为产品负责的意识,都能更多的去从商业上考虑需求的价值,积极的参与产品的设计。

     ii.     测试阶段,让PD、开发都参与测试,同时由测试负责人来主要控制;培养PD、开发的质量意识,让他们深刻理解测试人员的工作,更好的实现PD、开发、测试的协同工作。

     iii.    Owner意识的培养,大局观的培养;项目所有成员对整个项目负责;而不是PD只对需求负责,开发只对编码负责,测试只对测试负责。每一个成员关注的是整个项目,而是不自己负责的内容。

三、其它方面的经验

1.   高效的沟通:如果是跨团队的项目或者稍微大一点的项目,亦或者是比较紧急的项目,那沟通成本则是项目资源消耗的一个大头;那么项目闭关则是一种非常必要的形式。那闭关对高效沟通有哪些明显的帮助呢?

     1) 面对面的沟通;一旦发现问题,可以直接面对面的沟通,随时沟通,而不必发贸易通,打电话,或者跑来跑去,减少了很多时间的浪费。

     2)减少不必要的沟通,快速应对紧急问题;在项目过程中没有召开过例会、周会;评审会也是能少则少;但是一旦发现重要问题,则立即组织大家召开紧急会议,讨论对策,制定方案。

     3)这里也会有一个问题,那就是闭关时,可能沟通频率会增多,这样会影响到别人的工作效率;那因此在项目过程中也应要求项目成员注意掌握沟通的频率和时机,不能因为频繁的沟通反而影响工作效率

2.  充满激情的团队

     团队是项目成败的关键。PM需要让整个团队保持持久的激情和高昂的斗志;这样整个团队才能所向披靡。那在项目中需要通过哪些方法来让团队保持奋斗激情呢?

   1)项目目标共享共担。首先要让所有项目成员认同项目的目标,无论是商业目标、技术目标还是质量目标。所有人需要认同项目目标,同时也要让大家明白,是所有项目成员对项目目标负责,而不是项目经理或者PD。

   2)要让所有人都能保持激情,还需要在项目过程中不断的调节大家的情绪。比如我们项目有时搞点娱乐活动、经常点点水果、经常买点吃的,,另外,最重要的是,一个项目中要有一两个比较活跃的人,能够带动团队氛围的人;如果能有一两个女孩子就更好了。男女干活,搭配不累是很有道理的。

    3)项目经理要创造一种非常open的氛围,让每个人都有同等重要的发言权,让每个人都觉得自己是项目的owner。

3.   团队执行力

要让每个人释放出最大的能量;PM除了把握一些关键细节点外,其余的任务都可以给团队成员充分的发挥空间,让他们尽情的去发挥自己的才智。

最让我感动的一句话就是项目成员说的“我们是一群疯子,我们是一家人!” 项目里面最重要的是团队。

猜你喜欢

转载自wmv-txy.iteye.com/blog/1070524