<分区>
查看我关于 Building an Aircraft using Agile 的问题中评论的总体趋势,除了成本之外最大的问题似乎是安全。
人们是否觉得不可能使用敏捷构建一个安全的系统(或证明它是安全的)?难道不是所有的迭代测试都减轻了这一点吗?使用敏捷开发的软件是否可能永远不会像瀑布等同类软件那样可靠?
<分区>
查看我关于 Building an Aircraft using Agile 的问题中评论的总体趋势,除了成本之外最大的问题似乎是安全。
人们是否觉得不可能使用敏捷构建一个安全的系统(或证明它是安全的)?难道不是所有的迭代测试都减轻了这一点吗?使用敏捷开发的软件是否可能永远不会像瀑布等同类软件那样可靠?
最佳答案
敏捷是一种管理项目的方法,而不是一种测试或验证已完成项目安全性的方法。
安全关键系统在完成(功能方面)后仍需要进行广泛的测试,以绝对确保它确实可以完成任务。我希望此类工作将交给专门专注于此类测试的单独测试人员团队。
敏捷适用于软需求,传统产品生命周期足够长,可以改变业务目标,但在安全关键环境中,我认为快速变化的需求或未指定的需求将是非常糟糕的东西。
我不认同使用瀑布会以某种方式为代码提供某种内在秩序或稳定性的想法 - 如果各个冲刺得到妥善管理,代码经过测试和审查,那么较短的周期将产生同等质量的代码, 只是成 block 。
当事情出现问题时,使用 Scrum 可以在项目时间表的早期提醒您 - 它不会做任何事情,只会为表现不佳的经理/开发人员/任何人移除藏身之处。
简而言之,可以使用敏捷方法构建任何类型的系统,只要您不希望它测试您构建的内容即可。那是给测试人员的。
关于unit-testing - 使用敏捷构建生命关键系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1110293/