Agile software development
敏捷软件开发运动支持诸如测试驱动开发之类的技术，其中工程师从最小的用户导向功能单元开始，为此创建一项自动化测试，然后实现功能并迭代，重复此过程。该准则的结果和论点是结构或“形式”从实际功能中产生，并且实际上因为有机地实现，使得项目由于自动化测试的功能基础而具有更长的适应性以及更高的质量。