IT
软件工程
安全
嵌入式开发
Java
.NET
C/C++
数据库
网络与操作系统
数码艺术设计
高端公开课
高级项目管理师
现代软件过程与有效开发
高级系统架构师
高级软件需求分析师
Oracle 10g备份恢复
Oracle 10g性能调优
CMMI培训、咨询
CMMI培训
CMMI咨询
CMMI评审
 
全部课程
软件工程
软件组织管理培训 高级系统架构师 高级软件需求分析师
软件项目的规划、监控与度量 敏捷软件开发实现模式与最佳实践 Web软件开发之道-ROR
UML与面向对象分析与设计
软件项目的规划、监控与度量
 1,课程说明
    软件项目成功最重要的要素是什么?大型软件项目是依靠一个组织来完成的,如果这个组织在管理上是无序的,开发过程是非正式和混乱的,计划期限和成本目标通常超限,项目的成功取决于个人英雄式的行为,在人员发生变动时项目往往陷入灾难,那么,很难说这个项目会获得成功。软件工程过程的目的是使开发过程的各个要素,以一种统一协调的方式运转,保证时间、资金和质量这样的三角约束得以平衡,最终确保项目得以成功。
    一个优秀的项目组织者,有三项关键能力是最重要的,一个是制定有效的规划(计划),再一个是项目过程中的监控和调整,还有一个能力就是无论是规划还是监控,应该以可度量的方式进行。度量为什么重要呢?那是因为无数科学实践都告诉我们:无法控制的东西就无法管理,而无法度量的东西就无法控制。因此作为一个高水平的软件项目管理者,必须对软件度量及其应用有透彻的理解。
    这三项能力是一个优秀的软件成功的基础,为此我们必须仔细研究,认真分析其中的关键点并应用到实践中,本课程的基本思想如下:
 
    1,为了改变软件开发混乱、随意、无秩序的状态,人们提出了软件开发过程与规范,并且发展了一系列最佳实践实践,极大的促进了软件行业的发展。多年以来,经典的软件工程学以它的规范性和一致性,在大型复杂项目的开发中占有重要的地位。规范性项目依赖于合理的规划,我们必须把握计划驱动的项目规划中各种现代方法的本质。
 
    2,有效的项目规划来自于初期对规模的正确估计,由此再衍生出对于工作量和成本估计。在这个方面,功能点规模度量是国际上最通用的方法。成功的功能点度量只有通过大量的案例研究才可能逐步理解计算方法的本质。因此,本课程将辟出很大的篇幅讨论功能点度量的计算与工程实践方法。
 
    3,软件开发过程的成功有赖于完善正确的项目监控,如果没有度量作为监控的信息,事实上监控将没有办法实现,更不可能进行正确的项目调整,我们将通过一个完整的面临崩溃的项目案例,通过项目监控和启动拯救过程的实践,讨论在监控过程中和充分利用度量数据,以有序的、理智的、经过很多成功拯救经验积累出来的方法,使项目重新走向成功的经验,来理解项目监控的本质。
 
    4,根据统计,需求变更是项目失败的最大原因,这促使业内研究更加合理的过程和工程管理方法。敏捷过程是近年来提出的一种新的思想并且获得很大的成功。敏捷过程项目规划与规范性方法有本质的不同,但是敏捷过程的动态性给项目管理、预估与规划带来很大的困难,掌握敏捷项目的规划、度量和预估,是正确应用敏捷过程必备的能力。
 
    5,由于现代项目的复杂性和多样性,在项目规划中平衡规范和敏捷这两种看似对立的方法论是一种重要的能力。我们如何以可度量的方法,通过分析现有状况来构建合理的过程,这是一个高级项目管理人员需要认真思考的问题。
 
    上述各点,成为本课程的核心思维。本课程并不是一个泛泛的原理性课程,而是许多专家多年来理论和实践的总结,在一些关键点上会对目前项目开发中的一些难点和问题,有针对性的寻找对策,进而提出相应的解决方案。在内容安排上,我们注意到了既要有理论指导,有对问题深刻的分析,对一些模糊难处理的问题,将通过案例进行方法论的研究,把理论和实际有机的结合起来。相信通过学习可以使企业的软件开发水平达到一个新的高度。
 
    2,课程内容
 
一、成功项目规划的过程与方法
    1)成功软件开发的基本原理
    2)研究研究失败的主要原因
    3)项目规划过程
    4)协商范围确定目标
    5)确定任务
       工作分解结构的问题与对策
       建立WBS的方法
       建立项目的里程碑
    6)估计任务工期
    7)研究任务之间的依赖关系与进度安排
       研究依赖关系的重要意义
       依赖性的识别
       安排工作进度
       进度安排完整过程
    8)建立团队分配资源
       资源分配的问题与机会
       如何把职责分配给个人
       在项目中管理资源的活动
       有效的指导团队工作
 
二、项目跟踪与控制
    1)过程控制、管理和报告
    2)成本管理和进展管理(挣值分析)
    3)项目监控(PMC)过程
 
三、面临崩溃项目的拯救过程
    1)拯救灾难项目所讨论的问题范围
    2)项目处于崩溃边缘的监控数据判断准则
       从时间监控数据上判断
       从预算监控数据上判断
       从质量监控数据上判断
       合理的利用经验和常识
    3)启动拯救灾难过程
    4)对于拯救过程的一些提示
 
四、项目规划与功能点规模度量
    1) 功能点度量在高质量项目中的应用
       正确应用功能点测数据量
       正确应用功能点方法
       使用功能点估算软件项目
       建立性能基准
       建立服务级测量
    2)功能点计算流程
       估算功能点规模的流程
       计算的类型
       确定计算范围和应用程序边界
    3)数据功能规模的实例研究
       数据功能
       ILF和EIF的复杂度和贡献
       ILF和ELF的计算实例
       确定ILF和EIF一些疑难问题
    4)事务处理规模的实例研究
       外部输入(EI)
       外部输出(EO)
       外部查询(EQ)
    5)计算未调整功能点的案例
    6)系统基本特征的实例研究
       系统基本特征调整因子
       值调整因子
       完整的功能点计算结果
    7)持续时间和成本的预估
 
五、敏捷模型下的规划、监控与度量
    1)从瀑布模型到迭代模型
       经典项目过程导致失败的主要原因
       敏捷开发的方法论
    2)敏捷规划基本概念
    3)敏捷模型下的规模估计
       用描述点估计规模
       用理想日进行估计
       关于估计方法的讨论
    4)为价值作规划
       确定主题的优先级
       确定合意性优先级
    5)制定发布规划
    6)制定迭代规划
       速度驱动的迭代规划
       承诺驱动的迭代规划
       任务估计值与描述点的关系
       估计项目开发的速度
    7)为不确定性缓冲计划
    8)规划多小组的项目
 
六、平衡软件过程的规范性与敏捷性
    1)软件开发规范性与敏捷性的融合
       规范方法与敏捷方法的比较
       找出规范与敏捷的中间方法
       方法的对比及各自的擅长领域
    2)在擅长过程中渗透另一种方法的案例
       利用计划扩大敏捷过程的应用规模
       利用敏捷使计划驱动过程更有效
       案例的总结和思考
    3)寻求平衡规范与敏捷的合适过程
       通过度量确定改进方向
       平衡敏捷与规范的方法与步骤
       利用风险分析选择合适的软件工程策略
    4)综合案例的讨论