软件项目管理概述
软件与软件项目
什么是项目?
项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
- 项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。
项目的特征?
- 有明确的目标
- 项目之间的活动具有相关性
- 限定的周期
- 有独特性
- 资源成本的约束性
- 项目的不确定性
项目举例
-
日常运作
- 上课
- 社区保安
- 每天的卫生清洁
-
项目
- 野餐活动
- 集体婚礼
- 开发操作系统
- 神州飞船计划
项目集Programs与项目project
项目管理与软件项目管理
定义
- 项目管理是一系列的伴随着项目的进行而进行的、目的是为了确保项目能够达到期望的结果的一系列管理行为。
项目管理铁三角
- 时间
- 质量
- 成本
PMBOK与软件项目管理体系
PMBOK:(A guide to the Project management Body Of Knowledge)
项目管理知识体系指南
项目管理五大过程组
- 初始
- 计划
- 执行
- 控制
- 结束
项目管理10大知识域
敏捷项目管理
软件项目的特殊性
- 逻辑实体
- 变更
- 相互作用的系统
- 渐进明细
- 依赖用户需求
敏捷模型 Agile Development
-
是一种迭代、循序渐进的开发方法
-
敏捷宣言4个价值
- 个体和互动 高于 流程和工具
- 可工作的软件 高于 详尽的文档
- 客户合作 高于 合同谈判
- 响应变化 高于 遵循计划
-
敏捷宣12个原则
什么是敏捷?
-
Agile is a set of best practices in software development based on Scrum , Extreme Programming and Lean
-
The set includes:
- 迭代 Iteration
- 测试驱动开发(TDD)
- 持续集成 continuous intergration
- 重构 refactoring
- 结对编程 pair programming
- story card/wall
- 自动化测试
- feedback
- stand up
- retrospective
软件项目管理过程
项目初始
- 项目确立
- 生存期
项目计划
- 范围计划
- 成本计划
- 进度计划
- 质量计划
- 配置管理计划
- 团队计划
- 风险计划
- 合同计划
项目执行控制
- 集成计划执行控制
- 核心计划执行控制
- 辅助计划执行控制