Modern development practices such as Test-Driven Development (TDD), Behavior-Driven Development (BDD) need loosely coupled, testable architecture. If the monolithic application has tightly coupled layers and frameworks, it is difficult to unit test. It makes adapting modern development practices challenging.