软件项目管理培训

软件开发项目全过程实践

课程介绍:

软件开发是一项变化较快,难以实体化,且极其复杂的工作。组织通过软件开发来创造全新的产品、或者软件升级改造、解决特定问题等,这些都将以“交付”的模式展现给客户或者组织。本课程将微软企业在软件开发项目管理方面的各种问题,通过比较典型的事例来展示软件需求、软件进度把控、费用投入、软件质量(如测试、评估、检查等)、软件资源投入、软件风险与安全问题、软件外包、以及各类人员的协作与沟通等内容。通过这些知识点的汲取,以帮助组织和软件项目管理人才有更好、更系统的认知。

适用对象:

项目经理、软件项目经理、系统分析师、系统设计师、架构师、软件开发团队、敏捷项目经理、产品负责人、测试与开发人员、IT运维人员、CIO、信息管理与安全人员、项目集负责人等。

本课程适用于任何具有、或需要通过软件开发项目来实现组织业务(或战略)需求的企业。

课程收益:

  1. 参训人员可以全面系统的学习到软件开发项目的全过程和全领域知识,以快速应用于实际工作中
  2. 参训人员能够准确捕获自身所在企业或项目中的定位,更好的服务于项目,创造自身价值
  3. 能够帮助组织或PMO,或软件开发小组创造整体价值,关注组织诉求,领悟客户和领导的期望
  4. 有能力作为软件开发项目负责人的身份(或其他角色),管理(或参与)项目组各类工作

课程时间:

2天,6hs/day

课程内容:

  • 软件项目管理定义与发展趋势
  • 软件开发项目管理的定义与分类
  • 软件开发类项目管理的挑战分类说明
  • IT战略与软件项目集、项目组合介绍
  • 敏捷软件开发的发展趋势与实践说明
  • 项目管理与运维管理的契合

案例:王小帅是一家软件开发集团的CIO,现在要根据CEO的要求,规划IT战略,他应该如何从战略、项目组合、项目集、项目、运营的角度,设计一个初步框架呢。

  • 软件开发类项目环境评估与人员要素
  • 软件开发类项目的影响力因素
  • 组织结构对开发决策的干扰
    • 康威定律带来的启示
    • 职能、矩阵、项目驱动方式
  • 软件项目负责人的任命与职责
  • 软件开发团队的选择和要求
  • 软件项目开发方法的选择和说明
  • 预测型开发方法
  • 适应型开发方法
  • 混合型开发方法(迭代、增量、其他混合)
  • 软件开发生命周期与过程
  • 生命周期:开始、规划、开发、测试、部署、结束
  • 开发过程:启动、规划、执行、监控、收尾

案例:李猛习惯了传统项目的开发方法,现在公司希望导入敏捷开发方法,李猛作为一名久经沙场的传统软件项目经理,应该如何转型到敏捷开发项目中来。另外,公司现有组织结构不具备开发敏捷项目的特点,他应该怎么争取和改变现状?

  • 项目立项与启动过程说明
  • 制定与发布项目章程
    • 发起人的定位与支持原则
    • 外部客户合作与合同问题
    • 项目立项的实际运作方式
  • 组建初步软件项目团队的思考
  • 专用和非专用的团队成员
  • 团队协作和分工说明
  • 虚拟与同位说明
  • I型和T型人才的要求
  • 稳定与临时成员说明
  • 确定初步项目范围和目标
  • 识别与分析干系人群体
  • 识别干系人:客户、用户、分包商、资源支持者、供应商、团队成员、合作伙伴等都有谁
  • 分析干系人:分析这些干系人在项目中的期望和诉求、影响、作用、价值等
  • 生成《干系人管理清单》

案例:张峰刚刚被任命为公司的一个软件开发项目负责人,领导希望他能够更多从组织和甲方角度考虑问题,张峰在被授权的时候,应该如何获取该有的权力,而不至于在后续工作推进中被动?

  • 软件需求收集、分析与交付分解
  • 软件需求和类型
  • 软件业务、人员需求
  • 软件解决方案需求
  • 软件移交与运行需求
  • 软件管理与质量需求
  • 收集/启发软件需求的常用方法
  • 标杆对照、访谈、观察与交流
  • 投票、决策、用户故事
  • 系统交互图、原型技术、文件分析
  • 需求文件与属性文档创建
  • 需求分析与定义
  • 拖网捕鱼原则
  • MoSCoW方法
  • KANO模型分析
  • 创建工作分解结构(WBS)
  • 创建WBS的原理和方法(传统与敏捷的不同做法)
  • 基于客户:如何以验收(交付物)视角看待WBS
  • 基于团队:如何以落实(执行)的视角看待WBS(活动导向原则)
  • 基于合作方:从供应商(分包方)视角看待WBS
  • 确定范围基准:验收标准、交付物、WBS结构图、属性清单等
  • 敏捷软件开发需求管理事项
  • 敏捷软件开发需求框架:愿景、路线图、发布、迭代、用户故事、任务驱动方式
  • 基于待办事项和优先级考虑思路

案例:张乐乐是一家软件公司的项目经理,根据她之前做过的项目,客户几乎时刻都会变更和推翻需求,这次刚接手的新项目,张乐乐已经感觉到客户会故伎重演,她和团队应该如何收集和整理一份合理的需求,而且能够按照客户的期望去实现呢?

  • 软件开发活动与项目进度计划
  • 确定项目执行活动
  • 如何从WBS定义执行活动(完成活动导向过程)
  • 敏捷需求开发任务分解原理—基于任务板的推动方式
  • 排列活动执行顺序
  • 常见活动逻辑关系法则:FS、SS、SF、FF(通过软件现场演练)
  • 活动提前与滞后、强硬关系分析
  • 敏捷任务优先级驱动方式(从产品负责人和开发团队视角看待)
  • 服务等级协议
  • 估算活动持续时间
  • 常见项目/活动工期估算法:类比、参数、三点、储备分析等
  • 制定项目进度计划
  • 优化项目进度计划的建议
  • 常见项目进度计划优化方案
    • 关键路径法
    • 资源优化技术
    • 进度压缩技术
    • 项目日历说明
  • 项目进度计划与进度模型(通过软件现场演练)
  • 敏捷发布规划

案例:夏兵同时参与了两个项目,一个是传统项目,一个是敏捷开发项目,在制定项目进度计划时,夏兵采用了不同的方法,这两种方法和PMO带来的疑惑,PMO认为夏兵的做法是错误的,夏兵真的错了吗?

  • 项目团队资源管理过程
  • 估算项目任务所需资源
    • 预测型项目开发团队人员预估
      • 基于专业化人才,集中办公或虚拟
    • 敏捷项目开发团队成员特点
      • 基于全能化人才,强调全职且集中办公
  • 团队成员获取与团队建设
  • 人员获取:跨部门获取与外部招聘说明
  • 团队成员建设:基于塔克曼模型的理念
    • 建立团队基本原则:团队章程
    • 领导力技能的发挥
    • 培训、认可与奖励
    • 激励、鼓舞、建立信任的必要性
    • 结对编程、测试驱动开发方法
  • 项目团队协作与管理
    • 人际关系与团队技能
    • 冲突管理的常见方式

案例:老李是一个优秀的项目经理,他个人的能力很强,但是在面对团队时却有如此棘手,老李应该如何培养出一个如狼似虎的团队呢,老李应该将自己的定位放在什么位置呢?

  • 软件开发项目质量管理全过程
  • 现代质量管理新兴实践要求
    • 企业质量管理发展的五个梯度
    • 客户与用户的满意问题
    • 软件开发持续改进过程
    • 敏捷软件开发实践原理
    • ISO/IEC/IEEE标准15026
  • 创建质量管理方案和策略
  • 成本效益分析、标杆对照
  • 质量成本:预防、评估、外部失败、内部失败
  • 七个常用的质量管理工具与技术的使用说明(7QC)
  • 创建《测试与检查方案》
  • 创建《质量管理计划》、《过程改进机会》、《质量测量指标》
  • 软件质量保证过程(SQA)
  • SQA的重要目的和意义,人员
  • SQA过程中的重要工具与技术应用
  • Checklist的应用
  • 过程分析与改进
  • 根本原因分析
  • 质量审计
  • 面向X的设计
  • 质量问题解决流程
  • 生成《测试与评估文件》、《SQA报告》
  • 软件质量控制过程(SQC)
  • SQC的目的和意义、人员选择
  • SQC过程中的重要工具与技术
  • 统计抽样
  • 问卷调查
  • 检查
  • 测试/产品评估
  • 绩效审查
  • 核实的可交付成果
  • 生成《SQC测量结果》

案例:一位客户抱怨说,上次交付的项目模块,在运维期就多次出现奔溃、数据丢失等问题,作为下一个交付模块,刘松应该如何从客户、用户、开发团队、市场和标准的角度思考软件的质量呢?

  • 软件开发项目风险管理全过程
  • 软件风险管理策略和方案
  • 预测型项目风险管理策略和方案
  • 适应型项目风险管理策略和方案:基于产品特性集的风险管控建议
  • 识别项目风险
  • 风险识别要素与建议
  • 软件开发项目风险类型:技术、安全、团队、计划、成本、干系人
  • 不同开发方法项目风险特点:预测(相对稳定)、适应型(高度不确定)
  • 常见风险识别工具与技术
  • 信息收集与文件审查
  • 图解技术
  • SWOT分析法
  • 敏捷回顾会议
  • 战略框架分析原理:PESTEL/TECOP/VUCA
  • 风险登记册与报告的原理
  • 风险分析与评估
  • 风险分析与评估要素与建议
  • 常见风险分析工具与技术
    • 定性风险分析:概率和影响分析/矩阵、风险数据质量评估、气泡图,其他排序方法
    • 定量风险分析:决策树分析方法、龙卷风图法、影响图分析法
  • 风险责任人的确定
  • 确定风险应对措施
  • 威胁风险应对措施:上报、规避、转移、减轻、接受
  • 机会风险应对措施:上报、开拓、分享、提高、接受
  • 应急应对措施:应急计划、弹回计划、权变措施
  • 备选方案与成本效益分析法
  • 监督风险变化过程
  • 评价风险绩效的建议和方法
  • 监督风险常见方法
    • 风险审计
    • 储备分析法(风险燃尽图)
    • 技术绩效分析
  • 风险管理专项会议
    • 团队每日站立会议
    • 敏捷回顾会议
    • 软件原型反馈
    • 风险专题培训

案例:在一次软件开发项目过程中,由于某团队成员的操作失误,导致大量的数据丢失,系统遭到破坏。CEO批评说,为什么没有提前做好备份,为什么没有对系统做更安全的加固,软件常见的风险到底在哪里,该如何做才能天衣无缝呢?

  • 软件外包、采购与合同管理过程
  • 软件外包原理
  • 基于WBS模块的自制与外购决策
  • 分包集成注意事项
  • 供应商选择分析与招标文件
  • 选择供应商的常见方法
  • 供应商评估标准
  • 招标文件类型与说明
    • 信息邀请书
    • 报价邀请书
    • 建议邀请书
  • 合同选择与交付策略
  • 固定总价合同
  • 成本补偿合同
  • 工料合同
  • 创建采购文档:采购管理计划、工作说明书(工作大纲)、独立成本估算等
  • 合同谈判与签署
  • 供应商投标与标书分析过程
  • 供应商投标会议
  • 供应商标书分析与谈判
  • 供应商合同签署与履约
  • 供应商控制过程
  • 供应商成果检查
  • 供应商过程审计
  • 索赔管理过程

案例:赵小山是一家公司的产品经理,在某个模块是否考虑外包给其他团队做时,他考虑应该如何选择供应商,以及如何评估现有潜在供应商的能力。由于过去的供应商都是采购部门统一负责的,这次CEO希望赵小山能够独立的选择供应商,并对其进行有效管理。赵小山应该如何开展这项工作?

  • 软件开发项目沟通与干系人参与
  • 干系人沟通需求分析
  • 沟通模型、技术与方法选择
  • 沟通策略与方案确定
  • 沟通管理过程的重要实践:维度、形式、效率、方法的综合使用(如梅拉宾法则观点)
  • 项目开发过程中的沟通行为
  • 工作绩效报告、迭代与发布计划的重要参考
  • 常见沟通技术和方法的使用
  • 沟通模型、沟通方法、沟通技能的使用
  • 人际关系技能的发挥:意识形态、高情商、领导力的应用
  • 敏捷信息发射源的使用
  • 故事板、停车场图、燃尽图/燃耗图等使用
  • 干系人的积极引导与参与效果
  • 项目沟通监督与绩效评估
  • 干系人参与度评估
  • 干系人参与观察与交谈
  • 考虑周到的沟通

案例:老师的真实境遇,如何通过高情商的方式处理意想不到的尴尬问题?

  • 软件开发项目执行、交付与绩效评价
  • 开发团队执行与交付
  • 什么是项目可交付成果
  • 团队提交工时单和工作进展
  • 敏捷开发团队成果交付原理
  • 软件测试与评估
  • 软件开发常见测试方法:单元测试、集成测试、系统测试、用户验收测试过程说明
  • 敏捷开发测试方法:功能、测试、集成、DEMO发布、客户反馈、变更或部署等
  • 项目绩效评价方法
  • 趋势分析法
  • 偏差分析法
  • 挣值分析法(EV/PV/AC,SPI/CPI,SV/CV等)
  • 软件配置与变更控制
  • 软件配置管理流程
  • 软件开发变更控制过程
  • 项目知识与经验管理
  • 软件开发过程中的知识管理要素
  • 显性知识和隐性知识的管理方法

案例:在一个大型软件开发项目中,测试组的工作严格的依赖于开发组的进度,在为了不影响整个项目的进展期间,项目经理乔武通过挣值分析法不断检测进展情况,并将结果向团队展示,团队应该如何通过绩效评价结果来提高改进方向?

  • 项目结束与移交、运维问题
  • 项目验收(合同收尾/管理收尾)
    • 软件/产品运维测试
    • 软件集成测试和交付问题
  • 后续管理问题
    •   项目经验教训总结
    •   项目成员奖惩激励和庆功会
    •   如何释放项目资源?什么时候释放项目资源?
  • 资源完全释放注意事项
  • 资源切换至新项目的说明
    • 为什么要测量客户满意度,如何测量客户满意度?
    • 项目交接及知识管理

练习:组织知识管理,经验教训登记册的创建,归档实践

相关文章

1 条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注