Behaviour Driven Development - Let management write the business requirements in a language that developers can write tests against. Then make the tests pass confirming the functionality. 2. - Test Driven Development - write a test and make it pass, rinse and repeat.