极限编程,让软件开发领略极致体验!
2020-01-06
来源:软件测试 BeTester BeQA
程中的测试结果。
假设简单
(a) 假设任何问题都可以“极度简单”地解决。
(b) 不要考虑未来的变化,关注当下。
拥抱变化
(a) 不要对变化采取反抗的态度,要包容变化。
(b) 客户提出看似截然相反的需求变更后,确认反馈。
(c) 要为随时可能到来的改动做好准备。
2.4 极限编程准则
准则: 把通常的做法做到极致!
极限编程的核心活动体现在 需求 -> 设计 -> 编码 -> 测试 -> 发布 的过程中。
把需求做到极致
在软件开发中,需求一般的一般做法是与客户当面沟通,来表达对需求的要求。极致的做法是用讲故事(user story)的方式把需求表达出来,开发人员根据经验将user story组合起来或进行分解,并按照价值和风险进行排序。
把设计做到极致
设计一般是把所有需求总体设计一次性交付给客户,直到客户满意签字。极致的做法是只要做简单设计,用最简单的办法实现需求,然后小批量交付给客户,并让客户体验产品,以确定产品是否满足需求。
把编码做到极致
代码审查也一般在程序员编写完代码后,由一两位资深程序员来审议代码的质量。极致的做法是在程序员编写代码前,再另外找一个程序员和他结对编程,在编写代码的过程中随时做代码审查。两人在结对编程过程中,还能互换角色,相互做代码审查。这样就把代码审查推进到极致,能让程序员在结对编程中更快地发现自己的代码是否有问题。
把测试做到极致
测试一般都在程序员编写完代码后,由测试工程师来进行测试。极致的做法是在程序员编写代码前,先编写单元测试代码,然后再编写生产代码,让测试运行通过。这样就把测试推进到极致,能让程序员通过自动化单元测试更快发现自己的代码是否有功能性缺陷。
把发布做到极致
软件开发一般需要把一个大系统分解为若干模块,每个模块分别开发。等各个模块完成代码编写后,再做集成测试。极致的做法是在编写代码的过程中,每过几小时就要进行一次自动化的集成测试,把集成测试推进到极致,能让程序员通过自动化集成测试更快地发现自己的代码是否有集成的缺陷。
2.5 极限编程应用范围
极限编程适用于规模小、进度紧、需求不明确或变化快、对质量要求严格的项目。极限编程期望以最高的效率和最高的质量来解决用户的问题,以最大的灵活性和最小的代价来满足用户未来的需求。
3、极限编程实践
极限编程的实践,可以从环境、规范、动作三个维度进行分类,分别为:
环境:团队协作、用户现场、计划游戏、小型发布
规范:集体所有权、代码规范、持续集成、持续的发布节奏
动作:测试驱动开发、结对编程、简单设计、重构
3.1 环境
计划游戏
快速(15分钟)制定出概要计划,然后随着项目细节的不断清晰,逐步完善计划。计划游戏产生的结果是一套用户故事及后续的一两次迭代的概要计划。
团队协作
极限编程认为团队是完整团队,把专人专责转化为职责均担,打破角色和职责之间的壁垒,让更多成员参与到更多的领域工作中
用户现场
极限编程要求至少有一名实际的客户代表贯穿于项目开发周期,在现场负责确认需求、问题咨询和确认验收标准。
小型发布
极限编程强调“持续集成,小步快跑”,每次发布的内容应该尽可能少,并且发布的内容是有价值和值得发布的。
3.2 规范
集体所有权
团队所有成员都有更改代码的权利,所有人都应该对代码负责。开发人员不仅要了解自己的代码, 还要了解系统架
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-