SOA GovernanceThis excerpt is from the eBook, SOA Governance: Governing Shared Services On-Premise and in the Cloud authored by Thomas Erl, Stephen G. Bennett, Benjamin Carlyle, Clive Gee, Robert Laird, Anne Thomas Manes, Robert Moores, Robert Schneider, Leo Shuster, Andre Tost, Chris Venable, Filippos Santas. For additional information kindly visit the publishers site at SOA Governance.
This chapter provides an introduction to general governance concepts and terms, as well as fundamental topics regarding governance systems for SOA projects.
6.1 Governance 101
6.2 The SOA Governance Program Office (SGPO)
6.3 SGPO Jurisdiction Models
6.4 The SOA Governance Program
The expectation when adopting service-orientation is the realization of a number of specific strategic business benefits, as explained in Chapter 3. To accomplish this requires not only sound technology, mature practices, and sufficient stakeholder support, but also a firm grasp of the strategic target state being realized by the adoption and a firm system of ensuring its attainment and sustainment. Such a system cannot be purchased with technology products labeled as governance tools; it is a system that requires careful definition specific to overarching goals and requirements.
Structured governance is required to carry out and see through the commitments made when embarking on an SOA roadmap. It helps organizations succeed with SOA adoption efforts by mitigating risks through predefined constraints, rules, and the allocation of necessary authority. This chapter provides an introduction to general governance concepts and terms, as well as fundamental topics regarding governance systems for SOA projects.
Governance 101 6.1Governance is the act of governing or administrating something. By far the most common form of governance is that of an organization. A system of governance is therefore generally a type of organizational system. For example, a society uses an organizational system to govern a public community. A company uses an organizational system to govern its own internal community.
A system for organizational governance exists as a meta-decision system. In other words, it is not just a means by which the organization makes decisions, it is the means by which the organization makes decisions about decision-making.
Within this context, a governance system:
At the highest level in society, governance is established by a constitution. Within a company, it may be declared in the form of a business charter. Founding documents such as these establish a parent level of authority and constraints from which all other decision-making authorities and structures are derived. At deeper levels within the organization, a governance system can further influence the definition of policies, standards, and processes that guide and control day-to-day decision-making activities.
A good system of governance helps the members of an organization carry out responsibilities in a manner supportive of the organization’s business goals and vision. It mitigates conflict by clearly defining responsibilities and assignments of authority, and further reduces ambiguity by articulating constraints and parameters in practical forms (such as rules and decision guidelines). It also helps balance tactical and strategic goals by expressing the intents and purposes of its rules.
Different software delivery methodologies exist. What commonly distinguishes one from the other is how they prioritize tactical and strategic requirements in relation to overarching business goals. These priorities will usually result in different processes (project lifecycle stages) being combined or organized in different ways. In some cases, one methodology may introduce a new process that does not exist in other methodologies—or it may exclude a process that commonly exists in other methodologies. Frequently, however, it comes down to how much time and effort a given process or project lifecycle stage receives, as determined by the tactical and strategic priorities of the methodology.
How a methodology is defined and carried out is heavily influenced by the governance system. Essentially, the methodology must be determined so that it follows the constraints established by the governance system and the corresponding methods (processes) must be carried out in compliance with these constraints, as well as any additional constraints that may be further introduced by the methodology itself.
Governance and Management
Whereas a governance system establishes rules and constraints, it is not responsible for enforcing them or overseeing related activities to ensure compliance. Management refers to the system and resources responsible for day-to-day operations.
Within an IT environment, this basically pertains to the execution of activities. In relation to governance, a management system provides the hands-on means by which the constraints and goals of the governance system are realized in the real world. Therefore, the management of a governance system represents a subset of the overall management responsibilities.
Management systems are assigned to and carried out by those with authority.
Methodology and Management
Management relates to methodology the same way it relates to governance. When building software programs according to a pre-defined methodology, a management system is used to ensure the proper execution of processes and project delivery lifecycle stages in compliance with the constraints of the methodology—and the constraints of the governance system.
As previously stated, while this book will make many references to management and methodology, it is primarily focused on governance.
To determine what style of governance may be the best fit for a given organization, it can be helpful to refer to established forms of governance used historically in society. Figure 6.2illustrates two dimensions that relate common governance styles.
When we study the vertical spectrum, we have a totalitarian type of regime whereby rigid policies dictate required actions, and decision-makers have little freedom to apply their own judgment. Too much rigidity can generate resentment and inhibit creativity in an organization. On the other hand, allowing flexible policies that provide only suggestive guidance leaves decision-makers with so much freedom that there is little chance of achieving meaningful consistency.
Good governance empowers people to do what’s right for the business. Poor governance unnecessarily constrains or inhibits decisions, or fails to provide enough decision-making guidance. All governance—whether good or bad—places limits on the decisions and behaviors of the people being governed. It also prescribes consequences for those choosing not to abide. There is no single governance style that is correct for all organizations. Each must strive to find a balance between centralization and decentralization, between rigidity and flexibility, and between its existing culture and its ability to adapt to new approaches.
The Building Blocks of a Governance System
So far we’ve established that governance provides a systematic way for organizations to make decisions. Let’s take a closer look at the primary building blocks that comprise a governance system:
Note that these building blocks can be collectively or individually referred to as governance controls.
A precept is an authoritative rule of action. Precepts are the essence of governance because they determine who has authority to make decisions, they establish constraints for those decisions, and they prescribe consequences for non-compliance.
Precepts codify decision-making rules using:
Also, even though a precept can contain standards, certain precepts themselves are considered standards. Therefore, it is important to not be confused when the precept name includes the word “standard” (such as Service Design Standard precept), and the precept itself further contains one or more standards that support corresponding precept policies.
When exploring the involvement of people in relation to governance systems, it is further necessary to identify the role or roles they assume. Organizational roles position people (and groups) in relation to governance models and further affect the relevance of precept compliance and enforcement.
There are two ways that people can relate to precepts and processes: they can help author the precepts and processes and they can be dictated by their application. In this book, we explore both types of relationships.
ProcessesA process is an organized representation of a series of activities. It is important to make a distinction between governance processes and other types of processes related to IT. Governance processes provide a means by which to control decisions, enforce policies, and take corrective action in support of the governance system. Other processes, such as those employed to carry out project delivery stages, can be heavily influenced by governance precepts, but are not specifically processes that are directly related to carrying out the governance system. Technically, any process is considered a management activity, but a governance system is dependent on governance processes to ensure compliance with its precepts.
An organization is likely to use a variety of processes to support its precepts. Some may be automated, while others require human effort. Automated processes can help coordinate tasks (such as steps required to collect data for approvals), but can still rely on people to make important decisions (such as making the actual approvals based on the presented data).
MetricsMetrics provide information that can be used to measure and verify compliance with precepts. The use of metrics increases visibility into the progress and effectiveness of the governance system. By analyzing metrics, we gain insight into the efficacy of governance rules and we can further discover whether particular precepts or processes are too onerous or unreasonable. Metrics also measure trends, such as the number of violations and requests for waivers. A large number of waiver requests may indicate that a given precept might not be appropriate or effective.
Governance and SOAAn organization establishes governance to mitigate risk and to help advance its strategy, goals, and priorities. When the organization invests in an SOA initiative, it expects to gain benefits worth more than the cost of the investment. This return on investment is measured in terms of business outcomes, and, presumably, those outcomes reflect the organization’s strategy, goals, and priorities. Therefore, the primary business goal for SOA governance is to ensure that an SOA initiative achieves its targeted business outcome.
An SOA governance system is the meta-decision system that an organization puts in place to control and constrain decision-making responsibilities related to the adoption and application of service-orientation. There are many practices, considerations, models, and frameworks that can comprise a meta-decision system suitable for SOA governance, all of which are explored throughout this book. The foundation of an SOA governance system resides within an SOA Governance Program Office responsible for creating and administering an SOA governance program that encompasses and defines necessary SOA governance models and the tasks required to realize and sustain these models.
The term “SOA Governance Program Office” is intentionally capitalized as it represents the official name of an IT department. The term “SOA governance program” is not capitalized, as it refers to a type of program that is commonly assigned its own unique name.
SUMMARY OF KEY POINTS