对软件项目管理的探讨

点击数:414 | 发布时间:2025-02-28 | 来源:www.guanxiufeng.com

    1、引言

    伴随信息技术的高速发展,软件商品的规模也愈加庞大,个人单打独斗的作坊式开发方法已经愈加不适应进步的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。我公司是西安一家里型软件企业,在公司中已经实行了项目管理规范,软件项目管理是整个项目管理中的一个要紧组成部分。

    从定义上讲,软件项目管理是为了使软件项目可以根据预定的本钱、进度、水平顺利完成,而对本钱、职员、进度、水平、风险等进行剖析和管理的活动。事实上,软件项目管理的意义不只这样,进行软件项目管理有益于将开发职员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越可以平稳发展(即减小开发风险)。

    软件开发不同于其他商品的制造,软件的整个过程都是设计过程(没制造过程);另外,软件开发无需用很多的物质资源,而主如果人力资源;并且,软件开发的商品只不过程序代码和技术文件,并没其他的物质结果。基于上述特征,软件项目管理与其他项目管理相比,有非常大的独特质。


    2、软件项目管理的组织模式

    软件项目可以是一个单独的开发项目,也可以与商品项目组成一个完整的软件商品项目。若是订单开发,则成立软件项目组即可;若是产品研发,需成立软件项目组和商品项目(负责市场调查和销售),组成软件商品项目组。

    公司实行项目管理时,第一要成立项目管理委员会,项目管理委员会下设项目管理小组、项目评审小组和软件商品项目组。

    1、项目管理委员会

    项目管理委员会是公司项目管理的最高决策机构,一般由公司总经理、副总经理组成。主要职责如下:

    (1)根据项目管理有关规范,管理项目;

    (2)监督项目管理有关规范的实行;

    (3)对项目立项、项目撤消进行决策;

    (4)任命项目管理小组组长、项目评审委员会主任、项目组组长.

    2、项目管理小组

    项目管理小组对项目管理委员会负责,一般由公司管理职员组成。主要职责如下:
    (1)草拟项目管理的各项规范;
    (2)组织项目阶段评审;
    (3)保存项目过程中的有关文件和数据;
    (4)为优化项目管理提出建议。

    3、项目评审小组

    项目评审小组对项目管理委员会负责,可下设开发评审小组和商品评审小组,一般由公司技术专家和市场专家组成。主要职责如下:

    (1)对项目可行性报告进行评审;
    (2)对市场计划和阶段报告进行评审;
    (3)对开发计划和阶段报告进行评审;
    (4)项目结束时,对项目总结报告进行评审。

    4、软件商品项目组

    软件商品项目组对项目管理委员会负责,可下设软件项目组和商品项目组。软件项目组和商品项目组分别设开发经理和商品经理。成员一般由公司技术职员和市场职员构成。主要职责是:依据项目管理委员会的安排具体负责项目的软件开发和市场调查及销售工作。


    3、软件项目管理的内容

    从软件工程的角度讲,软件开发主要分为六个阶段:需要剖析阶段、概要设计阶段、详细设计阶段、编码阶段、测试阶段、安装及维护阶段。不论是作坊式开发,还是团队协作开发,这六个阶段都是不可或缺的。

    依据公司实质状况,公司在进行软件项目管理时,重点将软件配置管理、软件水平管理、软件风险管理及开发职员管理四方面内容导入软件开发的整个阶段。

    在八十年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,大家在进行软件项目管理时,也应该遵循这七条原则。它们是:

    (1)用分阶段的生命周期计划严格管理;
    (2)坚持进行阶段评审;
    (3)实行严格的商品控制;
    (4)使用现代程序设计技术;
    (5)结果应可以了解地审察;
    (6)开发小组地职员应该少而精;
    (7)承认不断改进软件工程实践地必要性。

    4、撰写《软件项目计划书》

    项目组成立的第一件事是撰写《软件项目计划书》,在计划书中描述开发日程安排、资源需要、项目管理等各项状况的大体内容。计划书主要向公司各有关职员发放,使他们大体知道这款软件项目的状况。对于计划书的每一个内容,都应有相应具体推行手册,这类手册是供项目组有关成员用的。


    《软件项目计划书》一般应该包含下述内容:

    1.引言
    1.1计划的目的
    1.2项目的范围和目的
    1.2.1范围描述
    1.2.2主要功能
    1.2.3性能
    1.2.4管理和技术约束
    2.项目估算
    2.1用的历史数据
    2.2用的评估技术
    2.3工作量、本钱、时间估算
    3.风险管理策略
    3.1风险辨别
    3.2有关风险的讨论
    3.3风险管理计划
    3.3.1风险计划
    3.3.2风险监视
    3.3.3风险管理
    4.日程
    4.1项目工作分解结构
    4.2时限图
    4.3资源表
    5.项目资源
    5.1职员
    5.2硬件和软件
    5.3特别资源
    6.职员组织
    6.1组织结构
    6.2管理报告
    7.跟踪和控制机制
    7.1品质保障和控制
    7.2变化管理和控制
    8.附录

    5、软件配置管理

    是不是进行配置管理与软件的规模有关,软件的规模越大,配置管理就看上去越要紧。软件配置管理简称SCM(Software Configuration Management的缩写),是在团队开发中,标识、控制和管理系统变更的一种管理。配置管理的用法取决于项目规模和复杂性与风险水平。

    1、现在软件开发中面临的问题

    。在有限的时间、资金内,要满足不断增长的软件商品水平需要;
    。开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;
    。程序的规模愈加大;
    。软件的重用性需要提升;
    。软件的维护愈加困难。

    2、软件配置管理应提供的功能

    在ISO9000.3中,对配置管理软件的功能作了如下描述:

    。唯一地标识每一个软件项的版本;
    。标识一同构成一完整商品的特定版本的每一软件项的版本;
    。控制由两个或多个独立工作的职员同时对一给定软件项的更新;
    。控制由两个或多个独立工作的职员同时对一给定软件项的更新;
    。按需要在一个或多个地方对复杂商品的更新进行协调;
    。标识并跟踪所有些手段和更改;这类手段和更改是在从开始直到放行期间,因为更改请求或问题引起的。

    3、版本管理

    软件配置管理分为版本管理、问题跟踪和打造管理三个部分,其中版本管理是基础。版本管理应完成以下主要任务:

    。打造项目;
    。重构任何修订版的某一项或某一文件;
    。借助加锁技术预防覆盖;
    。当增加一个修订版时需要输入变更描述;
    。提供比较任意两个修订版的用法工具;
    。使用增量存储方法;
    。提供对修订版历史和锁定状况的报告功能;
    。提供归并功能;
    。允许在任何时候重构任何版本;
    。权限的设置;
    。晋升模型的打造;
    。提供各种报告。

    4、配置管理系统PVCS 6.0

    PVCS6.0是一套很出色的配置管理系统,它可以达成配置管理中的各项需要,并且能和多种时尚开发平台集成,为配置管理提供了非常大的便捷。

    6、软件水平管理

    伴随软件开发的规模愈加大,软件的水平问题看上去愈加突出。软件水平的控制不单单是一个软件测试问题,在软件开发的所有阶段都要引入水平管理。我公司除加大了国家标准"信息技术软件存活期过程"(GB/T8566--1995)的规范管理外,还积极为通过ISO 9000.3做筹备。

    1、软件品质保障计划

    在进行软件开发前,需要有一个《软件品质保障计划》。现在较常见的是ANSI/IEEE STOL
    730--1984,983--1986标准,包含以下内容:

    1.计划目的
    2.参考文献
    3.管理
    3.1.组织
    3.2.任务
    3.3.责任
    4.文档
    4.1.目的
    4.2.需要的软件工程文档
    4.3.其他文档
    5.标准和约定
    5.1.目的
    5.2.约定
    6.评审和审计
    6.1.目的
    6.2.评审需要
    6.2.1.软件需要的评审
    6.2.2.设计评审
    6.2.3.软件验证和确认评审
    6.2.4.功能评审
    6.2.5.物理评审
    6.2.6.内部过程评审
    6.2.7.管理评审
    7.测试
    8.问题报告和改正活动
    9.工具、技术和办法
    10.媒体控制
    11.提供者控制
    12.记录、采集、维护和保密
    13.培训
    14.风险管理

    2、水平管理的基本原则

    。控制所有过程的水平;
    。过程控制的出发点是预防不合格;
    。水平管理的中心任务是打造并推行文件化的水平体系;
    。持续的水平改进;
    。有效的水平体系应满足客户和组织内部双方的需要和利益;
    。按期评价水平体系;
    。搞好水平管理重点在于领导。

    3、软件水平原因

    正确性:系统满足规格说明和用户目的的程度,即,在预定环境下能正确地完成预期功能的程度。

    健壮性:在硬件发生问题、输入的数据无效或操作错误等意料之外环
    境下,系统能做出适合响应的程度。

    效率:为了完成预定的功能,系统需要的计算资源的多少。

    完整性(安全性):对未经授权的人用软件或数据的企图,系统能过控制(禁止)的程度。

    可用性:系统在完成预定应该完成的功能时另人认可的程度。

    风险:按预定的本钱和进度把系统开发出来,并且为用户所认可的概率。

    可理解性:理解和用该系统的容易程度。

    可修理性:诊断和改正在运行现场发现的错误所需要的工作量的大小。

    灵活性(适应性):修改或改进正在运行的系统需要的工作量的多少。
    可测试性:软件容易测试的程度。

    可移植性:把程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的办法是:用原来程序设计和调试的本钱除移植时需用的成本。

    可再用性:再其他应用中该程序可以被第三用的程度(或范围)。

    互运行性:把该系统和另一个系统结合起来需要的工作量的多少。

    4、软件评审

    软件评审并非在软件开发完毕后进行评审,而是在软件开发的每个阶段都要进行评审。由于在软件开发的每个阶段都可能产生错误,假如这类错误不准时发现并纠正,会不断地扩大,最后可能致使开
    发的失败。下面这组数据可以了解的看出前期的错误对后期的影响。

    软件评审是相当要紧的工作,也是现在国内开发最不看重的工作。

    (1)评审目的

    。发现任何形式表现的软件功能、逻辑或达成方面的错误;
    。通过评审验证软件的需要;
    。保证软件按预先概念的规范表示;
    。已获得的软件是以统一的方法开发的;
    。使项目更容易管理。

    (2)评审过程

    A、召开评审会议:一般应有3至5人参加,会前每一个参加者做好筹备,评审会每次一般低于2小时。

    B、会议结束使需要做出以下决策之1、同意该商品,不需做修改;因为错误紧急,拒绝同意;暂时同意该商品。

    C、评审报告与记录;所提出的问题都要进行记录,在评审会结束前产生一个评审问题表,另外需要完成评审简要报告。

    (3)评审准则

    。评审商品,而不是评审设计者(不可以使设计者有任何重压);
    。会场要有好的氛围;
    。打造议事日程并保持它(会议不可以脱离主题);
    。限制争论与反驳(评审会不是为知道决问题,而是为了发现问题;
    。指明问题范围,而不是解决提到的问题;
    。展示记录(最好有黑板,将问题随时写在黑板上);
    。限制会议人数和坚持会前筹备工作;
    。对每一个被评审的商品要尽力评审清单(帮助评审职员考虑);
    。对每一个正式技术评审分配资源和时间进度表;
    。对全部评审职员进行必要的培训;
    。及早地对自己地评审做评审(对评审准则的评审)。

    5、ISO9000.3软件水平认证体系

    ISO9000.3是ISO9000水平体系认证中关于计算机软件水平管理和品质保障标准部分。它从管理职责、水平体系、合同评审、设计控制、文件和资料控制、采购、客户提供商品的控制、商品标识和可追溯性、过程控制、检验和试验、检验/测量和试验设施的控制、检验和试验状况、不合格品的控制、纠正和预防手段、搬运/贮存/包装/防护和出货、水平记录的控制、内部水平审核、培训、服务、统计系统等二个方面对软件水平进行了需要。

    6、测试

    软件测试是软件开发的一个要紧环节,同时也是软件品质保障的一个要紧环节。所谓测试就是用已知的输入在已知环境中动态地实行系统(或系统的部件)。测试一般包含单元测试、模块测试、集成测试和系统测试。假如测试结果与预期结果不同,则非常可能是发现了系统中的错误,测试过程中将产生下述基本文档:

    (1)测试计划:确定测试范围、办法、和需要的资源等。

    (2)测试过程:详细描述和每一个测试策略有关的测试步骤和数据(包含测试数据及预期的结果)。

    (3)测试结果:把每次测试运行的结果归入文档,假如运行出错,则应产生问题报告,并且需要经过调试解决所发现的问题。测试结果:把每次测试运行的结果归入文档,假如运行出错,则应产生问题报告,并且需要经过调试解决所发现的问题。

    7、软件风险管理

    软件项目管理存在着风险,假如大家提前看重风险,并且有所防范,就能最大限度降低风险的发生。进行风险管理是有效的方法。

    1、风险的分类

    依据风险内容,大家可以将风险分为项目风险(本钱提升,时间延长等)、技术风险(技术不成熟等)、商业风险(销售问题等)、策略风险(企业的经营策略发生了变化)、管理风险(公司管理职员是不是成熟等)、预算风险(预算是不是准确等)等。

    另外,大家还可以将风险分为已知风险(如职员辞职等)、可预报风险(从以往经验得出可能有风险的)和不可预测风险。

    2、风险的辨别

    风险辨别的有效办法是打造风险项目检查表。主要涉及以下几方面检查:
    。商品规模风险检查
    。业务影响风险检查
    。与顾客有关的风险检查
    。过程风险检查
    。技术风险检查
    。开发环境风险检查
    。与职员的模式和经验有关的风险检查

    3、风险评估

    风险评估主要从下面七个方面进行:
    。发生的可能性
    。发生的结果(影响)
    。打造一个尺度表示风险可能性(如,极罕见、罕见、普通、可能、极可能)
    。描述风险带来的后果
    。估计对商品和项目的影响
    。确定风险评估的正确性
    。依据影响排定有限队列

    另外,要对每一个风险的表现、范围、时间做出尽可能准确的判断。

    4、风险的评价

    对风险的评价主要依据三个原因:风险描述、风险概率和风险影响。从本钱、进度及性能三个方面对风险进行评价。确定项目的暂停点,在暂停点出再一次进行风险评价。

    5、风险的驾驭和监控

    风险的驾驭与监控主要要靠管理者的经验来推行。如,某开发职员的辞职概率是0.7,辞职后会对项目导致肯定的影响,则该风险驾驭和监控的方案如下:

    。与在职职员协商,确定流动缘由。
    。在项目开始前,把环节这类流动缘由的工作列入风险驾驭计划。
    。项目开始时,作好人是会流动的筹备,采取一些手段确保职员一旦离开时,项目仍能继续。
    。拟定文档标准,并打造一种机制,保证文档准时产生。
    。对所有工作进行细微详审,使更多人可以按计划进度完成我们的工作。
    。对每一个重点性技术职员培养后备职员。

    在考虑风险本钱之后,决定是不是使用上述方案。

    8、职员管理

    1、对项目经理的需要

    。可以使小组每一个成员都能发挥能力
    。有肯定的组织能力
    。可以使小组美味成员有收获感
    。有提出解决问题策略的能力
    。对问题的理解有肯定的深度
    。要能让成员了解软件水平的重要程度

    2、职员的通讯方法

    (1)正式非个人方法,如正式会议等;
    (2)正式个人之间交流,如成员之间的正式讨论等(一般不形成决议);
    (3)非正式个人之间交流,如个人之间的自由交流等;
    (4)电子通讯,如E-M人工智能L(邮件)、BBS(电子通知板系统)等;
    (5)成员互联网,如成员与小组以外或公司以外有经验的有关职员进行交流;

    在实践中发现,(5)的通讯效率最高,第二是(1)。


    人力资源管理中的风险管理

    在进行人力资源管理时,大家总是看重招聘、培训、考评、薪酬等每个具体内容的操作,而忽略了其中的风险管理问题。其实,每一个企业在人事管理中都可能遇见风险,如招聘失败、新政策引起职员不满、技术骨干忽然辞职等等,这类事件会干扰企业的正常运转,甚至会对公司导致致命的打击。怎么样防范这类风险的发生,是大家应该研究的问题。尤其是高新技术企业,因为对人的依靠更大,所以更需重视人力资源管理中的风险管理。


  • THE END

    声明:本站部分内容均来自互联网,如不慎侵害的您的权益,请告知,我们将尽快删除。

专业院校

返回顶部

Copyright©2018-2024 国家人事网(https://www.zbxggc.com/)
All Rights Reserverd ICP备18037099号-1

  • 国家人事网微博

  • 国家人事网

首页

财经

建筑

医疗