After working with numerous enterprise softwares over the years, I am commonly asked by clients to distinguish the difference between software configuration and customization. Both have their challenges and benefits:
Configuration means an end user (someone who is not a developer) can build, alter, and to an extent customize an enterprise software to match a client’s needs and business processes. Enterprise softwares that allow for configuration usually have a somewhat easy to use back end interface that an administrator, consultant or designer can access to alter settings as needed. Most modern enterprise softwares are built to be completely configurable. Some might argue that configuration limits a customer’s options during an implementation. For some software platforms this is true- however if the software has a solid, well developed architecture the system can be configured to match any client’s needs.
Customization usually involves developers that implement or build code for an enterprise software. Customization can be expensive as it requires constant maintenance and hiring highly skilled workers. However, sometimes customization allows a client to implement a system that fits their requirements exactly as needed.