It depends on various factors, such as the project's size and complexity, development team size, budget and technical skills of team members. The amount of time also depends on whether you're working in a legacy system or if you are starting from scratch as well as the type of system you're building.