admin管理员组

文章数量:1539554

2024年5月11日发(作者:)

中小型软件项目开发的

管理方法

■广东东莞/潘玉茹

目前,有些企业只考虑如何降低成本,认为中小型

软件项目开发不需要严格的管理。事实恰恰相反,中小

型软件项目不仅需要进行项目管理,而且还应结合项目

的特点,采取适合项目要求的管理方法。

建立正式的文档。缺少文档资料或文档资料不规范,是

中小型软件项目管理普遍存在的问题。这种问题会造成

危险:一是有的人员可能会对软件的接口、结构在理解

上有偏差,而这种偏差可能会造成以后返工。二是因在

讨论时忽略了某些情况,等大家都按当时的分工完成各

自的工作后,才发现各个模块组合起来却形不成一个完

没有一个负责整的系统。其原因在于系统设计不充分,

三是一旦有人中途退出协调的人员监控整个开发过程。

开发小组,新来的人员就难以理解别人做好的代码,索

性自己从头做起。四是未建立相关文档,日后软件维护

和版本升级都较困难。

(3)软件测试过程敷衍了事。在软件项目开发过程

中,不经过单元测试而直接进入系统测试的现象屡有发

生,其原因是虽然每个模块相对较简单,但是为了测试

测试一个函数是否一个模块需要建立测试程序。比如,

正确,应该用测试数据调用该函数,需要编写测试数据,

而有的开发人员嫌麻烦,认为其他模块很快就出来了,

其实这种方法的效率直接用真正的数据运行几次即可。

较低,将大量时间用在了模块上的一个错误定位。另外,

由于这种测试不完全,因此某些边界情况容易被忽视。

(4)软件缺陷无法控制。软件项目开发中容易产生

项目分析、设计和编码等各阶段的缺陷。因对各个阶段

复查和审查,导致产生一些缺陷。在修缺少必要的测试、

改缺陷过程中还不断产生新的缺陷,使缺陷很难弥补、

产品很难集成,浪费了大量的时间和精力。

以上问题常常导致项目工期延长、资金投入增加,

引起用户的不满,甚至造成项目开发失败。

中小型软件项目开发中存在的问题

与大型软件项目相比,中小型软件项目具有灵活性

高、项目功能和开发人员较少、开发周期较短的特点。这

些特点使得软件项目看起来较简单,容易成功实现,因

而企业往往忽视了对项目进行科学管理,在项目开发中

出现一些问题。

1.项目管理中的问题

)项目进度难以估计。因将要开发的项目较小,企(1

业对其没有足够的认识,无法确定项目的规模及开发各

阶段需要的时间,更无法制定出能切实起到指导和控制

项目进度作用的日程表,结果实际完成时间与估计完成

时间有较大差别,致使项目开发陷入困境。

(2)项目组成员职责划分不明确。因参与开发的项

目组成员较少,各成员职责划分不明确,所有成员都把

主要精力放在编码上,由此造成两个问题:一是在项目

开发中许多其他工作没有专人负责,包括开发环境的选

择、相关工具的选择和有效应用、版本控制、变更管理和

缺陷管理等。二是在项目开发过程中,许多工作产生“扯

现象,如对测试中发现的缺陷相互推诿。皮”

2.项目开发过程中的问题

(1)项目需求分析不充分。对软件开发的需求分析

不重视,不能详尽描述其具体功能,不了解用户的重要

就开需求和新需求。在未充分进行需求分析的情况下,

始项目设计和编码,导致在项目开发过程中不断有新的

用户需求出现,致使项目开发没有明确的方向,甚至用

户不认可开发出的产品。

(2)设计过程不规范。开发人员少,意味着不同人员

在程序之间交互、接口相对少;开发周期短,意味着同样

几个人员从头到尾负责一个项目。这两者虽然是小项目

的优势,但是却让人容易犯错误。比如,在开发过程中,

未往往是几个人粗略讨论基本的数据结构、函数接口,

中小型软件项目开发的管理方法

软件项目管理是为了使该项目能够按照预定的成

进度、质量顺利完成,通过计划、组织、控制等,合理本、

人员、进度、质量、风险等配置和使用各种资源,对成本、

进行分析和管理,以达到既定目标的过程。软件项目管

理包括收集项目信息和计划、成本、质量、配置、开发人

员等管理。规模较大的软件项目开发主要分为六个阶

概要设计、详细设计、编码、测试、安装、维段:需求分析、

2012年第12期

61

管理在线GUANLIZAIXIAN

护。其中对软件配置、软件质量、软件风险、开发人员的

管理贯穿于整个开发过程。

俗话说:“多大的脚穿多大的鞋。”软件项目管理也

是如此。不能将大型软件开发项目的管理方法生搬硬套

到中小型软件项目上,这样可能适得其反。从另一个角

度看,项目的大与小并没有本质的区别,许多方法是共

通的。中小型软件开发项目具有规模小、机制灵活的特

点,这一特点可使企业建立良好的沟通机制及节省沟通

如果企业再成本,提高工作效率,有利于开发管理工作。

(统一软件开采用适当的项目管理方法和工具,如RUP

发过程),将大大提高项目开发的成功率。

加强中小型软件项目开发管理,应抓住几个关键点:

1.进度管理

)任务、人力资源、时间等分配应与进度相协调。(1

(2)任务分解要合理,做到并行化。

(3)对项目进度控制应细致,在执行中审查应严格。

(4)针对项目开发中不容易控制的部分,如技术难

点、来自用户的时间拖延,应做好充分准备。

(5)应为测试、缺陷修正和预期的需求变更,预留足

够的时间。如有必要,还应采用协同进度管理工具。

2.需求管理

软件开发项目的需求阶段最重要,而需求管理是整

个项目管理的重中之重。需求管理通常包括两个方面:

(1)需求收集和分析。软件开发项目的主要风险来

对自需求不明确。因用户与软件开发团队的背景不同,

这些差异如果不能在需同一问题的理解自然存在差异。

求的最初阶段尽量弥合,那么必然导致需求增加、需求

更改。因此,在需求分析阶段,分析人员应与用户进行沟

通,充分了解用户的目标和工作过程,从用户的角度出

发,帮助用户将模糊的需求清晰化,将简略的需求明细

完善化,将混乱的需求逻辑化、条理化。化、

(2)需求变更。任何项目开发都无法承受频繁的需

求变更、需求增加。因此,除了在需求收集阶段应尽可能

“冻结”需求。企业将需求细化外,还应在适当阶段尽量

的销售人员往往倾向于接受用户模糊的要求,并暗示用

户“什么都好商量”。这往往在项目后期甚至项目完成后

开支严又频繁更改需求,甚至导致项目开发周期延长、

企业应在需求细化的后期重超出预算埋下隐患。因此,

阶段,对需求“冻结”、后期需求增加的费用支付方式与

用户达成共识。

3.设计过程管理

中小型软件开发项目的设计阶段可分为三个步骤:

(1)架构设计。这一步骤的主要任务是设计出各功

能相对独立的模块,并根据模块化设计思想、编程环境

的要求和需求分析的结果,建立整个系统的组成架构

(2)概要设计。这一步骤的主要任务是设计出每个功

能模块的细化子模块(设计元素),各设计元素完成相对

独立的特定功能,并与其他设计元素之间的关系简单化。

(3)详细设计。这一步骤的主要任务是对每个设计

元素组成不佳的语言文字、流程图描述、功能构件的划

分和数据结构进行定义。

企业应关注中小型软件开发项目设计的灵活性。在

实际的项目开发中,即使在需求阶段花再多的精力,也

无法完全避免需求变更。因此,在架构设计中采用灵活

的设计方法至关重要。项目设计人员可借鉴RUP中的

体系结构思想,利用基于独立的、可替换的、模块化组件

能适的体系结构管理复杂性,提高重用率,构建有弹性、

应变化、易于理解、有助于重用的体系结构。

4.编码和测试管理

进入编码阶段后,可能会发现前面的分析或设计阶

段的某些错误,这时应返回到前面的阶段进行必要的修

改。在测试阶段,即使是小项目,也应进行严格的测试。

单元测试是软件测试的第一步,不能因其是小型项目而

忽视这一过程。事实上单元测试至少可带来三点好处:

减少测试工作的复杂性、易于确定错误的位置、多个模

块同时进行测试,从而缩短整个测试周期。

5.项目开发团队管理

软件开发项目应分工明确、因人施用。一是配备项

目经理,负责用户协调、项目计划及其跟踪等工作;二是

架构分析等工作;三是要有人负

要有人负责需求交流

责测试工作;四是要有人负责配置变更工作。这些人员

同时发挥他们沟通灵活、方可兼任多职,但分工要明确。

便的特点,有人主导,有人配合,做到各种信息在团队内

在项目实施后,应保持团队稳定,避免人

部的充分共享

员变更给团队协作带来混乱。

特别是项目负责人,在既进行项目的日常管理,又

参与编程的情况下,应合理运用时间,做好以下工作:

)项目协调。这是项目协调负责人的主要工作,应(1

随时监控开发人员的工作,包括内容是否与要求发生偏

差、进度是否滞后等。项目负责人只有在完成这些工作

后,才能参与编程。

(2)为每个开发人员制定明确的任务书。应使每个

开发人员明确自己的任务,这些任务应采用文档表示。

(3)让开发人员都熟悉设计模型。让每个开发人员都

清楚自己所做的工作在整个系统中处于什么地位,寻找

设计模型中的漏洞,避免各人的代码编写完后又修改。

6.文档管理

在软件项目开发中,必须建立文档,否则后期的修

改、维护、升级都会异常困难;对文档的要求应“适度”,

够用即可。建立文档应便于后续工作,不应把大量精力

投入过于繁琐的文档编写。此外,还应注意文档的版本

控制,保障文档和代码的一致性。

(作者单位:东莞理工学院城市学院)

编辑冯学恭

62

2012年第12期

本文标签: 项目开发需求