Test Driven Development
- Test Driven Development is a software development technique, also known as red-green refactoring, that requires developers to write and run tests before they write code.
- The new test is run, and subsequently failed, to ensure that it captures the necessary logic to be confident in the results.
- The minimum code is then written to pass the test, and the test is repeated to ensure the code passes. If the code fails, it will be adjusted until it passes.
- The code is re-factored, non-functional attributes of the code are improved, and the result is solid code, reduced re-work, and improved quality.
- Agile hardware teams borrow from this concept by writing stories with a test in mind and using red-green testing techniques to develop the product to the point that it passes the test. This is often referred to as the Minimum Viable Product (MVP), and it helps prevent over-engineering of the solution.
- This approach also ensures that work is completely done each sprint and it raises the quality of the final product because the pieces are tested along the way.