2014/9/11 15:30:21
一个互联网软件项目的项目管理总结 

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

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

  项目背景介绍:

  互联网里的软件项目。对原产品的一个核心功能进行优化和重构。从项目启动到项目发布总共一个月时间,原预估的开发周期为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除了把握一些关键细节点外,其余的任务都可以给团队成员充分的发挥空间,让他们尽情的去发挥自己的才智。

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

子墨 | 阅读全文 | 回复(0) | 引用通告 | 编辑 | 收藏该日志

发表评论:

    昵称:
    密码:
    主页:
    标题:
时间记忆
我的相册
$show_photo$
最新日志
最新评论
最新回复
我的好友
站点信息