在特定条件下,统筹时间、资源完成任务。
1.项目团队
以项目为单元的精细管理模式:项目成立时从各个职能部门中选取人员,形成项目团队。
优点:打破职能部门之间的壁垒,使得项目获得充足的人力资源;一定程度上避免踢皮球。
缺点:被选中的人员本身的任务会加重,部门可能需要重新协调;(如何激励?项目奖金)
2.波士顿矩阵
项目会根据情况划分,有一定的优先级:(产品中也适用)
(1)问题项目:解决问题,可能会发展成明星项目
(2)金牛和明星项目:求稳为主;金牛项目市场占有率高,是企业收入的主要来源。
(3)瘦狗项目:也不要过于气馁;虽然市场占有率低、销售增长额低,但项目管理中教训比成功经验更有价值,可以在管理该项目过程中,通过发现漏洞、问题,学习摸索,来提升自己的能力。
3.合理的阶段划分
项目的管控:合理设置项目阶段并各阶段的里程碑,规定时间能完成任务,并进行及时评审。
4.不同项目类型的开发模式
项目开发的竞争力:适应不同的需求/环境/场景
预测型项目 |
|
迭代型项目 |
|
增量型项目 |
|
敏捷开发 | *Scrum模型
(1)有时间、资源、可实现的功能先做,否则,先放置在需求池,下一个版本再实现(坐地铁,挤不上就下一趟) |
4.1瀑布开发模型
软件项目开发常用模型:从上往下
4.2 Scrum模型
-->迭代式增量软件开发过程
Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的需求规格部分(分成多个子项目/需求),开发团队必须尽力于 30 天后交付成果,团队每天用 15 分钟开会(daily meeting)检查每个成员的进度与计划,了解所遭遇的困难并设法排除(迭代的体现)。
tips:Scrum开启,需求不允许增加?是敏捷方法的一种
Q:那么敏捷方法的定义是什么?
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
4.2.1 极限编程(XP)&Scrum开发
XP | Scrum | |
迭代时间 | 1-2week | 2-4week |
需求可替代性 | 一个需求可以用其他同等工作量(开发量)的需求替代 | 需求不允许添加 |
严格的需求实现的优先级 | 是 | 否
|
严格的工程方法 | 对整个流程方法定义非常严格,规定需要采用TDD、自动测试、结对编程、简单设计、重构等约束团队的行为 | 否 |
4.3项目开发模式选择依据?
*STACEY矩阵
5.项目
5.1项目特征
-->项目集管理
5.2 PPP模式
Public-Private-Partnership:公私合营