A major challenge establishing service orient architectures (SOA) and applications is how to design the right services in order to make them reusable and sustainable. A lot of questions have to be answered. For instance:
What are the service candidates?
What is the right service granularity?
Is it better to use a top-down or bottom-up approach?
etc, etc, …
Apart from technical issues answering these kind of questions is very important for the quality of the resulting applications. Albeit the traditional OOAD approaches are helpful, SOA requires a different perspective on the subject. This perspective is party technical an partly business related as existing business processes have to be taken into account.
The article Elements of Service-Oriented Analysis and Design provides a good introduction into the subject.
Experience shows that it is a good approach to have mixed teams with experienced people from the technical and the business departments.
SOAD is neither a merely technical nor a merely business related task. It’s both. That’s the challenge.