An SOA COE is an organization that assimilates and promotes best practices, knowledge, and pragmatic leading-edge solutions in the area of SOA. The COE introduces rigor and discipline across various SOA initiatives and provides benefits by building skills and competency to sustain successful execution of increasingly complex SOA initiatives.
SOA is an approach to building applications that align business and IT goals. Typically, the business side of the organization likes the concept of SOA because SOA promotes business flexibility and agility. An ability to quickly react to changing market conditions or competition drives better return on investment. An ability to bring new products to market quickly is important for business executives; therefore, the ability of the IT organization to quickly ramp up supporting processes and applications is a key factor. The IT side of the organization likes SOA because it promotes loosely coupled, open standards-based architecture design principles. Better design principles and component reuse promotes operational speed and efficiency and cost savings.
This article uses the example of a fictional company named Acme Electronic Parts Distribution, Inc. (hereafter also called Acme), which is a large, global distributor of electronic parts. Acme represents major manufacturers in parts, such as batteries and hardware, bridges and diodes, capacitors, connectors, inductors, LED displays, integrated circuits, and resistors. Acme also provides value-added services, such as programming, installation consulting, design services, and customized delivery. The company has strong partnerships with its customer base and key suppliers, and is rated highly for customer satisfaction, product expertise, and overall value. Acme's annual revenue is more that US$3 billion.
The marketplace for electronics parts is saturated with hoards of both existing and new vendors. Business executives at Acme are faced with the challenge of driving more revenue from an existing customer base. While demand is growing, new competitors, such as consolidators and Web-based sellers, are putting downward pressure on pricing ability. Customers are demanding greater value for lower prices. On the IT side, the company has predominantly mainframe-based applications in the areas of providing quotes; obtaining orders; order fulfillment; and logistics, customer, and supplier management.
The new CIO of Acme has proposed a new approach that involves best-of-breed solutions in the areas of customer management, quote and order entry, parts management, and order fulfillment. The business application component services that make up Acme's SOA will be realized in several different ways. Whereas component services for business applications, such as quote and order management, will be custom components developed in-house by Acme, some will come from off-the-shelf applications provided by vendors, and others will be realized by exposing services from existing legacy applications through standards-based interfaces. Various business processes required by Acme will then be composed by wiring together these services. The overarching approach is to start small in each of the domains and ramp up quickly after achieving early successes and learning lessons. However, the CIO knows that this approach engages multiple operational areas at the same time, thereby increasing the cost and time-of-delivery risks for various projects, making it important to ensure that the SOA approach is executed correctly. For a successful outcome, SOA initiatives need decisions about IT and architecture to be made collaboratively at various stages.
A COE helps set the stage and guides project teams by providing guidelines and principles, methodology, best-practice references, and architecture decision support. The COE also provides a platform for team members to collaborate on key issues to promote successful outcomes. The COE helps:
- Establish, measure, and execute governance policies.
- Assess and prioritize various SOA initiatives.
- Manage the service life cycle.
- Measure the effectiveness of various SOA initiatives.
The CIO is ready to secure and provide the needed executive sponsorship for a COE and is looking for assistance for conceptualization, formation, and operation. This article is geared toward IT consultants and architects, and provides information for advising the key executive. It explains and analyses various options while taking into consideration the company's current organizational dynamics and challenges. Where appropriate, this article illustrates how IBM products and services can help during the process.
This section describes two perspectives of SOA. Figure 1 shows the capabilities of a typical SOA environment, depicted using IBM's SOA Reference Model, and describes an ideal SOA environment as a collection of services provided through applications or platforms. The enterprise service bus (ESB) acts as an intermediary and provides routing, translation, and transport services. An ESB provides loose coupling at the enterprise resources level through virtualization. Each of these services can be mapped to software solutions provided by IBM or Acme's other software vendors. IBM's software portfolio includes the WebSphere®, Tivoli®, Rational®, Lotus®, and Information Management families of products to address requirements in these areas. Each of the services groupings engages a subject area. For example, the interaction services abstraction allows people, processes, and information to collaborate. Acme can get a jump-start on interaction services capabilities requirements with one or more products from the IBM Lotus family of products, such as Lotus Workplace Collaboration Services and Lotus Expeditor, and from IBM WebSphere Portal. (See the Resources section for a link to the white paper "IBM SOA Foundation - An Architectural Introduction and Overview," which describes the reference model and the IBM products that implement it in detail.)
Figure 1. Capabilities of an SOA environment
Figure 2 depicts the layers of an SOA solution. End users (humans or partner businesses) use business applications, which can be rich-client, mobile, portlet-based, or Web-based to invoke business processes. A business process is created by the composition and choreography of business services provided by service components. Service components may interact with other operational or legacy systems within the enterprise to acquire the requested information or perform a business task. Services are at the heart of this multilayer architecture and are components that realize service flows and processes. There's a notion of a service consumer and a service provider. Integration (through the ESB), a security and monitoring infrastructure, data architecture, and governance are depicted as foundational layers of capability underpinning an SOA solution (see Resources for a link to more information about the IBM SOA Foundation).
Figure 2. Layers of an SOA solution
As an organization progresses in its SOA adoption, it adopts infrastructure, products, and applications that promote the concepts described above. It creates and reuses a variety of business services encompassing the business operations of the organization. The situation can quite easily lead to chaos and ambiguity with respect to policies relating to creating and activating new services and retiring services that are no longer needed. A COE for SOA plays the anchor role in addressing such issues.
Figure 3 depicts the following four stages of an SOA application's life cycle:
- Model: Gather requirements, model business processes, and perform design work.
- Assemble: Discover or construct the necessary services, connect those services to the business process model, establish the key performance indicators (KPIs) that will be used to monitor the process, and test the application.
- Deploy: Integrate people, processes, and activities required to deploy the application into the production runtime environment.
- Manage: Collect and display application, process, and service-level metrics in various tools used by business and IT staff to ensure that the applications and processes are performing as expected. These same metrics can then be fed back into the model stage, enabling continuous improvement of applications and processes.
Figure 3. SOA application life cycle
IBM provides a variety of software solutions for use during each of the stages. See the Resources section for information about these solutions.
Figure 3 shows that SOA governance and its related processes span all of these stages. Also, once services are in production, change management aspects of runtime governance are used to control changes. A COE can play an important role in setting up and overseeing governance mechanisms. IBM provides software solutions—including IBM WebSphere Service Registry and Repository, IBM Rational Method Composer, IBM Rational Asset Manager, IBM WebSphere DataPower SOA Appliances, IBM Tivoli Composite Application Manager for SOA, and IBM WebSphere Business Services Fabric—to help set up governance mechanisms during design and run time. (See Resources for links to information about these IBM products.)
Figure 4 depicts one view of the IT ecosystem at Acme as being comprised of various hardware, storage, and network systems supporting middleware and infrastructure software provided by vendors and in-house custom solutions. Business applications leverage features of the middleware and infrastructure software solutions to provide business capabilities for transacting business.
Figure 4. Platforms, middleware, and infrastructure software and applications
Each of the supporting solutions can be considered as having a life cycle with a slight difference in the manner in which the life cycle unfolds. For example, the choice of appropriate infrastructure software from one or more vendors is based on detailed functional and nonfunctional requirements analysis across one or more functional areas that the software supports. Architecture decisions for analysing and choosing an appropriate solution is an important consideration. A governance mechanism is a key factor in ensuring that investments are made judiciously during the choice of solutions.
A COE at Acme helps gather trust, visibility of endeavors, and control and monitoring of investments. And it helps address the areas described above.
A COE is characterized by the scope of its operations, mandates, funding, executive sponsorship and commitment, responsibilities, and powers. On one side of the spectrum, Acme can form a COE as an academic group to review standards and best practices with anywhere from limited to greater powers of enforcement. On the other side of the spectrum, the COE can be an advanced technology group delving deeper into research about new technologies and their relevance to the organization, with wider scope and powers. Based on the nature, scope, and diversity of operations, the types of COE can be classified as follows:
- Academic: The scope of the COE is narrow in this case. The body provides guidelines on how SOA projects should be approached but doesn't itself conduct any detailed activities on modeling, development, or deployment. Individual teams within the organization carry out such activities. The COE looks at design and other aspects from a quality assurance perspective and might have enforcement powers in this regard. The COE supervises the training and certification of designers. Initially this COE can be perceived as an informal body comprised of experienced and knowledgeable personnel from the business and technology groups of the organization. Over time, this type of COE might get additional powers on the basis of noted contributions to successful projects and might get additional funding to expand the scope of operations.
- Technical: A technical COE has a broader scope than an academic COE. This type of COE has more funding and powers and is staffed as a full-time operation with dedicated resources. Knowledgeable and experienced business and technical members from other parts of the organization participate in the COE activities, too. Acme can structure this type of COE as a shared resource organization with staff members participating and contributing actively to key projects. Also, the COE might be asked to select, deploy, and run the infrastructure for a certain period of time. This type of COE is vested with wider powers of enforcement with regard to design decisions, best practices, quality control, and testing approaches.
- Advanced technical: The advanced technical COE functions like an advanced technology group. This model incorporates the activities and salient features characterized by the academic and technical COE styles. But what sets it apart is further responsibility to research into upcoming technological trends with regard to the organization's growth. The COE, apart from having wider scope, powers, and funding, might play an influential role in funding decisions for new projects.
Note: I chose the above names for COE classification for this article to describe the styles and provide an analysis of COE.
Figure 5 analyses the possible attributes of an SOA COE with respect to how they are applicable across the above styles of COE.
Figure 5. Analysis of various styles of an SOA COE
Another consideration is the COE's length of operation. Acme can establish a COE with either a short-term tactical role spanning the duration of the main transformation effort with an evaluation of further roles thereafter, or as a permanent body. The choice depends on the long-term view of the organization, funding outlook, and cultural and political considerations. The COE leaders might have to overcome obstacles, such as skepticism and resistance to change among various team members. The COE usually gets more powers and prominence depending on successful outcomes. Inaugurating an SOA COE at the beginning of SOA transformation initiatives provides a sense of purpose, direction, preparation, and planning; yields benefits, such as shorter time to market; and develops the technical and organization discipline to take on increasingly complex initiatives.
Acme's CIO has to consider the organization's dynamics, cultural influences, change issues, and departmental interactions to decide on a style of SOA COE. Acme has various departments, including: customer relationship management (CRM), product setup and maintenance, sales and marketing, supply chain and logistics, and human relations. Acme has several applications in production supporting the business activities of the company. Important applications are quoting, order booking and fulfillment, customer relationship and intelligence, demand and supply planning, sales order management system, and accounting. The technology is a mix of home-grown solutions and some commercial off-the-shelf (COTS) solutions. The critical applications, such as the parts and order-management systems, are mainframe-based applications. Each of these areas has experienced business executives with excellent knowledge of the business. The IT organization has a diverse skill set, from COBOL to modern-day Java™ Platform, Enterprise Edition (Java EE).
Based on the organization profile, funding, and the additional risk of attempting a major transformation initiative across several operational domains, the CIO chooses the technical style of COE and starts planning to make the COE operational.
The following sections detail each activity needed to set up the COE.
The CIO must first clarify the purpose and scope of the COE through the mission statement and charter, then outline the organization structure. Sufficient introspection on the following questions can lead to a mission statement and charter with appropriate clarity of purpose:
- What business problems is the SOA COE expected to solve? A typical answer might be something like To promote accelerated time to market for new business processes or services, thereby improving a return on investment.
- What technical problems is the SOA COE expected to solve? The answer might be To provide guidance on technical standards and best practices, and ensure an architecture that suits the long-term needs of the organization. Additionally, the CIO might indicate that it's to serve as a governance mechanism to ensure a correct approach for SOA.
- What's the broad scope of activities for the SOA COE? It might be Activities spanning the life cycle of services from envisioning to creation to retirement. Active involvement in selecting technology standards, evaluating and selecting tools, macro and micro design, development, testing, implementation, reuse, and security aspects.
- How will the SOA COE interact with project teams?
- How will the SOA COE carry out governance activities?
- How will the SOA COE enforce quality standards and adherence to design guidelines and best practices?
A well-crafted mission statement, which is communicated across the organization helps participants rally around the objectives of the SOA transformation. The mission statement for the SOA COE at Acme is:
The mission of the center of excellence for Service-Oriented Architecture at Acme, Inc., is to adopt, promote, and sustain the development and usage of the right standards, practices, technology, infrastructure, and knowledge in the field of SOA and thereby play a key role in the business process transformation of our organization. The COE will work closely with the business to create a highly agile IT organization, which in turn will help Acme create new products and services for the markets quickly, serve its customers better, and collaborate better with its suppliers and partners.
An organization is a group of people with a common motive. In it, people are asked to carry out certain goals on behalf of its investors (management), and they're provided with resources and funds to accomplish these goals. A formal structure for the organization provides the framework in which the organization operates and carries out its goals. A formal structure also promotes division of responsibilities and efficient planning and allocation of activities. This section describes the aspects of forming and running a COE organization for Acme.
Figure 6 depicts various departments within Acme and demonstrates that each department has an IT team to focus on its IT requirements. To have a successful SOA transformation, the SOA COE sphere of influence needs to span the various departments. As newly designed business processes begin to be rendered through orchestrating services spanning departmental boundaries, the importance of the SOA COE function becomes apparent.
Figure 6. Acme: sphere of influence -- SOA COE
A technical COE, with key business and technical management representatives from various departments, developers, and IT architects, is well positioned to overcome political and cultural barriers to success at Acme. The COE must leverage the right departments, people, technology, standards, and practices to gain visibility. A chief technology officer (CTO) and a business executive aligned as leaders to oversee the operations of the COE indicates a high level of commitment and executive sponsorship. The COE should be staffed with dedicated full-time IT architects to actively participate in IT initiatives as COE representatives. Acme will use outside experts and consultants for the initial projects. By including consulting IT architects from product and service vendors in the COE for the duration of the engagements, Acme gets the additional benefit of expert knowledge and expertise. IBM Global Services has various offerings in this regard.
The organizational structure for Acme's SOA COE is shown in Figure 7.
Figure 7. SOA COE organizational structure for Acme
The CTO, along with a business executive, oversees the activities of the COE, and they provide updates to the CIO. The COE has both business and technical representation from the CRM, product maintenance, supply chain, and sales and marketing departments. The COE is also staffed with full-time IT architects who are knowledgeable and experienced in areas such as:
- Enterprise architecture
- Risk and compliance management
- Quality management
- Infrastructure and application performance
Representatives from external consulting firms and infrastructure management team members round out the team.
Several IT consulting companies also have their own internal architecture COE to establish and pursue best practices, standards, and latest technical developments. In such cases, the organizational structure is comprised of IT architects, senior IT architects, HR managers, assistants, and resource deployment coordinators. Resources, while staffed on client engagements, continue to expand their knowledge about solution requirements and technology issues.
A sufficient initial investment and a commitment for future funding based on business-value generation are critical to start and nourish a strong COE. Aligning the various departments and existing setup towards an SOA requires the creation of credibility in early engagements. This helps enforce progressively complex decisions across various IT teams during the evolution of SOA within the organization.
After SOA initiatives are under way, it's important to collect, maintain, analyze, and present metrics that indicate advantages derived from SOA and approaches adopted by the COE. The company will realize more advantages from reuse after several services are operational. Then Acme can analyse and demonstrate the time to market and IT support readiness for new products in terms of time-saving metrics. Demonstrating value generated due to COE activities should make it easy for future funding requirements. Over time, if cultural and political barriers to the adoption of SOA have diminished as a result of the efforts and visibility of the COE, Acme will be in a better position for additional governance powers for the COE.
After the Acme SOA COE is set up and operational, it engages in the following activities.
A roadmap is a list of initiatives organized in terms of relative importance, sequence, and time lines. To be effective, the roadmap should:
- Communicate long-term IT plans (3 to 5 years).
- Link IT transformation to business initiatives.
- Clarify important milestones.
In the case of Acme, the COE should:
- Launch an effort to get together the various departments.
- Assess the current environment, business, and IT pain points.
- Create a summary assessment of current versus desired future state IT capabilities.
- Assess gaps and make key SOA observations and recommendations for each domain of operation.
The COE should launch efforts to develop an enterprise architecture for Acme. An enterprise architecture comprises models or blueprints to define the organization's current environment, target environment, or both. If an enterprise architecture is already defined, then the COE should review it for refinements. A list of projects that will incrementally advance the transformation of the organization should be drawn up. The projects should be analyzed further for interdependencies, time frames, and relative complexities that can help with funding decisions. The COE should plan for resulting organizational changes and include the activities thereof as a part of the transformation roadmap.
A good communication and information dissemination mechanism is critical to gaining visibility within the organization. The Acme SOA COE sets up a wiki for communication with company associates. The COE uses this wiki to publish guidelines, best practices, methods and information, and progress of the initiatives on this forum. The COE provides frequent updates to business executives about the progress of initiatives. The COE uses the company's intranet to showcase key accomplishments and value delivered by initiatives. It also uses a webcast and organizes specific events to broadcast information about key topics. The COE organizes learning- and knowledge accumulation-related activities for team members. (See the Knowledge- and learning-related activities section for more information about this.)
The COE provides standards and guidelines for each stage of an SOA project. One way to do this is to create an outline of standard work products that must be produced in some of the stages, such as for functional and nonfunctional requirements, design tools, and approach and best practices. These standard outlines and guidance are used by all teams engaged in related activities. A quality review mechanism during and at the end of milestones ensures adherence to norms and guidelines. Acme uses the collaboration forum described in the Set up a communication and information dissemination mechanism section for disseminating this information.
The COE evaluates, selects, and mandates vendor products, standards, and best practice architecture aligned with the functional and nonfunctional scope and needs of the organization. Where needed, the COE creates a reference model or architecture to help drive architecture decisions, promoting the long-term technology strategy and needs for Acme.
Both knowledge assets and technical assets—such as requirements and business rules documents, design artifacts, and technical code—are created during transformation activities. These assets exist in the form of architecture outputs at both an application level and higher operational levels, which depict views of the systems and collaborations, such as architecture overview, system architecture models, service models, detailed service specifications, and architecture decisions documents. As far as the services are concerned, the COE needs to capture in a succinct form both the metadata about the services and how they trace to aspects of business functionalities, and use this as a single reference point. This promotes control over proliferation of services and helps people understand the impact of changing a service. IBM Rational Asset Manager provides a repository and approach for storage and reuse of architectural deliverables, application (UML) models, and other service assets. IBM WebSphere Service Registry and Repository provides enterprise-wide services publish and find capability. Consider a hypothetical case of how this plays a role in effective governance and decision making. One of the services created at Acme is designed to get information about customers. The service provides basic information about customers for use across several departments. At some point, the sales and marketing and the product management teams will want this service to be expanded to provide additional analytics information about customers, such as buying patterns, buying history over the last few years, buying volumes, and amount of money spent with Acme with historical data. However, doing so would dramatically expand the message payload of the service, thereby possibly impacting its performance profile. By knowing which departments in Acme would be impacted by this change and what the impact of such a change is, the COE helps arrive at appropriate architecture decisions. (See Resources for links to additional information on Rational Asset Manager and WebSphere Service Registry and Repository solutions.)
The COE conducts frequent meetings and workshops to disseminate knowledge and further learning activities among team members. The COE uses town hall style meetings once per quarter to share information about SOA initiatives and progress to the larger business and IT community. Smaller meetings focus on case studies, lessons learned, and current information. The COE also works with vendors to organize at least one presentation every month on topics of interest. This forum helps key members of the COE gain visibility as having the requisite knowledge and expertise to make the right choices for Acme. Here's an example schedule for such a forum:
- January: Enterprise architecture considerations for business and IT alignment
- February: Business architecture — Acme
- March: Business requirements gathering and services modeling considerations for Acme
- April: Business modeling for Acme business applications
- May: Role of WebSphere Service Registry and Repository in modern organizations
- June: Web services best practices
- July: Infrastructure considerations for good SOA
- August: Role of an effective software platform for SOA
- September: Leveraging collaborations for growth through SOA
- October: Leveraging legacy assets — perspectives at Acme
- November: Role of ESB as an underpinning for effective SOA
- December: Asset reuse at Acme — approach and effectiveness
The COE chooses a mix of topics of both business and IT community interest to maximize audience interest, participation, and collaboration.
Similarly, the COE can help organization members understand the resource skill levels of Acme with respect to SOA transformation requirements. It can work with vendors and appropriate consulting companies to work out a training curriculum and schedule.
The COE shares its architect resources on key projects at Acme and in this manner acts as a catalyst to promote competencies and best practices. Architects on various projects thereby become increasingly proficient in areas by both preaching and performing SOA.
The COE performs reviews of architecture design documents to ensure alignment with guidelines and quality outcome. Completion of an architecture review as a milestone during the service application life cycle is a touch point for enforcing governance.
Apart from the above, the COE reviews additional activities from time to time to bring in additional values and benefits of its role. Using and partnering with outside experts, consultants, and vendors during early-stage initiatives will help jump-start and sustain various initiatives. For example, as mentioned and referenced earlier in the article, IBM Software Group has several relevant software tools and solutions. IBM Global Services also has specific offerings targeted at SOA. (See Resources for a link to IBM's SOA Web site, which has several links and information about this.)
Organizations come in a range of sizes and cultural makeup. A COE approach that works for a small company (a few hundred IT employees and 3 to 4 subteams) may work in a different manner for a large organization (thousands of IT employees and 10 to 15 subteams dispersed across geographies). However, the basic premise for needing an organization mechanism to choose the right technology, standards, best practices, and collaborative decision making is a common thread across organizations. Some people consider the COE to be a large company need to control diverse and decentralized teams across technology domains. While this is one of the strong reasons for needing a COE, smaller organizations can also benefit from the rigor, discipline, and purpose introduced by having a COE to drive collaborative decisions for key business initiatives.
Some organizations in which technologies have evolved over the last few decades might have COEs for various technologies and activities, such as a COE for mainframe-based activities, a COE for testing activities, a COE for information management, a COE for enterprise architecture, and others. The Acme COE also sets up an architecture review board as an arbiter for contentious issues. In such cases, the overall COE approach is a federation of competencies. A new COE for SOA in such organizations needs to work with the other centers effectively. More bureaucracy has a tendency to stifle creativity and slow operations, and it's easy to lose track of the original intent of the COE's formation in the heat of organizational politics and differences of opinion. The sponsoring authority needs to carefully position the mission and governance level of the new body and ensure that effective communication is carried out frequently in this regard. The COE should solicit feedback from the community and incorporate suggestions for improvements in the areas of collaboration and communication.
This article provided insights on why an SOA COE is needed for organizations considering or in the midst of major business transformation initiatives that span departments. You looked at the various types of COEs to provide considerations on the nature and scope of COE operations that need to be adopted for a given situation. You saw how to approach the task of setting up and making the SOA COE in a methodical manner. The article described the mission statement and an organization to execute the mission statement along with sample activities to describe the scope and role of the COE. Finally, the article considered additional factors about the size of organizations.
I acknowledge and thank my immediate colleagues, Chak Pang, Lener Pacania, and Ramesh Soundappan, for reviewing this article and providing their input. I thank Sunil Dube for his review and input. Thanks also to Patrick Flanders and Ashleigh Brothers for their reviews and suggestions. I especially acknowledge and thank David King for his detailed review of the manuscript.
- Get more information about the IBM SOA
- Learn more about IBM WebSphere
Service Registry and Repository and IBM WebSphere
- Get more information about IBM Rational Asset
Manager and IBM
Rational Method Composer.
- Read about how
drives better business results.
- Read the article
"SOA Quality Management in SOA Service Lifecycle
Management" (developerWorks, Mar 2007).
- Read about
sustaining the benefits of SOA through effective governance.
- Read "SOA run-time governance with
WebSphere Service Registry and Repository and AmberPoint"
(developerWorks, Jan 2008).
- Read "Exploring the Enterprise Service
Bus, Part 1: Discover how an ESB can help you meet the requirements for
your SOA solution" (developerWorks, Apr 2007) for a description of how an ESB can meet
your SOA needs and a description of SOA reference architectures and service
- The SOA and Web services zone on IBM developerWorks hosts hundreds of informative articles and introductory, intermediate, and advanced tutorials on how to develop Web services
- Play in the IBM SOA Sandbox! Increase your SOA skills through practical, hands-on experience with the IBM SOA entry points.
- The IBM SOA Web site offers an overview of SOA and how IBM can help you get there.
- Stay current with developerWorks technical events and webcasts.
- Browse for books on these and other technical topics at the
- Check out a quick Web services on demand demo.
Get products and technologies
- Download a trial
version of Rational Asset Manager.
- Download a trial
version of Rational Method Composer.
- Innovate your next development project with
IBM trial software, available for download or on DVD.
- Participate in the discussion forum.
- Get involved in the developerWorks community
by participating in developerWorks blogs.
Ravi Subramaniam is a software IT architect with IBM's Sales and Distribution Division for the Central Region Great Lakes team. He works with customers on technical solution design, technical strategy planning, and enterprise architecture. He has over 20 years of experience in the IT industry across diverse industries and roles in disciplines such as IT architecture, systems development and strategic technology planning, customer support, and as a product manager. During his career he has also designed and developed imaging software, device drivers, and communications software.