We've just looked at one possible way to introduce SOA, but now I want to mention some other approaches and recommendations I've found in other sources. Of course, this list is neither complete nor perfect. You'll have to find your own appropriate way of establishing SOA, but these examples and views might help.
[PulierTaylor06] recommends the "four Ps" best practice for the initial steps: people, pilot, plan, and proceed. I like this idea, although I give the elements slightly modified meanings:
All people have to learn about the principles of SOA and their associated technologies.
A pilot project helps to prove the concept.
A flexible multiphased project plan will help to integrate and validate the SOA strategy in a day-to-day business.
Based on the first three Ps, you proceed by establishing SOA via actual developments.
In [KrafzigBankeSlama04], the authors define an architectural roadmap with three expansion stages:
Fundamental SOA (SOA with basic services only)
Networked SOA (SOA with composed/orchestrated services)
Process-enabled SOA (SOA with process services)
See Chapter 6 for details.
In [KrafzigSlama07], the authors discuss different approaches for implementing and governing SOA. A bottom-up approach (see Figure 19-2) starts with a small group of SOA enthusiasts, develops more and more successful projects, and ends with an enterprise-wide ...