04-项目启动
1. 项目和项目管理
- 项目的核心是计划:计划包括项目需要的资源、活动,以及在项目中需要产生的中间交付产品。
1.1. 项目
- 项?是具有下列特征的?系列活动和任务[Kerzner2009]
- 具有?个明确的目标;
- 有限定的开始和结束日期;
- 有成本限制;
- 消耗人力和?人力资源;
- 多工种合作。
- 项目管理的目标
- 在限定时间内;
- 在?定的成本内;
- 在要求的质量?平上;
- ?效使?资源;
- 获得客户认可。
- 过程组:项目启动、项目计划、项目执?,项目跟踪与控制和项?收尾
- 活动:计划制定、团队管理、成本控制、质量保障、度量、过程管理、进度跟踪 与控制、?险管理、配置管理
2. 团队组织与管理
2.1. 团队
- ?个协作良好的团队是任何项目成功的基础。
- 软件项?尤其依赖于有效的团队组织和管理:软件开发是?个以?为主的活动,??资源是软件项?最?的资产。
- 有很多实践者认为??产?质量产品更?的成功是在?产过程中建??个凝聚的团队
2.2. 团队的特征
- [Katzenbach1993]将团队定义为:为了?致的?的、绩效标准、?法?共担 责任并且技能互补的少数?。
- 团队成员要具备共同的目标。
- 团队成员要共担责任。
- 团队成员要技能互补。
- 团队内部要有?个明确的结构。
2.3. 团队结构
- 主程序员团队:决策需要由主程序员进行制定
- 效率高,如果完成把握大,并且需要时间紧迫,可以优先考虑
- 一个人的决断容易影响整个团队,如果项目复杂,主程序员会成为瓶颈。
- 适用于把握性大,时间要求紧的情况
- 民主团队:没有集中的瓶颈,成员发挥能动性,工作效率降低,冲突解决。敏捷+较有挑战性的项目
- 开放团队:
- 为了创新而存在的。黑箱管理,问题在于项目进展没有可视度。
- 相对于前两个团队的需求明确,团队的需求并不明确
- 管理者主要负责清除出现的障碍。
- 开放团队是为了创新而存在
2.4. 团队建设(高凝聚力的团队被称为胶冻团队) 重要
- 建立团队章程:建立明确的团队章程,统一团队成员的目标,对团队成员进行一定的约束。经验:有必要指定一定的章程,约束团队成员之间的行为,比如开会请假必须得到其他三人的同意,又如一旦某项决策做出,不同意者不能再后续阶段违反等。
3.3. 质量保障
3.4. 评审
3.4.1. 典型的评审过程
- 一旦需求发生变更,则需要从评审开始重新操作
4.4. 基线
- 基线是指通过了评审和验证,可以作为后续开发工作基础而进入协同工作过程,需要纳入配置管理和执行变更控制的制品称为该配置项的基线。
4.5. 配置管理活动(重要)
- 标识配置项版本管理:确定应该被保留的部分,并且给予他们确定标识,包含配置项的特征,包括生产者、基线建立时间、使用者等。
- 版本管理:极其重要
- 变更控制:变更请求表单,教材61页
- 配置审计:验证配置项的完整性、正确性、一致性和可追踪性。
- 状态 告:反映当前的配置状态。
- 软件发布管理:将配置项发布到开发活动之外,例如发布给客户。
4.6. 辅助管理工具
在项目实践中,使用配置管理工具对项目进行配置管理,如SVN。
4.7. 版本管理示意图
4.7.2. 查看不同
- git diff
- ?作区 vs 暂存区
- git diff head
- ?作区 vs 版本库
- git diff –cached
- 暂存区 vs 版本库
4.7.3. 为啥要暂存区
- 增加灵活性
- 修改了4个?件,在不放弃任何修改的情况下,其中?个?件不想提交,如何操作没add : git add 已经add: git reset –soft )
- 修改到?半的?件,突然间不需要或者放弃修改了,怎么恢复未修改前?件(git checkout)
- 代码写?半,被打断去做其他功能开发,未完成代码保存git stash)
- 代码写?半,发现忘记切换分支了git stash & git checkout)
- 代码需要回滚了git reset)
4.8. 变更要求表单

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!