While TDD is the gold standard amongst development techniques, there are many obstacles preventing its implementation:
- Inexperienced team: TDD only works when the whole development team adopts it. Many junior developers, especially self-taught developers, never learned to write tests. The good news is that TDD is not hard; given a day or so, a developer can realistically learn about the different types of tests, including how to spy on functions and mock data. It's wise to invest time training a developer so that he/she can write more reliable code for the entire duration of his/her employment.
- Slower initial development speed: TDD requires the product owner to create a specification document and for the developers ...