Even if the average time a service request takes is fine, you can still run into trouble. Let's look at an example that occurred at one company when it started to introduce basic services (see Basic Services).
Before introducing services, the company had lost control over which systems were accessing certain backends. Growth over the past few years had been rapid, and it turned out that several systems spread over the whole company were now directly accessing the database data using remote stored procedures(see Figure 13-2).
Figure 13-2. Direct backend data access using remote stored procedures
As a consequence, the departments maintaining the backends couldn't modify the database schema without breaking several other systems. For this reason, useful database modifications became risky and costly. Even finding out whether and how a modification would influence other systems' behavior became more and more of an effort. And from time to time it happened that modifications wound up breaking systems the departments in question didn't even know about (at least they knew about the systems then).
By introducing basic services, the company hoped to reduce these dependencies and regain control over the technical aspects of the backend systems. The idea was that instead of directly accessing database data, the other systems should use services, which ...