软件开发中的项目管理经验谈
2012-12-14 12:10:44   来源:胡运涛   评论:0 点击:

  2008年8月份,我从一个软件技术人员转变为一个负责整个项目开发过程的管理人员.从事于软件管理工作。

  开始的时候仍然脱离不了一个开发者的思维,把整个开发工作放在第一位,而且自身还参与其中.最初对管理的认识还仅仅停留在大学选修的管理课程中什么计划、组织、领导、控制等一堆名词上,具体什么含义,应该怎么做从来没有认真思考过。所以导致后面的工作越来越繁琐、越来越累,经常被弄得焦头烂额、甚至都要崩溃了。后来抽出点时间思考了下,觉得还的转变观念、转变思想、对管理应该有个系统的认识、把自己从编码中解放出来。所以后来就参加了PMP课程的学习,通过这次学习对项目管理有了系统的认识,同时也对该知识体系在软件项目开发中有了自己的认识和运用。下面就简单地谈下软件开发中的项目管理。

  管理本来就是门软学科,在一个项目中成功的管理经验在另一个项目中未必能成功,也就是说管理经验不能简单的复制。照抄照搬是行不通的,所以本人谈的经验未必适合所有项目,但可以给大家一个指导、避免少走弯路,同时也欢迎大家一起探讨。

  从项目的周期来看,项目分为立项、启动、发展/成熟、完成等几个阶段。在每一个阶段都离不开管理,因为一个项目从概念到完成所经历的每个阶段都会发生变化,而且项目的本质就是在规定的期限内完成特定的、不可重复的客观目标。更造成了管理的难度和不可控性。但总的来说还是有一定规章可循的,尤其是PMP管理课程中所推崇的一些理念和方法。个人还是比较认可的。

  首先,在项目的立项阶段,就要制定项目章程,在其中规定项目或项目利益相关者的要求和期望、项目产出物的要求和规定、开展项目的目的和理由、以及其他方面的规定和要求(比如说指定项目经理以及其权限,项目预算等)。简单地说就是为什么要开展这个项目、开展这个项目要达到什么目的。

  当然这阶段不是由项目经理决定的,项目能否开展跟项目经理没有多大关系。

  其次,项目启动后,项目经理的作用开始显现了,在这阶段要收集需求、定义范围,确定项目所要实现的功能、整体要完成的一个范围。记住这步很关键,一旦需求收集的不完整,项目定义的范围不清晰,就会造成项目不断的修改,功能不断的添加、范围不断的扩大、进而程序员不断的加班、不断的抱怨,效率不断的下降,最后项目一定会延期或失败。因此在需求收集阶段一定要尽可能的详细,确保将项目中涉及到的人员的需求全部考虑在内,当然总有漏掉的需求没有被收集到,不要怕,我们只要规定好详细的变更控制流程就好,在本文的后面会讲到。

  确定好范围后,就要对范围进行任务分解,一般分解到以周为单位,及一周所能完成的工作量,当然也可以细化到天。任务分解完后就要制定项目管理计划了,通过项目管理工具如微软的project可以将分解的任务进行排序,设置好前置事件和后置事件、以及每个阶段的里程碑。以利于对整体项目时间的把控。

  在项目中出现需求的变更和范围的变更是不可避免的,同时这个问题也是项目软件开发中大家比较头痛的问题,项目中唯一不变的就是变化,所以当出现这些问题时我们要冷静地面对,哪些问题能变,哪些问题不能变,变对项目工期的影响,变后是否影响项目的范围等都要考虑在内,提前制定好出现变更时的控制流程,这样就能站在一个比较有利的局面,能更好地把控项目。不至于在出现问题是弄得手忙脚乱,不知所措。期间根据不同的需求变更和项目完成情况对项目管理计划作出适当的调整来满足项目的工期要求。

  再次,软件项目管理中,沟通是一个比较重要的环节,好多需求不明确、范围不确定、功能点不满足用户的需求都是由沟通过程信息缺失造成的,与客户沟通不好,项目举步维艰,团队之间沟通不好,接口之间经常变动、代码改来改去;与公司领导沟通不好,上级领导不知道你在做什么,项目进展到什么程度,也得不到上级领导的支持,所以说管理就是沟通一点都不为过,即使是片面的。

  另外,团队的建设在软件项目管理中同样不可缺失,团队就是一个项目的中坚力量,是实现项目目标的重要工作者,这部分人才是关键,一个项目质量的好坏,完全取决于团队成员的素质和团队之间的合作。所以加强团队建设不可忽视。training.mypm.net

  最后,项目的收尾,好多软件项目经理在软件交付给客户后,很少注重项目的收尾工作。也很少做经验总结和归档,从而造成经验流失,其实项目收尾对降低软件项目失败率具有很大的意义。为什么会失败?什么地方可以改进?获得了什么经验?等一系列问题进行分析。总结的越多,经验越丰富越能够形成适合软件企业自身成熟的管理模式。

  以上是个人对整个软件开发过程中管理的一点拙见,不足之处还希望大家批评指正。, 

相关热词搜索:软件开发

上一篇:浅析敏捷项目管理
下一篇:如何进行项目团队考核

分享到: 收藏