1) 我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。项目管理者联盟
2) 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。项目管理者联盟
3) 经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。项目管理者联盟
4) 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。(注:这并不是地理位置上要求双方在一起,否则跨国公司的协同开发就成了空话)项目管理者联盟
5) 围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。项目管理者联盟
6) 在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。service.mypm.net
7) 工作的软件是首要的进度度量标准。项目管理者联盟
8) 敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。项目管理者联盟
9) 不断地关注优秀的技能和好的设计会增强敏捷能力。项目管理者联盟
10) 简单——使未完成的工作最大化的艺术——是根本的。项目管理者联盟
11) 最好的构架、需求和设计出自于自组织的团队。项目管理者联盟文章
12) 每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整项目管理者联盟
建立敏捷联盟的17位大师所创立的敏捷方法包括:极限编程,Scrum,特征驱动开发,动态系统开发方法,自适应软件开发,水晶方法,实用编程方法。这些方法统称为敏捷方法。项目管理者联盟
每个人都可以从敏捷宣言和原则出发,明确问题,找出一些解决方法,形成自己的过程。要实用而不是要机械式的规范。让开发人员理解并实施,体验到敏捷的好处,而不是盲目机械地实施规范。CMMI的最高境界(Level
5)也是要求组织有足够的灵活性适应外界环境的变化,灵活的运用规范,而不是教条主义。项目管理者联盟
5. 误区:敏捷只适用于小型项目和团队项目管理培训
敏捷实践确实很多发源于小型的项目团队,但并不是说敏捷只适合小型项目团队。其实,早期的Scrum项目就已经有在500多人的大型项目中成功实施的案例。可能是由于大多数的敏捷团队一般都希望在5~9人的规模,并且希望团队成员在同一个工作区域,所以很多时候被认为不适合跨地域,跨团队的大型项目的开发。talent.mypm.net
其实,5~9人的团队规模是一个类似于一个战斗小组的规模,这个团队小组负责完成一个共同的目标。对于一个小型的项目而言,可能只需要一个这样的战斗小组就可以了,而对于一个大型的项目,我们就可以建立多个这样的战斗小组来完成项目目标。在Scrum中,就有Scrum
Scaling,通过把一个大型项目团队合理分解为多个小型的Scrum团队,每个团队都负责一个相对独立的模块或者功能,再配合其他的敏捷实践,比如持续集成,Scrum
of Scrums等,加强团队之间的协作,从而确保项目的成功。所以,将敏捷实践应用于大型的、复杂的项目是完全可以的。bbs.mypm.net
6. 误区:敏捷开发 == 简化流程项目管理者联盟
敏捷开发不一定能简化工作流程,而且简化流程也并非提出敏捷开发的初衷。敏捷开发最重视的是拥抱变化,至于怎么拥抱,只能随机应变。实际应用中,既有流程相当简单的经典Scrum过程,也有极为冗繁、不亚于CMMI的RUP,根据应用场景不一样,项目组应该使用最适合的流程。项目管理培训
选择敏捷开发流程时也应带着敏捷开发的思维去选择,即快速响应项目实际的流程需求、拥抱流程应用过程中遇到的各种变化。没有银弹,也没有长期适合的项目流程,生搬硬套某个看似成熟的敏捷开发流程是大忌。转自项目管理者联盟
7. 误区:敏捷开发 == 快速开始编码项目管理者联盟
敏捷开发强调迭代,鼓励开发人员用代码说话,不过绝对不鼓励没想明白就写代码。项目管理者联盟
符合敏捷开发思想的流程往往主张在一个稳定的基础之上迭代完成各种功能。如果基础都不牢固,迭代就无法进行,整个开发过程就退化成不断重写的过程,浪费开发时间。敏捷开发实际非常重视“设计”,并且对开发人员的设计水平提出了极高的要求,既要“持续重构”又不能“过度设计”,稍有不慎就会陷入反复推翻已有代码的窘境。对于内功不够的开发人员最好还是想好再写代码,设计的时候慢一点没关系,尽量少的做无用功才是最重要。talent.mypm.net
8. 误区:敏捷是彻底革命的。项目管理者联盟
敏捷,特别是XP,让人有耳目一新的感觉,觉得以前的所有软件工程理论,设计方法都可以抛弃掉了,推翻一切,从头再来。抱着这种想法实施敏捷,那就错了,敏捷不是“石头里蹦出个孙大圣”,以前的软件过程中也有敏捷的影子,只是没有像敏捷一样上升到价值观和原则的高度,比如快速原型法。敏捷是在对已有的软件过程方法的改进,抛弃的是传统软件工程低效的外表,以往的软件过程中很多技巧都是很实用的。实施敏捷应该以现有的软件过程为基础,从敏捷宣言和原则出发,利用敏捷的方法来改善过程。项目管理者联盟
|