Most organisations should not build a Learning Management System. If the requirement is to publish courses, enrol learners, record completion and run quizzes, Moodle, Canvas, Open edX or a commercial product will do it sooner and cost less to own. We say that plainly, because the fastest way to waste a year is to rebuild features that already exist in a mature platform.
Custom development earns its place at the point where the platform starts to dictate your business rather than serve it. That usually shows up as a specific, repeated cost: an approval chain that has to be tracked in a spreadsheet beside the LMS, a certification rule the platform cannot express, a commercial model the licensing does not allow, or an integration that has to be re-run manually every week. When those workarounds become the operating model, a purpose-built platform is cheaper than the workaround. The same reasoning applies to the front end — a learner experience that people abandon is a real cost, which is why we treat it as an engineering requirement and verify it with web application testing across the browsers and devices your learners actually use.