In contrast, some emerging software disciplines such as extreme programming and the agile software development movement, adhere to a "test-driven software development" model. Under the development of fragile software and extreme programming what is written first