一、引言
从上个世纪中期到现在,软件产业迅猛发展。软件产业在推动人类社会发展的同时,软件危机产生了,这是因为落后的软件生产方式无法满足迅速增长的计算机软件需求。软件危机的产生促使人们开始研究软件开发的技术手段和管理方法。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成, 通过计划、组织、控制等一系列活动, 合理地配置和使用各种资源, 而对成本、人员、进度、质量、风险等进行分析和管理, 以达到既定目标的过程。项目管理更强调项目负责人的作用和团队的协作精神, 其组织形式灵活, 更加关注人的因素, 关注客户和服务客户, 着重于提高软件项目研发的效率和质量。在本文中,对软件项目管理中的需求管理、员工之间的沟通与协作、软件项目风险管理等方面进行了阐述。本文最后介绍了软件项目管理的几项经典技术。
二、需求管理
软件需求是每个软件开发的开端与基础。在项目需求分析阶段,双方必须全面地尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。在进行需求分析时,可以首先分析客户原有系统的建设情况,对客户的原有产品进行分析,明确建设目标等。
需求管理对软件项目能否最终实现产生至关重要的影响。任何的软件项目都必须进行合理的、细致的、一致的需求管理,只有这样才能制定正确合理的软件开发计划,软件项目才能顺利地开发完成。
三、沟通与协作
软件项目管理中的沟通与协作是指信息的交流, 是使信息发挥积极作用和达到目标的手段;协作是指和谐地在一起工作的活动。沟通技术可分分四类:(1)正式书面沟通, 包括项目文档和备忘录、项目里程碑和交货时间表、需求变更和错误跟踪规程、数据字典、系统分析模型( 用例图等) ;(2)正式口头沟通, 包括状态审查会、需求评审会、设计评审会、代码评审会、用户测试, 项目定期例会等;(3)非正式口头沟通, 包括小组碰头会、同行讨论、与直属业务领导讨论等;(4)电子沟通, 包括电子邮件、内部BBS 等。协作技术包括资源合理配置、开发步骤有序化、工作目标一致化、提高关心程度、信息共享等。
四、风险管理
软件项目风险管理是指对在软件开发过程中所遇到的预算和进度等方面的问题进行分析,寻求风险应对方法,做好风险管理计划。
针对软件项目中的风险管理问题,不少专家、组织提出了自己的风险管理模型。 常见的主要风险管理模型如下。
1.SEI的连续风险管理模型(CRM)。SEI CRM模型的风险管理原则是不断地评估可能造成恶劣后果的因素;决定最迫切需要处理的风险;实现控制风险的策略;评测并确保风险策略实施的有效性。CRM模型要求在项目生命期的所有阶段都关注风险识别和管理,它将风险管理划分为五个步骤:风险识别、分析、计划、跟踪、控制。
2.Barry Boehm模型。Boehm模型的思想核心是:10大风险因素列表。针对每个风险因素,都给出了一系列的风险管理策略。在实际操作时,Boehm以10大风险列表为依据,总结当前项目具体的风险因素,评估后进行计划和实施,在下一次定期召开的会议上再对这10大风险因素的解决情况进行总结,产生新的10大风险因素表,依此类推。Boehm模型的基本形式可描述为:RE = P (UO) 3 L (UO) ,其中RE表示风险或者风险所造成的影响;P (UO)表示令人不满意的结果所发生的概率;L (UO)表示糟糕的结果会产生的破坏性的程度。
3.软件工程风险模型( SER IM) . SER IM模型要求从技术和商业两个角度对软件风险管理进行剖析