ExtremeProgramming(极限编程,简称XP)是由KentBeck在1996年提出的。KentBeck在九十年代初期与 WardCunningham共事时,就一直共同探索着新的软件开发方法,希望能使软件开发更加简单而有效。Kent仔细地观察和分析了各种简化软件开发的前提条件、可能行以及面临的困难。1996年三月,Kent终于在为DaimlerChrysler所做的一个项目中引入了新的软件开发观念——XP。bbs.mypm.net
XP是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。www.mypm.net
XP采用紧凑的迭代开发方式。强调交流、简洁、反馈、勇敢 四种价值观。强调能满足用户需求的可用的软件(working software)为最终目标,而不是漂亮的文档。XP通过12条原则来保证目标的达成。项目管理者联盟
通过客户、开发人员、经理三方共同参加的计划游戏(planning game)来确定开发计划项目管理培训
小版本发布----尽快发布,尽早发布项目管理者联盟
通过系统隐喻(metaphor)来让每个人了解整个系统项目管理者联盟
简单设计----为明确的功能进行最优的设计,不考虑未来可能需要的功能。bbs.mypm.net
重构(refactoring)---不断优化系统设计,使之保持简单pmp.mypm.net
单元测试----先写测试,后写代码
结对编程(pair programming)----系统的每一行代码都是2个人用一个键盘完成的。
代码集体拥有--开发队伍中任何人可以修改任何其他人的代码,代码不属于某个个人。项目管理者联盟
持续集成----至少每天将整个系统集成一次,保持一个能运转的系统。项目管理者联盟
40小时工作制----保证休息,保持体力
现场客户----客户自己也是软件开发队伍的重要一份子club.mypm.net
编码标准----必须有统一的编码规范,确保代码的可读性项目管理者联盟
6.ASD(Adaptive Software Development)-自适应软件开发项目管理者联盟
关键词:领导 预测 协作 学习 自适应项目管理者联盟
这种方法强调的是速度和灵活性。它最适合这种场合: 公司需要应用软件能够迅速见效,还能随客户使用需求的增长而灵活变化。这种方法的发明者是Jim Highsmith。预测—协作—学习是自适应的模型的。“预测—协作—学习”不断迭代,从而让团队不断进化,不断适应多变的环境。项目管理者联盟
预测—就是对目标做一个分析,给出一个大的方向,但不要太具体,但是大方向一定要对。这不仅是提供给团队目标,还有就是让团队中的每个人会因为这个目标而兴奋,而产生激情。在这个过程中,项目组中要定期的散焦,在一个过程开始时不要太关注于细节实现,而过程进行时要从散焦变成聚焦,逐步协商合作,统一每个人的思想,逼近正确目标,以为后续的工作提供可靠的保证。项目管理者联盟
协作—第一个障碍是强权管理,第二个障碍是个人主义。相互信任、相互尊重、相互参与、相互承诺是创造双赢的核心。无论是和客户也好,还是人与人之间也好,还是公司与公司也好,协作绝对是一个人,一个团队,一个公司最具竞争力的核心。能不能在内部和外部出现协作,是能否自动适应各种环境的重要因素。协作需要的是努力得整合自己和别人观点的分歧。项目管理者联盟
学习—学习是一种态度。自我批评、反馈、信息共享是其核心。我们一定要不停地问自己至少下面三个问题:和客户讨论时,我们要反复地问,“我们在做正确的事吗?”,在设计编码测试时,我们要反复地问,“我们用正确的手段做这件事吗?”,在事后分析时,我们也要反复地问,“还能有更好的方法做这件事吗?”,在项目过程中要给予这种时间进行反馈、自我批评、并交流个人的心得体会。于是,我们就在一种高速—慢速—再高速—再慢速—超高速的发展。项目管理培训
|