A lot of us heard acronyms TDD, Test Driven Development and BDD, Behaviour Driven Development. Those two are development techniques where application code is introduced with leading expectation. In both cases this leader, so called driver, will be a test.
In ideal world Developers would know exactly how to build a test from “never changing” business expectations and will develop 100% bug free and working code.
Everyone knows how far we are from ideal world and because we are a human beings the main driver of development is different then the desired one.
My few years of development experience thought me that there is a wide variety of technically non related drivers in development. Here they come 🙂