Roadmap: Governing Assets
This roadmap provides a high-level overview of the tasks supporting asset governance and how they are used together.
Main Description

Governance is the establishment of the following:

  • Chains of responsibility to empower people.
  • Measurement to gauge effectiveness.
  • Policies to guide the enterprise to meet its goals.
  • Control mechanisms to ensure compliance.
  • Communication to keep all required parties informed.

Systematic software reuse is the purposeful creation, management, support, and reuse of assets. In Software Reuse: Architecture, Process, and Organization for Business Success, Jacobsen et al estimate the following benefits of systematic reuse:

  • Time to market: 2 to 5 times reduction
  • Defect density: 5 to 10 times reduction
  • Maintenance cost: 5 to 10 times reduction

Often the mission of the reuse program is to help:

  • Continuously improve the delivery of products and services;
  • Provide and support a world-class IT operation that meets or exceeds end-user needs;
  • Provide end-to-end solutions that increase asset reuse and reduce software development costs.

The organization helps to realize this mission by developing tools, processes, and policies that will establish, maintain, and encourage strategic reuse.

There are many challenges, however, to implementing software reuse at an organization that uses a more traditional development approach.

Asset governance includes those activities for administrating asset-based development. It sits within the broader IT governance in an enterprise. The focus is on preparing the organization to properly create, use, measure, and re-plan the investments in assets.

The focus areas for setting up the governance of development-time assets are illustrated in the image below. In general, these tasks may be done in parallel, and the order in which they are conducted is negotiable.

The four major focus areas for asset governance includes planning, definition, enablement, and measurement.

The major focus areas include:

  • Planning: Capture the governance requirements, determine which processes to bring under governance, determine the measures and targets of effectiveness of the governance solutions. This focuses on what out-of-the-box governance processes (content areas) to deploy, and what customizations are necessary to accommodate the unique needs of the adopting organization.
  • Definition: Specify the decision rights, measures, and policies to be applied to those processes under governance. Specify the automation and tool support. This focuses on performing a gap analysis between the out-of-the-box governance process and what is needed.
  • Enablement: Roll out the governance solution to the organization in stages.
  • Measurement: Determine if the governance solution is meeting its effectiveness targets and make adjustments as necessary.

Describing the focus areas for asset governance is simplified when illustrating it sequentially as shown above. In practice, the activities in the focus areas are generally overlapped, as shown below. This work requires iteration and refinement. As policies and strategies are created, and teams are being formed, and lessons are being learned, refinement must be permitted, allowing the governance model being created to be updated.

The activities are generally overlapped and work is performed iteratively.

Governance is categorized for organizational-level practices and project-level practices. The governance practices described here are focused on the organization, but directly impact the asset-based development flows. A key aspect to the asset-based governance process is to specify how asset-based development will be practiced. The asset-based governance tasks produce the policies and artifacts that projects use to conduct asset-based development. In the image below, the projects conduct the tasks of producing, managing, and using assets.

Relationships between Asset-Based Development and ABD Governance.

Instead of requiring projects to produce and manage assets, the asset-based development may be structured to separate these workflows by placing them in a central asset manufacturing team, leaving the projects to use the assets and discover candidate assets. Each structure has benefits and drawbacks. Having a central asset manufacturing team has the benefits of greater asset consistency and quality, but this generally comes at a higher cost.

The process should be customized during asset-based governance to support the structure of asset-based development for the enterprise.

Organizational structure where the assets are developed by a specialized team.

The asset-based development workflows are generally inserted into the current enterprise processes. Use or create capability patterns using the process components to meet your needs.  If the enterprise is using Rational Unified Process then the asset-based development processes may be inserted in any phase, or in any discipline, or within any iteration, as illustrated in the image below.

The ABD workflows are inserted into the current enterprise processes.

The asset-based development workflows can be inserted into other software development processes, such as the one shown below. In this example, the asset-based development workflows are inserted into each of the process phases. In some cases, the business-related assets are only used on the software project and are not produced on the project, whereas each of the software-related phases produce and consume assets on the project. This example does not address a situation in which there are one or more central or cross-project asset manufacturing teams.

The ABD workflows are inserted into each of the process phases.

Scope

There are many areas requiring governance, including:

  • Portfolio Management
  • Program Management
  • Strategic Reuse
  • Enterprise Architecture
  • Compliance Management
  • IT Planning and Oversight
  • Systems Engineering
  • People Management
  • Software Process Improvement

The focus of this governance material will be organizational-level practices for strategic reuse. The material is organized according to the major focus areas introduced above: planning, definition, enablement, and measurement.

Planning

The reuse strategy is created along with resource estimates and financial estimates. The financial sponsor needs to be determined and funding allocated. This includes a discussion and decision on funding models.

In typical funding situations, the funds are allocated for the activities to deliver the artifacts for the project. This relationship changes with the reuse model where the funding for assets and their artifacts may provide value for several projects.

There are several models for funding the reuse team and related reuse efforts.

  1. Overhead funding: The costs for the reuse team are handled in the pool of overhead expenses.
  2. Tax funding: Each application development project pays a tax which covers the cost of the reuse team.
  3. Payments for assets and services: The application development teams pay for the assets and services they use from the reuse team.

One approach is to start with overhead funding, and then shift to payments for assets and services. The purpose for this recommendation is to provide time for startup costs and then move to another funding model, such as for services or assets, when the initial value has been verified.

Definition

There are multiple workflows that comprise the asset's lifecycle. For example, the activities of submitting an asset to the repository, or the review and approval process, or the retirement and archiving activities. The workflows need to be identified, and the key participants understood. Often you must consider the type of asset, or its categorization (for a specific business domain), as well as which organizational unit owns the asset. All of these are factors in determining the workflows for assets.

Controlling the access to assets is a key element of governance. Determining who can do what with an asset involves understanding the asset's intended use and scope. Access control can be determined for assets of a given type, or of a given classification, or of a given owner. These factors should be considered and the access control should be captured in the repository.

Enablement

The tools for conducting asset-based development should be selected and set up. Key to this is understanding which roles will work with which tools throughout the asset-based development process.

Measurement

Identifying the measurements important to your organization is key to the long-term and sustainable use of assets. Measurement is often tracked at several levels, including:

  • Asset owner and producer measurements: level of investment (hours, money, time) in an asset
  • Asset consumer: level of benefit and value delivered to the asset user
  • Repository: level of activity on the repository
  • Management: value to the organization, return on investment