# TDD (Test Driven Development approach):

* A recommendation is to write tests first if we are following the principles of TDD.
* Once you have written failing tests from your user stories/tickets/task lists
* Get it approved or at least have a discussion with your product owner before writing the logic to assert them That simply means that before you start even working on the task you need to understand it fully
* understand fully the feature that you need to implement discuss every aspect of task with product owner
  * &#x20; write the test cases and let them fail
  * start writing the feature with
    * route
    * controller
    * Service
    * actions & repositories
