分类

浅谈软件项目管理

相关合集:项目管理论文

相关热搜:项目管理  软件项目管理  项目管理工程


  1.引言


  随着计算机技术的不断发展,计算机软件的规模和复杂度也随之不断增加。软件开发早已从早期的“小作坊”式向“团队协作”式转变,这就要求软件开发人员,特别是作为项目组灵魂人物的项目经理,要更深地理解和掌握软件工程的理论和方法。软件工程管理和其他的项目管理相比有很大的特殊性,软件是属于知识产品而不是实物产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。因此为了保证软件开发的质量,就必然涉及到使用软件工程的理念对软件项目的管理,好的管理方式不一定能使项目完全成功,但是一个不合适的管理模式往往会导致整个软件项目的失败,所以在项目开始前期,制定好一个良好的项目计划就显得尤为重要。


  2.需求管理


  2.1客户需求分析


  对于软件开发人员来说,客户的需求是首要的,我们不是用户,所以有的时候具体细节是我们没有办法考虑到的,这个时候我们就必须要通过最终客户来了解具体的客户需求。一个缺乏详细需求分析的软件项目,必定会导致系统不能实现预期的功能,使得项目产生严重的质量问题,而需要在后期进行昂贵的修正。


  了解了客户的需求,可以让我们在软件的开发过程中少走很多的弯路,缩短软件开发的周期,了解了客户的需求,能够提高软件的友好性,易操作性,易用性,从而来提升软件的质量。


  2.2需求成本管理


  客户需求的满足,是需要付出成本的。对于客户的需求,要尽量地予以满足,但也不是一味地不顾技术实现上的困难而迁就客户的无理要求,在需求管理进行的同时,也不能忽略了成本问题,因为每一个功能的实现都需要花费时间去努力。在尽量满足客户需求的同时也要约束客户需求,因为需求虽然不能被冻结,但是应该要被收敛。


  2.3需求内容传达


  有了具体的需求以后,需要和软件设计人员进行深入的沟通,务必做到使他们清楚地知道客户需要什么,确定软件开发的整体方向。


  3.进度管理


  进度管理严格说来又分为两点,一是项目的总体进度,另一个是每个程序开发人员的个人进度。整个项目的总体进度是建立在个人进度的基础上的,由个人进度累计而成的。


  项目的总体进度应该由项目经理通过制定软件项目进度表来控制和调整。制定软件项目进度表有两种途径:其一是根据提供软件产品的最后期限从后往前安排时间,其二是根据项目和资源情况制定软件项目开发的初步计划和交付软件产品的日期。项目经理当然希望按照第二种方式安排自己的工作进度,然而遗憾的是,大多数场合遇到的都是比较被动的第一种方式。


  个人的进度是软件开发人员个人的责任和职责所在,进度不是个人的事情,而是整个开发团队的事情。个人进度和全体进度只是着眼点不一样,它所以反映的实质都是一样的,而个人进度更是总体进度的基础,没有了个人进度何谈总体进度。个人进度管理是进度控制的最重要组成部分,个人进度的状况好坏直接影响到项目的总体进度推进情况。


  4.成本管理


  项目经理是个吃力不讨好的差事,不仅仅要为了把握项目的总体进度,更加要把握住开发的成本,如果开发的成本超过了,那对于团队的开发来说不能盈利,而不能盈利的开发也就意味着失败。


  成本管理要根据团队的具体情况和项目的具体要求,在现有的资源下,在保证项目的总体进度、质量达到客户要求的情况下,对软件项目成本进行有效的组织、控制和分析等管理,务求最大限度地降低项目成本,提高项目利润。


  在强调成本管理重要性的同时,不得不再次提到需求管理的重要。因为若是需求不能尽可能的详细和准确,将会造成项目上的反反复复,不仅致使开发人员加班费的支出成本增加、项目总体进度的延误,同时也给员工带来了身体、精神上的双重疲惫。


  5.风险管理


  软件开发过程中所谓的风险,可以简单地理解是软件开发过程中因遇到不可预知的资金和进度等问题而产生的对项目的影响。常常会使我们发生进度迟缓,成本增加,甚至是软件项目彻底失败的危险。


  风险管理是最容易被忽略也是最难管理的环节。我们可能无法根除风险,但是我们如果加强对风险产生的危机意思,对项目有可能会产生的风险进行预先而有效的管理,就可以从最大限度上减少风险的发生,而这个就是我们风险管理的目的。


  6.问题管理


  开发过程中不可避免地会遇到各种各样的问题,而如何来解决问题才是关键。软件开发过程中遇到问题一声不响、埋头苦干,务求自己将问题解决的做法是很愚蠢的,因为软件开发要求的是团队合作精神,而不是个人英雄主义。就开发人员而言,一旦碰到了难以解决的问题,在要自己努力研究解决办法的同时,也要把存在的问题及时地向项目经理反映,而项目经理可以会议中,把问题公开出来,借助大家的智慧来寻求解决的方案。总之,在项目开发过程中,一定要建立一个合理的问题反应渠道,及时解决某个开发人员的困难的同时,也将经验发布给其他人员。


  7.配置管理


  配置管理也可以说成是版本控制管理。有人把配置管理称为软件开发的一种艺术,配置管理就是对软件开发过程中的产出物,包括代码、各类文档、会议记录等等进行标识、追踪、控制和管理的过程,目的就是为了减少一些沟通合作之间人为产生的错误,提高生产率。


    8.结束语


  软件项目管理的目标是为了在控制成本、完成进度和提高质量的基础上完成软件的开发工作。让软件项目的整个生命周期,包括分析、设计、编码、测试和维护等过程,都在项目经理的掌握之下,能够按照预期的时间,成本和质量完成。学习好软件项目管理的方法,可以更大程度上保证软件项目的成功。


                                                                          沈玮

                                                        (苏州大学计算机科学和技术学院,江苏苏州215006)

上一篇:实施项目管理改革
下一篇:建筑项目管理模式