After the architectural changes were made, the next challenge was extracting features from the old application. The concept of bounded context from Domain-Driven Design (DDD) was chosen to define well-contained feature sets. Avoiding big-bang refactorings required that for each feature set extracted, the new microservice needed to work with the old system for as long as it took to completely move the logic. During the transition the new service was accessing the old database which meant that only the read-path could be implemented until the service was fully functional. By applying these principles the teams have been able to extract most existing features from the old system moving them into microservices.