不同领域的不同方法?

时间:2010-02-04 14:22:26

标签: methodology

(这个问题的部分灵感来自Donald Knuth的极限编程here

我最近一直在阅读敏捷,并且对极限编程感兴趣已有好几年了。但我想知道这些方法在某些“极端”问题空间中的适用性,例如编码space shuttles

你怎么看?某些领域本质上与“现代”方法不兼容吗?是否有明确的指标用于将给定域映射到最佳方法?

4 个答案:

答案 0 :(得分:1)

总之,没有。不适用于每个域名。

某些域/应用程序更适合非常严格的缺陷控制和测试(可能非常昂贵),并且成本必须合理(例如生命危险) - 这些包括医疗设备,航天飞机和军事设备等。

许多其他域名/应用程序无法证明此类费用的合理性。

即使在单个域中,您也会找到不同的答案(航天飞机本身的操作计算机与宇航员携带的笔记本电脑相比)。

像往常一样这样的问题,答案是“这取决于”......在每个领域给出一般答案时,有太多因素是危险的。

答案 1 :(得分:1)

我曾与那些帮助计划太空任务的人谈过,比如卡西尼号和火星探测器。每个代码行都由整个团队进行检查。敏捷开发实践都是迭代周期。在每个周期结束时,产品所有者从后面的日志中选择他们想要查看的下一个模块,或者他们可以插入一些全新的内容。在没有错误空间的关键系统中,系统的所有必要功能和规则都可以很早地明确设置。这意味着敏捷实践可能不合适。

答案 2 :(得分:0)

我认为很多人对他们使用的方法感到满意,并且关闭到新的方法论。即使对于极端问题空间,TDD和其他敏捷实践也有明显的好处。显然必须在这样的空间中进行大量的测试,特别是与较少的关键任务应用程序相比。

无论您的域名是什么,预先设计往往是大规模的失败,在开发过程中会发生显着变化。引入敏捷实践(甚至可能是混合或瀑布和敏捷)在我看来肯定是有益的。

答案 3 :(得分:0)

就像在工作中使用正确的工具一样,我说使用正确的方法来完成工作。通常没有正确的答案/范例/工具/等等......所有这些都必须放在上下文中。