三九宝宝网宝宝绘画儿童画

软件项目进度管理怎样计划项目发挥真正的作用而不成为挂在墙上

01月10日 编辑 39baobao.com

[企业举办三八妇女节活动需要详细策划书以及一些具体游戏项目]公司开展“三八妇女节”系列活动方案 为了激励广大女员工工作热情,让她们过一个欢乐详和的三八国际妇女节,经研究决定,公司在3月份开展以下系列活动,让广大女员工感受公司大家庭...+阅读

1、任务分配、人力资源分配、时间分配要与工程进度相协调

在小型软件开发项目中,一个程序员能够完成从需求分析、设计、编码,到测试的全部工作。随着软件项目规模的扩大,人们无法容忍一个人花十年时间去完成一个需要十几个人年才能完成的软件项目。大型软件的开发方式必然是程序员们的集体劳动。由于软件开发是一项复杂的智力劳动,在软件开发过程中加入新的程序员往往会对项目产生不良影响。因为新手要从了解这个系统和以前的工作做起,当前正在从事这项工作的“专家”不得不停下手中的工作,抽出时间对他们进行培训。于是,在一段时间内,工作进度便拖后了。软件开发人数的增加将导致信息交流路径和复杂性的增加,项目进行中盲目增加人员可能造成事倍功半的效果。适用于大型项目的Rayleigh-Norden曲线[4]表明,完成软件项目的成本与时间的关系不是线性的,使用较少的人员,在可能的情况下,相对延长一些工作时间可以取得较大的经济效益。然而值得指出的是,程序员小组的正常技术交流能改进软件质量,提高软件的可维护性,减少软件错误,降低软件测试和正确性维护的开销。任务、人力、时间三者之间存在最佳组合,必须引起项目负责人的足够重视。

2、任务分解与并行化

软件工程项目既然需要软件开发人员集体的劳动,就需要采取一定的组织形式,将软件开发人员组织起来。软件人员的组织与分工是与软件项目的任务分解分不开的。为了缩短工程进度,充分发挥软件开发人员的潜力,软件项目的任务分解应尽力挖掘并行成分,以便软件施工时采用并行处理方式。

3、工作量分布

用前几节介绍的软件估算技术可以估算出软件开发各个阶段所需要的工作量,通常用人月或人年表示。软件在需求分析和设计阶段占用的工作量达到总工作量的40%~50%,说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量的10%~20%,而软件测试和调试的工作量占到总工作量的30%~40%。这对于保证软件产品质量是十分必要的,实时嵌入式系统软件的测试和调试工作量所占的比例还要大些。

4、工程进度安排

软件项目的工作安排与其他工程项目的进度安排十分相似,通常的项目进度安排方法和工具稍加改造就可以用于软件项目的进度安排。目前,程序评估与审查技术(PERT)和关键路径方法(CPM)是两种比较常用的项目进度安排方法。两种方法都生成描述项目进展状态的任务网络图。网络图中按一定的次序列出所有的子任务和任务进展的里程碑,它表示各子任务之间的依赖关系。网络图也是作业分解结构(WBS)的发展。20世纪70年代,作业分解结构就已广泛应用于航天、航空、航海、雷达、通信、火控系统等领域的基于计算机项目的分解,并用以命名各项子任务,这些子任务不仅可以用网络图的形式表示,还可以用树型或层次结构图表示。PERT和CPM方法为软件规划人员提供了定量描述工具,包括:

①关键路径。完成关键路径上所有任务时间的总和,就是项目开发所需要的最短时间。

②用统计模型估算开发每个子任务需要的工作量和时间。

③计算各子任务的最早启动时间和最迟启动时间,即确定启动子任务的时间窗口边界。

某个子任务的最早启动时间被定义为该子任务的所有前导任务完成的最早时间。反之,某个子任务的最迟启动时间被定义为在保证项目按时完成的前提下,最迟启动该子任务的时间。与最早启动时间和最迟启动时间对应的概念是最早结束时间和最迟结束时间。它们分别是最早启动时间和最迟启动时间与完成该子任务所需要时间的和:在任务进度安排过程中,应先寻求关键路径并在关键路径上安排一定的机动时间和节假日,以便应付意想不到的困难和问题。采用这些工具可以大大减轻软件项目管理人员在制定软件项目进度表方面的工作量,并可提高工作质量。

以下为关联文档:

适合女子的健身项目有哪些呢搏击——快速有效减肥 搏击操最早由一名黑人搏击世界冠军所创立,他将拳击、空手道、跆拳道及一些舞蹈动作混合在一起,要求练习者随着音乐出拳、踢腿。搏击操要求速度和力度的...

国庆节去方特人多吗?每个项目要排多久队啊是的,非常多,平时周末都很多。 要看什么娱乐项目 ,有些好玩的项目人多要排队等好久 ,一天最多十几个,还要去得早 。09:00开始 17:30 游戏停止排队,18:00关门清场。 但节后很多老年...

软件项目进度管理怎样计划项目发挥真正的作用而不成为挂在墙上的1、任务分配、人力资源分配、时间分配要与工程进度相协调在小型软件开发项目中,一个程序员能够完成从需求分析、设计、编码,到测试的全部工作。随着软件项目规模的扩大,人们无...

推荐阅读
图文推荐