Maturity Models describe the evolution of a specific entity over time. Commonly, this entity is an organizational area or function. Maturity Models have been developed to assess specific areas against a norm. Based on maturity assessments, organizations know the extent to which activities in such areas are predictable. That is, organizations can be aware of whether a specific area is sufficiently refined and documented so the activities in this area now have the potential to achieve desired outcomes. Maturity Models apply a life-cycle approach where an area develops over time until it reaches its highest maturity level.
Essentially, Maturity Models make it easier for organizations to establish goals for process improvement and identify opportunities for optimization, since these models describe basic attributes that are expected to characterize a particular area for each maturity level. By comparing an organization's characteristics and attributes with a Maturity Model, an organization would be able to identify how mature it is in order to increase its process capability: first, establishing goals for the improvement of processes and then, taking actions to achieve them.
While designing a typical maturity model, the nature / type of model would need to be ascertained. Maturity models can be classified as:
- Assessment maturity models: Consists of normative models which serve as assessment tools that target certification, and help improve the organization's image as a reliable partner
- Development maturity models: Includes development tools that organizations could use as guides for implementing best practices that, ultimately, lead to improvements and better results
In this paper, a development maturity model is discussed that describes the various maturity levels in a SOA Adoption Journey and the ideal state of an organization at each level measured against a standard set of maturity dimensions. The resulting matrix represents the SOA Maturity Model.
2.Maturity Levels and Dimensions
Achieving a certain level of maturity as per the dimensions and levels defined below is typically a process that needs to be performed continuously and cannot be considered steady state. The development of a maturity model consists of some typical steps as depicted below:
The first step in a maturity model is of course to determine the scope by setting the boundaries for the model's application and use, and to define the purpose of the model. The next steps would be to design the model and then populate it with assessment criteria. Then evaluate it for its relevance and rigor before deploying it. The maturity model (like all programs) would need to be kept up-to-date through a maintenance activity.
The SOA Maturity Model was developed using the process described above. The scope in this case is "effective SOA implementation." Note that there is no single way to determine this and there are several SOA Maturity Models proposed by different organizations to determine the maturity of SOA in an enterprise. This particular model is based on CMM standards for development and defines 5 levels of maturity as below:
|1 – Primitive||This level indicates that the organization has adopted SOA, but is in a very early stage. There is not much reuse of assets and needs overall direction in achieving the goals of SOA. At this level, organizations cannot fully reap the benefits of SOA|
|2 – Standardized Services||This is the second level of maturity and indicates that re-use exists to a certain extent, developed through the use of standardized services and well defined best practices.|
|3 – Manageable Services||This level of maturity indicates that services are standardized and the organization has better control in terms of overall manageability. This level is not very far from realizing the full benefits of SOA.|
|4 – Measurable Services||Just like in the SEI-CMM standards, metrics and measurements play an important role in SOA. This level of maturity indicates greater control over the initiative, as metrics are available from both a technical and a commercial perspective.|
|5 – Agile Enterprise||This is the ultimate goal organizations aspire to achieve. This indicates close alignment between the IT and business teams so that changes are addressed quickly at low costs, thereby gaining business agility and the ability to remain competitive.|
Each of the above levels are assessed as described below, based on collectively considering the following well-known dimensions - Organizational Factors, Tools and Processes, Architecture, Services, Governance Support and Operations.
3.SOA Maturity Model Matrix
The following table details the complete maturity model levels and their criteria
The SOA maturity assessment process helps organizations evaluate each parameter mentioned above and arrive at a specific maturity level. The assessment process is not meant to find faults with SOA implementations, but rather to measure the level of success and to identify those aspects that worked well and the ones that didn't. Most organizations start at Level 3 and work constantly towards achieving levels 4 and 5. Based on the inputs gathered during the assessment stage, existing technical and process gaps are identified. Eventually, the overall SOA strategy of the organization is revised based on the established maturity level.