Understanding SOA Governance
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.
6.1 Governance 101
Governance 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:
- places constraints on decisions
- determines who has responsibility and authority to make decisions
- establishes constraints and parameters that control, guide, or influence decisions
- prescribes consequences for non-compliance
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.
The Scope of Governance
Within IT, a governance system is responsible for providing organization, direction, and guidance for the creation and evolution of IT assets and resources. To fully understand the scope of a governance system within a given IT department, we need to determine how a governance system relates to and is distinguished from methodology and management (Figure 6.1).
Figure 6.1 Governance, management, and methodology are distinct areas within an IT department that also share distinct relationships.
Governance and Methodology
Methodology represents a system of methods. Within IT, the form of methodology we are generally concerned with is that used to create software programs and business automation solutions. In this context, the methodology determines a system of methods used to conceptualize, design, program, test, and deploy a software program. These methods are generally formalized as a series of step-by-step processes that correspond to project delivery lifecycle stages.
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.
The following list contains a series of sample distinctions to further help provide a clear separation between governance, methodology, and management:
- Governance establishes rules that control decision-making.
- Methodology establishes processes that comply to governance rules and may introduce additional rules.
- Management makes decisions according to governance rules.
- Governance does not dictate when or how to make a decision. It determines who should make the decision and establishes limits for that person or group.
- Methodology establishes processes that carry out specific types of decision logic that adhere to governance rules.
- Management is responsible for day-to-day operations and for ensuring that decisions made adhere to governance and methodology rules.
- Governance cannot replace management or methodology, nor can it compensate for poor management or poor (or inappropriate) methodology.
- Poorly defined and executed methodology can jeopardize the business goals associated with governance.
- Poor management can undermine a governance system and a methodology and will jeopardize associated business goals.
- Neither management nor methodology can replace governance, nor compensate for poor governance.
- A poor governance system inevitably inhibits the ability of a methodology to fulfill business automation requirement potential.
- A poor governance system inevitably inhibits the ability of management to make correct decisions.
As previously stated, while this book will make many references to management and methodology, it is primarily focused on governance.
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:
- precepts define the rules that govern decision-making
- people assume roles and make decisions based on precepts
- processes coordinate people and precept-related decision-making activities
- metrics measure compliance to precepts
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:
- objectives – broadly define a precept and establish its overarching responsibility, authority, and goals
- policies – define specific aspects of a precept and establish decision-making constraints and consequences
- standards – specify the mandatory formats, technologies, processes, actions, and metrics that people are required to use and carry out in order to implement one or more policies
- guidelines – are non-mandatory recommendations and best practices
People (and groups of people) make decisions in accordance to and within the constraints stipulated by governance precepts. For a governance system to be successful, people must understand the intents and purposes of the precepts and they must understand and accept the responsibilities and authorities established by the precepts. Governance systems are therefore often closely associated with an organization’s incentive system. This allows the organization to foster a culture that supports and rewards good behavior, while also deterring and punishing poor behavior.
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.
A 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).
Metrics 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 SOA
An 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.
SUMMARY OF KEY POINTS
- There are clear distinctions between governance, methodology, and management.
- The building blocks of a governance system are precepts, people, processes, and metrics.
- The fundamental steps to laying the foundation for an SOA governance system are to create an SOA Governance Program Office that creates and administers an SOA governance program.