技术开发 频道

某软件项目管理过程的案例研究

【IT168 技术文章】

    美国乔治•梅森大学集成科学现代研究所(Institute for Advanced Study in the Integrative Sciences,IASIS,George Mason University)的沃菲尔德(J.N.Warfield)提出了复杂性工作程序(Work Program of Complexity) [1,2,4-8,10],它是结构复杂性科学(Structural Complexity of Science)的主要成果,包括两个主要部分:(1)发现(Discovery)复杂性;(2)解决(Resolution)复杂性。具体还可以细分为四个子过程:描述(Description)过程、诊断(Diagnosis)过程、设计(Design)过程、实现(Implementation)过程。描述和诊断构成发现部分,设计和实现构成解决部分。

    软件过程(Software Process)是用来生产软件产品的一系列工具、方法和实践。软件过程改进(SPI)的目标是在按计划生产出软件产品的同时改进组织生产更好产品的能力。显然有效地软件过程必须考虑涉及到的所有需要的任务、工具、方法、技能、培训以及对人的激励,其基础是软件项目管理[3,10]。

    广州市某软件公司创建于1995年,是广州市高新技术企业。本文按照软件过程改进的复杂性工作程序对其软件项目管理过程从复杂性科学的角度进行了分析。

    1 描述软件过程

    1.1 软件过程的基本活动

    软件项目一般按照接受委托、需求分析、概要设计、实现、验证与确认五个阶段进行(图1)。

    (1)接受委托。包括售前和调研过程,形成需求调研报告和可行性研究报告,内部下达软件开发任务书;(2)需求分析。将调研的结果转化成需求规格说明书。这是软件工程管理的基线,是验收的最重要的依据,需要经过确认才能生效;(3)概要设计。主要工作是概要设计和数据库设计;(4)构建。在概要设计的基础上细化,要贯彻系统需求和设计思路,同时需要遵守相应的编码规范、界面设计规范、接口规范的约束;(5)验证与确认。按照给定的依据验证系统,包括系列的测试活动、试运行和评价,形成项目测试分析报告、试运行报告、验收报告和项目开发总结报告。

    1.2 软件过程活动的认知障碍

    缺乏合理组织的开发组常常以程序员为主,仔细分析这些程序员的工作中存在的问题:(1) 前期跟着感觉走,后期跟着操作员的零散意见走(需求描述不充分,项目无计划);(2) 冥思苦想,边想边做,还要写文档(项目无计划,过程不规范);(3) 苦苦琢磨,缺少指导,后期发现系统难以对接(过程不规范,无评测手段);(4) 项目完工后,发现项目亏本(项目无计划,无评测手段)。他们感觉到疲倦、痛苦、迷茫,毫无成就感(复杂性),这些现象非常普遍。

0
相关文章