2001年在软件工程界首次出现“敏捷”这个名词,17个过程方法学家举行了一个讨论会。发现他们的“轻量级”的方法有很多共同的地方,因此一致同意把这些方法统称为“敏捷”的方法。并且成立了个叫敏捷联盟的组织,还定下了所谓的“敏捷宣言”。从此,越来越多的人了解到敏捷方法。club.mypm.net
敏捷方法有一些共同的特征。其中有两个最主要的特征是:轻量和简单。敏捷方法论包含最少的流程和文档,减少正式性。目的是做眼前能做的事情,而不去预测太远的未来,首先完成紧迫的事情。快速的、增量的开发能更快地交付客户使用,更快得到反馈。开发方法要称之为敏捷,需要具备4个基本特征:增量的、协作的、直接的、适应性强的。PgMp.mypm.net
1.SCRUM(橄榄球里的争球)方法论bbs.mypm.net
关键词:30天迭代粒度,每日站立会议,进度透明,客户参与项目管理者联盟
pmp.mypm.net
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法。在SCRUM方法论中其核心仍然迭代和增量,首先对于产品需求会划分为多个迭代或增量,每个迭代都需要在1个月能够交付,而一个月即是一次冲刺,而一个迭代版本又需要转化到每天的进度跟踪和问题解决,这就是每天的15分钟会议(每日站立会议),在会议上必须回答当天的进度,明天的计划和是否存在问题。项目管理论坛
Scrum是一个包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。管理Scrum过程有很多实施方法,从白板上的即时贴到软件包。Scrum最大的好处是它非常容易学习,而且应用Scrum不需要太多的投入。service.mypm.net
每一个冲刺完成后,都会举行一次冲刺回顾会议,在会议上所有团队成员都要反思这个冲刺。举行冲刺回顾会议是为了进行持续过程改进。会议的时间限制在4小时。Scrum提倡所有团队成员坐在一起工作,进行口头交流,以及强调项目有关的规范(disciplines),这些有助于创造自我组织的团队。项目管理者联盟
Scrum的一个关键原则是承认客户可以在项目过程中改变主意,变更他们的需求,而预测式和计划式的方法并不能轻易地解决这种不可预见的需求变化。同样,Scrum采用了经验方法– 承认问题无法完全理解或定义,而是关注于如何使得开发团队快速推出和响应不断出现的需求的能力最大化。其实践主要包括:项目管理者联盟文章
客户成为开发团队中的一部分。 (例如客户肯定对开发的结果真正感兴趣。)转自项目管理者联盟
频繁的包含可以工作的功能的中间可交付成果。www.mypm.net
频繁的风险和缓解计划是由开发团队自己制定。项目管理者联盟
计划和模块开发的透明 – 让每一个人知道谁负责什么,以及什么时候完成。项目管理者联盟文章
频繁的利益所有人会议,以跟踪项目进展项目管理者联盟
平衡的 (发布,客户,员工,过程) 仪表板更新 – 拥有预警机制提前了解可能的延迟或偏差。项目管理者联盟
没有问题会被藏在地毯下。认识到或说出任何没有预见到的问题并不会受到惩罚。training.mypm.net
在工作场所和工作时间内必须全身心投入。– 完成更多的工作并不意味着需要工作更长时间。项目管理者联盟
2.FDD(Feature-Driven Development)-特征驱动开发项目管理培训
关键词:Feature,客户价值,两周迭代粒度,Domain Model项目管理者联盟
Feature-Driven本质上还是Model Driven,是先规划出整套的Domain Model,做为系统起始的核心。接下来就是依据Model,开始找出所有的Feature。而Feature = 可以为客户产生价值的最小开发单位。群集后的Feature称之为Feature Set。而系统的某一个主题领域就是组合了很多Feature Set。接下来,项目经理就是依据Feature来规画开发的周期,书上建议每次的周期是两周,所以每个Feature必然不可以超过两周,会超过两周的Feature必须再予以细分。所谓两周内的工作,包含为这个Feature设计、开发、测试、布置。所谓两周内的工作,包含为这个Feature设计、开发、测试、布置。项目管理者联盟
在RUP中强调的是用例驱动,通过用例进行需求的分析和建模,再过渡到架构设计和后续的开发中。而在FDD中强调特征驱动,特征是比用例更加小的粒度单位,而且特征更加能够体现客户价值。在传统的瀑布模型中我们往往在后续编码完成后才能够看到交付的功能,而FDD本身也是一种迭代的思路,只是迭代的单位是Feature,而这些Feature将贯彻从需求到编码测试的全过程,只到每个功能都能够满足一个客户价值的实现。因此通过特征和特征集将传统的瀑布方法进行了横切,一切软件开发活动包括项目计划都是以特征为单位和特征驱动。在FDD中主要包括5步流程,具体如下:项目管理者联盟
Develop an Overall Model (开发一个主域模型)项目管理者联盟文章
Build a Features List (通过主域模型分解特征集合)training.mypm.net
Plan By Feature (根据特征制定项目计划和编排进度)bbs.mypm.net
Design By Feature (根据特征进行设计,开始迭代)talent.mypm.net
|