5. 缺乏对开发有严格安全性要求的软件的支持
有严格安全性要求的软件是指一旦失败会导致对人类造成直接伤害或是引起重大经济损失的软件。当前敏捷过程支持的质量控制机制(非正式的审查,结对编程)并没有证明来说服使用者软件是安全的。实际上,单独这些技术是否是足够的还有些值得怀疑。软件工程中的正式的规格说明书,严格的测试覆盖,以及其他正式的分析和评估技术能提供更好但更昂贵的机制来解决有严格安全性要求或是严格商业要求的软件的开发。一些敏捷实践也能对此类软件开发有益。例如:
(1)测试为先(Test-first)的方法需要在写代码之前定义单元测试
(2)敏捷过程增量迭代过程支持的早期可工作代码的产品支持重要性软件探测性开发,这些开发的需求没有很好地定义