Business Process Analysis (BPA) offers matrices that help in drawing a correspondence between business goals and high level services. BPA also helps in prioritizing the business processes in terms of the most pressing needs of an organization. In this article, Wajid Khattak presents the rationale for BPA in SOA-based projects, its importance and more importantly describes the actual steps involved within BPA with the help of a case study.
The importance of BPA within traditional application development accounts for a successful end product that is more aligned with the business requirements. However, within an SOA, being inherently an enterprise wide initiative, the requirement for conducting BPA becomes more prominent and warrants an individual development activity on its own unlike a traditional SDLC where it is more embedded within the analysis phase. The basic tenet of SOA is to align IT with the business processes; consequently BPA's rationale is to align SOA with the true business needs so that the services created at the end of the SOA development process fulfill the actual business requirements.
BPA helps focusing SOA initiative on the set of business processes whose automation would address the most pressing requirements of an organization. It helps in drawing a one to one correspondence between the business goals and the required services. Without a BPA, there is a strong possibility of SOA's development efforts to be focusing on issues that although need addressing but are not an organization's priority, thereby not bearing the required results. Unlike traditional software development, where analysis could be performed by following an established set of techniques (e.g. use-case analysis, data flow diagrams, ERDs), SOA requires a discrete set of business analysis activities that establish the baseline for the actual service-oriented analysis & design.
Organizations are always faced with the classic dilemma of scarce development resources in order to address ever growing list of business requirements. Consequently for an SOA, that already faces opposition from the traditional software development hardliners, these scarce resources need to be focused towards addressing the actual business requirements starting with the most important ones. This focused development is only possible when one can justify the required services by drawing a one to one correspondence between the business processes and a set of high level services. BPA helps to draw this correspondence and thereby guides the SOA development efforts towards the creation of services that actually address the business requirements.
One of the misconceptions about SOA includes the presumption that the SOA follows the big-bang theory as a result of which architects try to service-orient every other process without prioritizing them according to the needs of the business requirements. Those that have followed this route already know the consequences when it comes to reviewing the fulfillment of business requirements from the first set of developed services. However, all this could easily be avoided by performing a Value Chain Analysis that prioritizes the business processes in terms of their importance to the business. Although the techniques presented here do not constitute a complete set of steps involved within business process analysis by any means, however, these do help in providing a basis for such an analysis. These techniques have been described by using a case-study as an example as it helps to draw a better understanding of the actual process.
This article was originally published in The SOA Magazine (www.soamag.com), a publication officially associated with "The Prentice Hall Service-Oriented Computing Series from Thomas Erl" (www.soabooks.com). Copyright ©SOA Systems Inc. (www.soasystems.com)