We have about 10 applications in a monolith that need to be refactored in Microservices.
Following an agile approach, we would like to divide the work into vertical slices, each slice being useful to the user. Each slice would include a persistence layer, a service, and a user interface. However, we do not know how to manage the user interface layer. Should we connect our new microservices to the old user interface or create a new user interface accessible to a few users?
The first option would require a lot of work to connect the microservice to the old user interface. In addition, we will eventually need to link the services to a new user interface. Therefore, twice the work. The second option would require two user interfaces running in parallel and would certainly get less traffic until the end of the project. Since then, there will probably be a subset of users who will not use it often. I wonder if that would be helpful. The second option seems to make sense to me, but we tried another one.
The other option would be to simply create the service layer and add a new user interface as a separate epic. The service test can be performed via an API test tool, for example Postman. This approach seems simpler at first, but it causes problems. First, it seems to go against an agile approach and more closely follows a cascading methodology. Thus, we do not get real incremental comments from the user, because they will not see anything that is usable until the user interface is complete.
So, I'm sure there are many ways to approach this problem, but I wonder if there is a typical way to solve it.