After new requirements are accepted, bugs need to be fixed, new functionality added, interfaces redesigned. Service versioning allows users to use the existing services in an unchanged method while improving the service. The current service interface and behavior are preserved as one version, while the newer service is introduced as another version.