敏捷的神话和误解

Var*_*una 31 agile scrum extreme-programming

敏捷有哪些神话或误解?

有一些与敏捷有关的误解可能会导致普通新人陷入困境.敏捷世界有什么误解,你如何证明这是一种误解呢?


更新:敏捷神话总结

  • 敏捷不允许文档
  • 敏捷方法无法扩展
  • 敏捷意味着没有计划
  • TDD涵盖了所有单元测试需求
  • 结对编程总能产生更好的代码
  • 敏捷是解决软件工程问题的银弹解决方案(有一个银弹解决方案)
  • 敏捷不需要预先设计
  • 我们正在做scrum所以我们不需要做TDD,重构结对编程等.
  • 人们可以从一本书中学习敏捷
  • 敏捷只适用于琐碎的项目
  • 敏捷总是使用"用户故事"

阅读以下答案,了解有关上述神话和更多神话的更多信息.

kiw*_*pom 21

"通过综合文档工作软件"意味着您不需要功能规范......

错误!!!它只是意味着您可以与用户一起反复消除皱纹 - 作为供应商说话,您仍然需要良好的文档来协助QA和签核阶段......

  • 敏捷在构建阶段使用"用户故事"而不是文档.例如,QA可以很好地处理用户故事,因为它们定义了可测试的功能.有了这个,敏捷说的是你不应该花时间在他们倾向于改变的构建阶段创建文档.而是"尽可能晚地记录".敏捷地为维护和业务目的创建文档是完全可行的. (2认同)

Daf*_*ees 20

  1. "我们正在做Scrum - 所以我们不需要(配对|做TDD | ......)"实际上Scrum的创始人--Ken和Jeff一直在说所有高效率的scrum团队都在实施全系列极端编程实践.

  2. 测试驱动开发不会发现所有错误/不容易应用于所有 - 所以我们不会尝试! - 学习TDD并不是"全有或全无"的交易,你可以更好地判断测试内容以及如何有效地进行测试.我已经做了十年了,而且我仍然在寻找更好的方法来做这件事和新的事情.

  3. 我可以从书中学到所有我需要应用敏捷方法的知识. - 您需要通过实践来学习,这通常意味着指导和会见可以提供帮助的其他人.当人们试图从书中学习时,很多事情都会出错.

  4. 歇斯底里(并且非常真实)"候选人必须接受指导,并支持scrum大师"(根据我上周发送的工作规范......) - scrum master 不应该告诉别人该怎么做.他/她在那里提供便利 - 即帮助团队学会自己解决问题.这是一个巨大的失败模式 - 拥有一个"命令"人的scrum大师!

  5. 谈论"敏捷方法论" - 大无能指标.首先,谈论"敏捷"就像是一个特定的事情,而对于许多不同的事情来说,这是一个非常模糊的总括性术语.其次,使用"敏捷"方法 - 有大量的方法,以及大量不同的方法来完成其中的许多方法!第三,敏捷社区中的很多人都反对九十年代大型,重型的UML方法.这些人不倾向于使用"方法论"这个词......

  6. 你需要特别有才能的人才能以敏捷的方式开发软件.Jeff Sutherland表示,他们考虑使用"首席程序员团队"模式来管理银行团队 - 但发现他们没有足够的"酋长".Scrum旨在从许多中等能力的程序员中获得最佳生产力.实际上,移除一个不想帮助其他人的不成比例的高效团队成员可以"解锁"平庸的团队成员,并将他们的综合生产力提高到超过补偿超级高效的前团队成员......那就是杰夫无论如何说...

不少其他XP相关的人,我们在一个开放的空间研讨会,我最近导致想出了:http://xpday-london.editme.com/WhereHasXpGone


Jas*_*yon 18

误区:使用敏捷开发实践是解决软件工程问题的灵丹妙药.

  • 神话:有一个解决软件工程问题的银弹解决方案. (17认同)

Ric*_*kNZ 15

神话:测试优先开发迫使您的项目进行充分的单元测试.

事实:许多开发人员变得懒惰,他们在代码之前编写的单元测试通常很弱且不充分.

神话:结对编程总能产生更好的代码.

事实:程序员往往具有轻微的反社会性,并且彼此之间存在明显不同的思维过程.在编码时让某人呼吸到颈部非常不愉快,结果往往是紧张的工作氛围,同时降低了代码质量和数量.

  • 我不认为他的意思是结对编程永远不会奏效.在任何情况下都是错的.使用正确的匹配对编程非常有效.查看关于该主题的维基百科文章,它引用了正确的研究,而不仅仅是随机意见.结对编程与敏捷开发并不完全相关. (4认同)
  • 你是对的,我不是说它永远不会奏效.我所说的是,将其建立为项目范围的必须做的政策往往是一个坏主意.结对编程绝对被认为是标准的敏捷开发实践; 甚至维基百科也同意这一点. (3认同)
  • 我知道有一个原因我不喜欢敏捷,而且你把它钉住了.编程既是团队又是孤立的活动.当你独自一人时,你是团队的一员. (2认同)

Pas*_*ent 10

神话:敏捷意味着没有文档

事实:敏捷价值工作软件不仅仅是全面的文档,但这并不意味着根本没有文档.文档应该及时编写,并且足够.不,敏捷并没有说应该总是使用用户故事.如果且仅在适当的情况下使用它们!

神话:敏捷意味着没有计划

事实:如果没有计划,敏捷不支持开发.敏捷使用持续的计划和估算来最大化ROI.实际上,敏捷是关于范围管理的.

神话:敏捷意味着没有纪律

事实:敏捷开发人员必须更加自律,才能获得成功.

神话:敏捷只适用于琐碎的项目

事实:敏捷(实际上是Scrum)已被用于

  • FDA批准的生命关键型X射线和核磁共振成像软件,
  • 金融支付申请,
  • 24x7,正常运行时间要求为99.99999%,
  • 多TB的数据库应用程序,
  • 等等

神话:敏捷不会扩展

事实:Sutherland在500多人的团体中使用了Scrum,Cohn在100多人的团体中使用了Scrum


Chr*_*ons 8

神话:"没有大设计前线"意味着没有设计.

  • 所以你说'你去的设计'一样好吗? (3认同)
  • 我说在大多数情况下,设计随时随地更好.关键是在你有足够的数据之前做出太多不可逆转的决定.如果您不知道是否需要使用SQL Lite或Oracle,并且在项目实施3个月之前您将无法知道,请抽象出数据库. (2认同)

M1E*_*1EK 6

神话:瀑布总是失败.

现实:您在敏捷项目中使用的大多数软件都是使用瀑布式开发的.甚至BDUF瀑布,在很多情况下.