If sufficient system development expertise with the chosen platform exists in-house, then some or all of the system can be developed by the organization’s own staff.
Often, there are a variety of sources used, with in-house staff playing a role as well as consultants or ERP vendors.