We start to follow the BDD and TDD methodologies of software development
As the size of the codebase started to grow we found ourselves in the dire need of a solution to document it more easily so we reached in the direction of behavior driven development and test driven develpment to create a living documentation and to eliminate dead code.