极限编程缺点

极限编程(XP)是一种敏捷方法 ,被认为是软件开发中最有效的方法之一。 它以测试优先的开发方案运行。 它具有短期计划,同时高度适应需求的变化,并且由高生产率的团队组成,这些团队可以快速有效地生产高质量的软件。

在极限编程中,客户的参与度高于任何其他敏捷方法。 他们是整个项目生命周期中团队的积极成员。


确实,它确实是“极限”,因为它需要大量的努力。 该软件的发布应尽快满足客户的需求。 通常,必须在今天而不是明天设计和测试代码。

它要求高度的坚持和纪律。 频繁使用功能测试和自动化单元需要逻辑思维,相关经验和快速解决问题的技能 。

XP高效吗? 让我们看一下XP团队的角色和原则。

极限编程团队

XP团队的规模从5人到12人不等。团队中的职位是:跟踪者,程序员,教练,测试人员和客户。 由于工作的复杂性和高速度,他们经常进行口头交流。

客户设置规则:功能测试,优先级和用户案例。 他们与跟踪者定期开会,以使他们及时了解项目进度。

跟踪器就像XP团队的经理一样。 他们有责任为团队提供支持,并确保项目进展顺利。

程序员实现客户对项目的要求。 他们定义任务并估计与用户故事相关的工作量。

测试人员对代码进行试验并分析图形。 他们将结果报告给团队的其他成员。

教练安排每日和每周的会议。 通常,他们负责将有价值的信息传递给跟踪器。

在极限编程中,每天召开一次会议,称为站立会议,长达15分钟。 通常,起立是在一天的开始。 在这些会议期间,将介绍目标并与团队合作。 但是,在每个周期结束时,都有一个较长的会议来测量项目速度。

配对编程是指两个开发人员在一个工作站上一起工作。 他们按时间段工作,通常最多一两个星期。 因此,XP通过拥有多个周期而不是只有一个较长的周期来减少需求变更的成本。

极限编程原理

XP遵循敏捷原则 。 但是,它具有五个关键价值: 简单,沟通,勇气,尊重反馈

每个关键值都对极限系统编程中的工作流程产生重大影响。 根据我在Angular开发公司的经验, 简单性,沟通和反馈是使Scrum和XP效率最大化的核心方法。

勇气允许程序员不管风险如何都可以修改代码。 当必须做出关键决策(例如重构代码或删除源代码)时,这是一项必要技能。

尊重对XP团队成员至关重要。 在提供和接受建设性反馈时,他们需要表现出理解和支持。 只有一个有礼貌的团队才能处理XP项目中所需的工作速度。

与其他方法不同,测试是第一位的。 在每个周期中,XP团队首先创建未通过自动测试的代码,然后运行它们,然后开发代码以使测试通过,而不是创建代码和测试然后运行它们。 听起来更长吧? 但是,代码从一开始就可以工作的机会比传统编程要高。

系统的按时交付要求编码人员不断编写和测试它。 风险通常是使用最新技术按固定时间表进行的。 但是,在每周周期中(通常是在开始时),XP团队会聚在一起分析进度,风险和每周任务。

在将这种方法应用于您的项目之前,应认识到极限编程的优点和缺点。

极限编程的优点

快速。 极限编程项目只需要几个月,而不是像其他软件开发方法那样需要数年。 工作节奏快,不浪费时间。 有持续的集成和部署。

可见。 团队内部的开放式沟通可帮助每个人跟上项目进度。 每个人都在处理各自的任务,但是例行会议会集体记录改进情况。 由于XP项目具有可见性,因此故障和错误受到限制。


降低成本。 在极限编程中,减少了反馈回路。 因此,改变的成本也降低了。 在其他方法中,仅在客户反馈后才重新制造代码。 在这里,在整个开发阶段都会执行更改。

团队合作。 在XP中,开发人员努力工作以在紧迫的期限内完成目标。 他们在整个项目中相互支持。 他们一起设计和测试代码。 结对编程将他们分成两人一组,在那儿他们共享想法并并排创建软件。 因此,增加了员工的承诺和满意度。

极限编程的缺点

代码克服了设计。 XP的重点肯定是代码而不是设计。 设计是销售应用程序的要素,因此如果设计不够好,客户可能会对最终产品不满意。 有时,这可能导致无法完全实现软件要求。

位置。 当客户远离开发团队时,XP项目很难实施。 通常,当团队成员面对面见面时,XP交互会成功。 因此,应用极限编程会限制项目范围。

缺少文档。 不断的更改无法正确记录。 因此,存在无法跟踪的意外故障的高风险。 即使修正了错误,但是如果没有准确的文档说明,同样的错误也有可能再次发生。

强调。 在期限紧迫的情况下工作压力很大。 如果开发人员压力很大,无法按时完成任务,则他们更有可能在编码时犯错误。 随后,由于调度,软件质量可能会降低。

为您的团队考虑极限编程

如果您希望团队在短时间内进行编程,则极端编程可能是对项目进行管理的正确方法。

与其他敏捷方法一样,极限编程旨在轻松应对不断变化的需求。 但是,它的优点是可以更快地创建产品。

客户和开发团队都致力于并平等地参与项目生命周期。

XP的黄金法则是首先测试,然后发展。 当然,当您进行“极端”测试然后进行编码时,会有风险。 但是,这种方法非常高效,这就是为什么它在软件开发中得到广泛使用的原因。

让我知道您在极限编程方面的经验。 发表评论以供进一步讨论。

翻译自: https://www.javacodegeeks.com/2019/01/pros-cons-extreme-programming-xp.html

极限编程缺点

极限编程缺点_极限编程(XP)的优缺点是什么?相关推荐

  1. python后端开发的缺点_前后端分离优缺点

    前后端分离优缺点 之前有朋友问我:什么是前后端分离.他说北度搜到的都是大篇幅文章,看完还是很懵. 这里我简单总结下,如果有疏漏和不对的地方还请路过的网友指出. 一.先用一张图来解释 二.为什么要前后端 ...

  2. 多项式拟合缺点_机器学习——机器学习算法优缺点综述

    来源:数据派THU.七月在线 转自:Datawhale(Datawhale 目录 正则化算法(Regularization Algorithms) 集成算法(Ensemble Algorithms) ...

  3. 远离极限编程 (Don’t do XP)

    Steve Freeman 写了一篇 blog 拥抱极限编程(Do do XP) 来反驳我的这篇文章. 我开始厌倦了和那些坚持认为Scrum离开了极限编程就不再有价值的人的无休止的论战. Scrum ...

  4. 开发缺点_开发移动端手机APP有哪些优缺点?

    在当今移动互联网高速发达的现在,如果非要说什么工具最重要,那么一定要数手机APP了. 企业可以借助它来进行移动端的营销,提高企业品牌推广力度和盈利:用户也可以借助它解决日常生活衣食住行等各方面的问题, ...

  5. 临界区设计太大或太小有何缺点_冷库风冷冷凝器和水冷冷凝器区别及优缺点比较...

    冷库风冷冷凝器和水冷冷凝器区别及优缺点比较 随着经济的发展,很多企业都开始向着多元化发展,很多农产品加工企业都开始自己做冷库冷藏,许多的农产品都是经过冷库的储藏以后才进入市场,新建的上万吨的冷库随处可 ...

  6. 临界区设计太大或太小有何缺点_空压机100课之016:离心式压缩机的结构、原理及优缺点...

    上一课:空压机100课之015:容积式-滑片机.涡旋机的结构.原理及优缺点 在大流量的用气场合,没有例外几乎都是离心机或轴流压缩机的天下.特别是石油化工行业中,离心机是关键设备之一. •离心式压缩机普 ...

  7. 开发缺点_成都嗨创科技:原生APP开发与混合APP开发的优缺点对比

    原生APP开发 1.开发语言: 安卓APP:Java开发语言: 苹果APP:Objective-C 或Swift 开发语言: 均为官方规定开发语言: 2.优点 1)使用体验较好,能够实现较为复杂的交互 ...

  8. parcelable 缺点_成都金牛区茶道炭优缺点-兴木华木炭

    4. 形状规则,结构合理,使用方便:长度和尺寸均匀,空心或实心结构,易于燃烧和使用.5. 含水量低,在5%以内:普通木炭含水量大.6. 该产品不含化学物质,无毒,无异味,无污染,燃烧时间长.高温木炭是 ...

  9. mysql的索引缺点_「缺点有哪些」数据库索引是什么 有什么优缺点 - seo实验室

    缺点有哪些 数据库索引是什么 数据库索引是:数据库索引就像是一本书的目录一样,使用它可以让你在数据库里搜索查询的速度大大提升.而我们使用索引的目的就是,加快表中的查找和排序.索引的几种类型分别是普通索 ...

  10. python爬虫优势和缺点_三种分布式爬虫策略的优缺点

    三种分布式爬虫策略: (1)Slaver端从Master端拿任务(Request/url/ID)进行数据抓取,在抓取数据的同时也生成新任务,并将任务分配给Master端.Master端只有一个Redi ...

最新文章

  1. FineReport中如何用JavaScript自定义地图标签
  2. 技术分享连载(十八)
  3. java读取TXT文件的方法
  4. Tmux的安装、使用与配置
  5. Android之用setColorFilter在ImageView上面覆盖一层灰色的图层
  6. MySQL year()函数
  7. ActionContext保存客户提交的参数,session会话等
  8. 推荐算法(二)--算法总结
  9. 运维技术之二(2)、docker安装jumpserver
  10. ubuntu 下mysql 不显示当前的数据库名解决方法
  11. 如何给软件开发项目估价?
  12. 十折交叉验证python_Python实现K折交叉验证法的方法步骤
  13. 安装Solidworks 2018出现可执行文件未成功安装的解决方法 PreReqs\VCRedist10\vcredist_x86.exe
  14. 去中心化通信简易方案
  15. java整合kafka做消息消费
  16. 什么是大小端,如何写程序判断大小端?
  17. 解决ZooKeeper配置中出现Error contacting service. It is probably not running.
  18. CDN服务器是什么意思?CDN服务器搭建部署
  19. 使用TurboMail邮件系统的智能公文模块
  20. 可能是最详细的字符编码详解

热门文章

  1. 鸿沟理论(The Chasm Theory)介绍
  2. 2020年了,居然还有人在用asp
  3. 公众号常用的排版软件有哪些?
  4. 本地搭建Redis集群 windows(图文详解)
  5. 至强3系列服务器cpu吗,做3D MAX是要求CPU好一点 还是显卡好一点? CPU的话是界面CPU(i 系列)好还是服务器CPU(至强系列)好?...
  6. 同类型的免费下载软件中, JDownloader的功能比FreeRapid Downloader功能要强很多
  7. 弱电系统集成服务器,智能化弱电系统集成(BMS系统集成工程)设计方案
  8. 浙工商电信闪讯老毛子路由器设置
  9. Android手机号码归属地查询
  10. 【Spark ML】第 3 章:监督学习