Adopting new systems or software engineering tools and practices on a large scale is a significant technological and organizational challenge that requires an appropriate level of coordination, collaboration, and governance to be successful.
This article outlines a best-practice organizational model to ensure successful adoption, based on establishing a software engineering process center of excellence (COE).
What is a center of excellence and why do I need one?
The following is a good working definition of a center of excellence from
Strickler, J. (2008):
“The Center of Excellence should, at a most basic level consist of: A team of people that promote collaboration and using best practices around a specific focus area to drive business results. This team could be staffed with full- or part-time members.
The Center of Excellence should serve five basic needs:
- Support: For their area of focus, Center of Excellences should offer support to the business lines. This may be through services needed, or providing subject matter experts.
- Guidance: Standards, methodologies, tools and knowledge repositories are typical approaches to filling this need.
- Shared Learning: Training and certifications, knowledge sharing, skill assessments are all ways to encourage shared learning.
- Measurements: Center of Excellences should be able to demonstrate they are delivering the value that justified their creation.
- Governance: Allocating limited resources (money, people, etc.) across all their possible uses is an important function of Center of Excellences. They should ensure organizations invest in the most valuable activities and create economies of scale for their service offering. In addition, coordination across other corporate interests is needed to enable the Center of Excellence to deliver value.”
Where software or systems engineering is being performed on a large-scale, organizations that take a systematic approach to addressing those needs gain greater return-on-investment from their investment in the practices and tools, and are able to reap the benefits much earlier.
This article uses the term
center of excellence to refer to any similar entity with the same purpose and goals. The goals of a center of excellence are to mentor project staff, provide internal training, assess innovative software engineering solutions and manage adoption and continuous improvement. Other similar concepts and terms are
Center of Competency (COC) and
Community of Practice (COP), and these might encompass organizational types from Software Engineering Process Groups (SEPGs), project management offices (PMOs), quality groups, architecture teams, subject matter expert (SME) groups, and deployment organizations.
COE organizational model
The
center of excellence (COE) is a centrally coordinated team consisting of a pool of skilled resources with expert knowledge around the software or systems engineering ecosystem; tool installation and configuration; usage models; practices and methods; and enablement and adoption.
The center of excellence is often organized into four main groups, as shown in
Figure One:
- Executive steering committee
- Program management
- Common services group
- Working groups
Each group is described in detail later in this article.
Figure One: center of excellence: an operating model for successful improvement
1. Executive steering committee
The
Executive Steering Committee (ESC) is the decision-making body and escalation route for the center of excellence. Members of the steering committee typically include: a chairperson, one or more Tools Solution Architects, representation from the Software Engineering Process Group, and representation from the user and stakeholder community.
The executive steering committee is ultimately accountable for the success of the center of excellence and is responsible for ensuring that the software engineering solutions supported by the center of excellence deliver the expected benefits to the organization as a whole.
The key responsibilities of the executive steering committee are typically to provide overall direction for the initiative and to ensure that the expected benefits are achieved; to communicate the goals and status of the change initiative to sponsors and key stakeholders; to establish and maintain appropriate governance and to act as an escalation point for decisions that cannot be made locally.
2. Program management
The Program Management group is responsible for the operational aspects of the center of excellence, such as:
- Planning of COE activities
- Communications
- Managing the relationships with tool vendors, third-party consultants, and others for products and services within the scope of the COE
- Measurement & reporting
- Financial management
- Program management of COE initiatives, such as tools adoptions
3. Common services group
The
Common Services Group (CSG) is a team responsible for the "cross-cutting" activities undertaken within the center of excellence, such as tool support and maintenance; method and process development and improvement; and enablement planning and delivery.
Figure Two: Common Services Group Structure
The
Common Services Group is often staffed by a relatively small number of dedicated resources and is supplemented by external consultants and volunteer resources from the user community, as necessary, during specific initiatives. The group is typically accountable for providing these types of services:
Tools strategy
- Developing the tools strategy and roadmap
- Preparing and planning the tools environment
Tools environment administration
- Establishing the tools environment
- Getting new users started
- Managing user accounts
- Setting up tools environments
- Software licenses management
- Monitoring the tools environment
- Maintaining and upgrading the tools environment
- Project administration
Process improvement
- Developing initial processes and practices
- Continuous improvement of processes and practices
- Monitoring process adherence
Process and tool enablement
- Creation and maintenance of training materials
- Identifying training needs
- Managing development or acquisition of training
- Delivery of training
Process and tool mentoring
- Development of process and tool subject matter experts (SMEs)
- Provision of mentoring to end users on tools and process
Within your organization, you might have dedicated teams that are responsible for the delivery of some of these services; for example, training delivery or infrastructure and tool support. In that case, the role of the CSG is to ensure that the services provided meet the needs of the solution and its practitioners and to coordinate any interaction with these teams.
4. Working groups
Where there is a large-scale adoption effort requiring support from the center of excellence, a common pattern is to establish a series of local
working groups, formed of nominated representatives from the end-user community based on their role or expertise, together with key stakeholders. They influence and manage the way the solution is adopted locally for their area and to coordinate with the other working groups.
Working groups are responsible for ensuring adoption and optimization of the solution within their area of responsibility and for coordination with other working groups around interdependent activities. The working group is accountable for these tasks:
Supporting solution design
- Designing the elements of the solution that are associated with their area of focus, including:
- Deciding which tools and processes to adopt
- Defining applicable tool usage models
- Identifying any required adaptation or tailoring of the tool configuration or process for their area
- Validating the tool configuration
- Identifying best practices
Capability deployment and improvement
- Defining the adoption approach and plan
- Identification of pilot projects
- Coordination of deployment or improvement activities
- Obtaining feedback on adoption and usage
- Responding to requests for assistance from specific projects
- Marshaling point for requests for assistance from the community
- Prioritization of resources to support these requests
- Coordination with the Common Services Group
- Coordination with other working groups
- Tracking requests to closure
Measurement and reporting
- Identification of appropriate measures for their area
- Capturing of metrics
- Reporting adoption progress and benefits to the stakeholders
- Escalating any risks or issues to the Executive Steering Committee
The number of working groups is specific to your organization and depends on factors such as the structure of the organization, the number of discipline areas, the availability of resources and expertise, and the expected rate of adoption.
To illustrate this,
Figure Three shows an example working group structure to support an adoption effort covering three disciplines across two business units. In this example,
Business Unit Two is geo-dispersed and so has formed subgroups within each geographic location.
Figure Three: Example Working Group Structure
The two business units are both adopting the same tools and practices, but there will naturally be differences in the way the tools are used within each. Each might require different tool configurations and have different enablement and mentoring requirements. In addition, the priorities for adoption by the practitioners, the availability of champions and mentors, and the level of support and mentoring provided might also differ. The relevant local working groups are responsible for taking these factors into account and making the appropriate local decisions.
This working group structure aims to provide a scalable and manageable framework for empowerment, flexibility, visibility, and sharing of assets and best practices, while ensuring a consistent and coordinated approach across the adoption program as a whole.
Figure Four below illustrates a potential operating model for each working group.
Figure Four: Working Group Operating Model
Managing and tracking working group activities
Each working group is expected to manage their own backlog of work. However, in order to maximize reuse and minimize duplication of effort, this backlog must be visible to the other working groups. For example, it should be possible to see all Requirements Working Group activities, and
all Working Group activities at a business unit level.
COE staffing profile
The staffing profile of the overall center of excellence is typically divided into two key categories:
Transitional and
Permanent resources.
Transitional resources
These are resources that are temporarily assigned to the initiative in order to perform the planning and mobilization, the solution development, and the initial enablement and adoption activities. Typically, these resources are assigned specifically to an initiative design to drive the implementation of the solution, or are resources from third-parties, such as tool vendors or external consultants.
As the solution transitions into a steady state, it is expected that the number of transitional resources will reduce as resources are either no longer required or move into a business-as-usual role.
Permanent resources
As the solution moves into a steady state, resources are required to support and maintain the solution over time. The majority of these resources are in the Common Services Group and provide a combination of support and maintenance activities and continuous improvement activities. Often, the funding for these resources transfers from a "change-the-business" initiative model to a "run-the-business" model.
Figure Five: Staffing Profile
Communities of practice
A
Community of Practice (CoP) is a community of individuals who share a common interest in learning from each other and sharing knowledge around a given capability area. Members of the CoP generally discuss relevant topics and issues, identify reusable assets, share best practice, define guidelines, and help each other in order to be productive in their daily activities. Communities of practice are typically formed around a given discipline or capability area or role-set.
If you do not already have a CoP, consider creating one during adoption to give further impetus to the deployment and provide opportunity for the community to share experiences and best practices.
Think about appropriate ways to establish CoPs and how to encourage participation from within the practitioner community.
- Ideally, each CoP should have a dedicated leader assigned on a rolling periodic basis (for example, one or two years) that sets up and runs the community.
- Community participation should become a personal commitment for practitioners, and participation should be recognized and encouraged by management.
- Appropriate resources should be made available, such as forums and other collaboration spaces, community events and projects, newsletters.
Summary
This article has discussed the need for a center of excellence to support the adoption of a new tooling solution. The article outlined the key organizational elements that are typically found within a center of excellence, along with their roles and responsibilities.
References:
Strickler, J. (2008) “What is a Center of Excellence.”
http://agileelements.wordpress.com/2008/10/29/what-is-a-center-of-excellence/.
External links:
Additional contributors: JimDensmore