软件开发要有软件需求与开发计划,大规模软件还要有可行性报告,项目开发计划,需求方面要有软件需求说明和数据要求说明,还要有测试计划。软件开发项目策划包含计划的要素、计划编制过程、以及项目计划内容确定的一般过程。中小规模软件要有项目开发计划,软件需求说明和测试计划,软件开发中要写设计说明,大规模的软件还要包括概要设计说明,详细设计说明和数据库设计说明。
本文从提高我国软件企业项目管理的能力出发,提出软件研发项目的项目策划管理,即:面向利益相关者的项目策划、基于统计数据的项目计划。
一、面向利益相关者的项目策划
软件项目策划的目的主要在于明晰定义项目的价值和项目目标,它是软件项目正式启动的基础是明确项目需求的基础,也是控制项目范围的基础。据统计,超过50%的软件项目都遭受过不充分的需求管理的问题,平均有25%的软件项目需求会发生变化。对有缺陷的需求、设计、代码进行返工的花费占整个项目费用的40%—50%。项目策划的要点包含以下四个方面。
1.识别和定义项目的利益相关者。
现代项目管理的核心理念是项目必须让其利益相关者满意,要理解和定义项目的价值,进而在此基础上定义项目的目标,必须从识别项目的利益相关者入手。然而,实践表明,识别清楚软件项目的利益相关者并不是一件容易的事。有时一个项目进行了很长时间,但项目组未必知道项目的真正客户是谁,最常犯的错误是仅将项目成果的使用者作为客户。
例如,电子政务系统的真正用户是该机关的决策层,而不是具体负责这个电子政务项目的某个部门。如果需求仅仅来自负责这个项目的某个部门,那么即使这个系统建好了,也极有可能没有真正达到目的。但是由于各种原因,决策层人员往往没有足够的精力来关心这件事,这时如果项目组不去想方设法解决这个问题的话,那么,这个项目从一开始就埋下了“陷入泥潭”的阴影。此外,必须识别出具体的项目发起人并充分发挥其作用。实践过程中易犯的错误是误将一个部门、一个机构作为项目的发起人,这样的结果是决策时有很多人,但真正需要项目发起人提供资源、予以协调时却找不到人。
2.促成利益相关者的参与。
不仅是在策划活动中,在整个软件项目的生命周期内都必须强调项目利益相关者的参与,必须要与利益相关者一起启动项目。由于软件项目的成果将改变人们的生活或工作方式。因此,客户必须在项目策划阶段就了解项目成果对其生活或工作方式的影响,他们必须开发相应的政策、流程等以准备接受项目成果。
目前众多的ERP项目之所以失败,重要的一个原因是人们误认为ERP项目仅是一个信息系统项目,该项目带来的仅仅是一个信息产品。其实,ERP项目带来的是一新的运营方式,如果企业在没有做相应调整的情况下强行引入ERP,将会使企业运行的混乱速度加快而不是更好。事实表明,促使软件项目成功的最重要的要素莫过于利益相关者的全过程参与。
3.不可忽视项目的验收标准。
对项目目标一致性重视程度不够,是项目启动过程中普遍存在的一个问题。很多项目管理者低估了达成项目目标一致性的难度,在这方面投入的精力不够,往往简单地认为目标已经达成一致。很多项目其实是在目标没有定义清楚的情况下匆忙启动的。因此,软件项目策划的结果必须使利益相关者对项目目标的理解达成一致。要做到这一点,最有效的办法是设定项目的验收标准。可以以项目的客户为例说明这一点。
客