Knowledge-Based Performance Management Framework
THESIS
Presented in Partial Fulfillment of the Requirements for the Degree Master of Science in
the Graduate School of The Ohio State University
By
Roshni Datta
Graduate Program in Computer Science and Engineering
The Ohio State University
2011
Master's Examination Committee:
Rajiv Ramnath, Advisor
Jay Ramanathan
Copyright by
Roshni Datta
2011
Abstract
Today‟s business environments are highly complex and more prone to change than ever.
With the ever-changing dynamics both within and outside an enterprise, organizations find it difficult to extract the macroscopic view of the organization‟s performance from a repository of customer requests and relevant workflow data and take actions. In this thesis we 1) develop a business-IT ontology and framework to interpret data for pro-active decision making and 2) use the framework as the basis for a performance dashboard tool.
By using agent – based modeling, the tool allows the user to make processing decisions not only based on analysis of individual customer requests but also the relative importance of each request with respect to other requests and the business context. The implemented
"Performance Dashboard” displays metrics that set off alarms when actions and results are not aligned with strategy. This empowers individuals through providing visibility that transforms data into useful information.
ii
Dedication
This document is dedicated to my family, friends and my dear Radha-Natabara Temple.
iii
Acknowledgments
I sincerely thank my professors, Dr. Jay Ramanathan and Dr. Rajiv Ramnath for guiding me throughout this research. I also thank my friends in the CETI (Centre for Enterprise
Transformation and Innovation) group for all their help and cooperation.
iv
Vita
2002 ...... Auxilium Convent.
2002 to 2006 ...... B.Tech, CSE, West Bengal University of
Technology, India
2006-2008 ...... Technical Associate, Tech Mahindra Ltd
2008 to 2010 ...... Graduate Teaching Associate, First Year
Engineering Program, The Ohio State
University
Fields of Study
Major Field: Computer Science and Engineering
v
Table of Contents
Abstract ...... ii
Table of Contents ...... vi
List of Tables...... x
List of Figures ...... xi
Chapter 1: Introduction ...... 1
Chapter 2: Terminology & Business Problem ...... 5
2.1 Terminology...... 5
2.2 Problem Context ...... 10
2.3 Business Problem ...... 10
Chapter 3: Problem Statement ...... 12
Chapter 4: Background ...... 14
4.1 Overview ...... 14
4.2 Best Practices ...... 15
vi
4.2.1 Enterprise Architecture ...... 15
4.2.2 ITIL ...... 20
4.2.3 Existing best practices ...... 23
4.2.4 Limitations of existing best practices ...... 24
4.3 Related Research ...... 26
4.3.1 ACE Model...... 26
4.3.2 IDEF ...... 31
4.3.2 BSC ...... 32
4.3.3 Decision support system ...... 33
4.3.4 Study of existing Performance Management Tools...... 37
4.3.5 Limitations of existing Performance Management Tools ...... 40
4.3.6 Software Modeling - Agent Based and System Dynamics ...... 41
4.3.6 Simulation Model using Anylogic ...... 42
4.3.7 Importance Performance Matrix ...... 44
Chapter 5: Case Study – ODJFS, Problem Analysis ...... 48
5.1 Case Study - ODJFS ...... 48
5.1.1 Problems ...... 51
5.1.2 Sample CSR Data ...... 51
vii
5.1.3 Initial Inference...... 53
5.2 Problem Analysis ...... 53
Chapter 6: Research and Solution ...... 54
6.1 Research Framework ...... 54
6.2 Research Process Flow ...... 59
6.3 Ontology Based Categorization of Customer Data and Operational Processing..... 60
6.3.1 Data Collection Steps ...... 63
6.3.2 Ontology-based Categorization of Customer Data and Operational Processing
...... 63
6.4 Alignment of Categorized CSR to Business ...... 65
6.4.1 ACE and the Balanced Score Card ...... 65
6.4.2 High Level Business Goals ...... 66
6.4.3 Performance Measures based on ACE ...... 67
6.4.4 Behaviors and Rules ...... 68
6.4.5 Business Goals and Alignment ...... 69
6.5 Cognitive Rule Based Software for Decision Making ...... 70
6.5.1 Agent based Modeling Architecture...... 70
6.6 Threefold Performance Management Framework ...... 73
6.6.1 VISUALIZE ...... 73 viii
6.6.2 ANALYZE ...... 76
6.6.3 DECIDE ...... 77
Chapter 7: Inference ...... 82
7.1 Conclusion ...... 82
7.2 Future Work ...... 83
Chapter 8: References ...... 84
Chapter 9: Appendix ...... 89
ix
List of Tables
Table 1 - Limitations of existing frameworks and best practices ...... 25
Table 2 – Table showing sample CSR data...... 52
Table 3 – Example of CSR Layering...... 57
Table 4 – Table showing Interviewee mapping ...... 63
Table 5 – Table of ACE mapping and constraints ...... 64
Table 6 – Performance Measures table ...... 67
Table 7 – Cognitive Traits and Business Goals Mapping ...... 70
Table 8 – Performance Questions ...... 76
Table 9 – Mapping of Questions, Cognitive Traits and Goals ...... 78
Table 10 – Comparison of 2 CSR Types ...... 80
x
List of Figures
Figure 1 – RED Framework [7] ...... 28
Figure 2 – Generic RED Transaction [7] ...... 30
Figure 3 – Balanced Score Card ...... 32
Figure 4 – Importance – Performance Matrix ...... 44
Figure 5 – ODJFS Organization Structure, OLD and NEW ...... 49
Figure 6 – Research Framework ...... 55
Figure 7- Research Process Flow ...... 59
Figure 8 – IDEF and the BIOS perspective ...... 61
Figure 9 (a) and (b) ACE Ontology and IDEF Metamodel...... 62
Figure 10 – ACE and BSC Mapping ...... 66
Figure 11 – Agent Based Model ...... 70
Figure 12- Class Model ...... 73
Figure 13 – Visualization snapshot ...... 74
Figure 14 – Analysis Snapshot ...... 77
Figure 15 (a) and (b) – Decision making visual snapshot before and after ...... 79
Figure 16 – Performance Management Framework...... 82
Figure 17 – Overview of the underlying code flow ...... 90
xi
Chapter 1: Introduction
“A Performance Dashboard is key to instilling a performance culture of accountability and sound governance with enhanced and efficient decision-making”. (Journal of Performance
Management, Hanselman Orlando, 2009) [20]. As helpful as a picture is in immediately drawing attention to a component that raises concern, it is also equally important to collect valuable knowledge from information staggered in various databases and departments within an organization. To be able to apply this knowledge into a dashboard can achieve dramatic results in predicting the future view or an organization, thus helping in maintain focus and facilitate decision making. Keeping in mind today‟s ever increasing and changing customer needs, it is has become necessary to have instant access to relevant data, generate knowledge and plan ahead for the future to effectively be able to respond to the customer needs. According to Bolloju, Khalifa & Turban, 2002, the knowledge acquisition, storage and distribution activities in knowledge management enable the dynamic creation and maintenance of decision models, in this way, enhancing the decision support process. They also state that in the process of decision-making, decision makers combine different types of data (e.g., internal data and external data) and knowledge (both tacit knowledge and explicit knowledge) available in various forms in the organization. 1
The decision-making process itself results in improved understanding of the problem and the process, and generates new knowledge. In other words, the decision-making and knowledge creation processes are interdependent.
This thesis presents a performance management framework that provides a dashboard for instant visualization, on the spot cause analysis and data-backed decision making facility.
The thesis guides the reader through the development of a conceptual framework for decision making and eventually implementing the same as a customizable software tool based on the characterization of an enterprise as an „Adaptive Complex Enterprise‟(ACE) as well as the Balanced Score Card (BSC) paradigm. The ACE framework addresses existing limitations by considering all the dimensions in an enterprise, namely Business,
Infrastructure, Operations, and Strategy stakeholders. This framework introduces a
Requirements-Execution-Delivery (RED) model to characterize the transactions in an ACE.
The BSC is a strategic planning and management concept that is primarily and extensively used to align business processes to the overall vision and strategy of the organization, improve internal and external communications and monitor organization performance with respect to the business goals.
The contributions of this thesis are divided into three phases. The first phase of contribution is the development of a methodology that creates the base for a performance management framework. This includes the following:
2
1) An ontology-based categorization of 1600 processes plus CSRs into a fixed set of types
based on the ITIL and ACE services ontology.
2) Identification of constraints and visualization CSR interactions by laying out the IDEF
Metamodel which is the basis for the ACE model.
3) Usage of the Adaptive Complex Architecture lens to divide the interactions within the
organization into 4 primary layers namely Business, Operations, Infrastructure and
Strategy.
The second phase deals with the alignment of the categorized CSR information with the
overall vision of the organization. This phase included the following:
1) Alignment of the high-level organizational goals with the metrics of the CSR attributes
utilizing the Balanced Score Card (BSC).
2) Data collection through questionnaire sessions across various levels in the organization
utilizing the complete ontology that resulted from the amalgamation of the BSC
perspective and the ACE perspective.
3) Extraction of metrics for collecting relevant information and abstracted traits to determine
business measures to enable cognitive decision making.
The third phase of contribution is the development of the ACE REAL-TIME
MONITORING TOOL. It includes the following:
1) Development of cognitive rule-based software for decision making.
2) Performance visualization of the various CSR categories.
3) Development of analysis framework for historical data access.
3
4) Dynamic prediction of organizational performance by affecting the parameters that
contribute to the behavior.
4
Chapter 2: Terminology & Business Problem
2.1 Terminology
Enterprise:
An industrious undertaking created for business ventures which have several departments.
Enterprise Architecture:
Enterprise architecture (EA) refers to the structure of an enterprise, its breakdown into subsystems, the relationships between the subsystems, the relationships with the external environment, the terminology to use, and the guiding principles for the design and improvement of an enterprise. An enterprise architecture provides a holistic, systematic description of an enterprise. It encompasses business functions, business process, people, enterprise, business information, software applications and computer systems with their relationships to enterprise goals. The intent of enterprise architecture is that by applying systematic rational methods to the design of an enterprise, the resulting enterprise will be more productive and pursue its purposes effectively and efficiently.
5
Organization
An organization is an arrangement which pursues preset goals, controls its own
performance, and has a boundary separating it from its environment which acts as the
interface to the outside world.
Organizational Performance:
Organizational performance refers to the actual output or results of an organization as
measured against its intended goals, objectives and overall mission.
Ontology:
Ontology is a term that is used to refer to the shared understanding of some domain of
interest which is used to reduce or eliminate conceptual and terminological confusion and
come to a shared understanding. Such an understanding can function as a unifying
framework for the different viewpoints and serve as the basis for
1. Communication between people or different departments within an organization with
varying needs and viewpoints arising from differing contexts.
2. Inter Operability among systems by unifying or aligning the varying viewpoints or
contexts.
3. System Engineering benefits like reusability, reliability and traceability.
CSR:
CSR is the abbreviation for Customer Service Request. The CSRs are requirements that
originate from multiple customer departments. The CSRs act like the interface to the 6
outside world. As the impact of the CSR is understood, individuals with specific skills are then assigned to the roles of the process to perform activities that research, use, create, review, and deploy the artifacts for the system enhancements. CSRs can be routine or non routine. Routine CSRs constitute tasks that are of mundane nature and the knowledge to respond to them is readily available and for the most part follows a standard process. Non
Routine CSRs are those that are different in nature from the usual, their occurrence is lower than the routine CSRs and the knowledge to respond to them requires innovation, additional effort and intelligent information.
The CSR typically starts a Life-Cycle Management (LCM) process to ensure that 1) functional and non-functional requirements are identified, 2) implementation tasks are executed, and 3) deployment is assured with respect to the approved plans and monitored for completion and customer satisfaction. Finally, the stakeholders must be satisfied that processes are effective and are providing value. The CSRs then are termed closed or completed.
Metric:
A business metric is a composition of any type of CSR-based measurement used to gauge some quantifiable component of a company's performance, such as return on investment
(ROI), Span time etc.
Performance Management or Business performance management (BPM):
Performance Management or Business performance management (BPM) is a set of management and analytic processes that allow the performance of an organization to be managed with a view to achieving one or more pre-selected goals. 7
Decision making:
Decision making can be regarded as the cognitive process resulting in the selection of a course of action among several alternatives.
Information:
Information refers to general data expressed by numbers, words, images, sounds and so on.
This data can be detailed or outlined. The observed outcome of a scientific experiment, for example, is data that has not being detailed. A report that explains the findings of such experiment, on the other hand, is detailed data.
Knowledge:
Knowledge refers to the practical use of information. While information can be transferred, stored or shared, the same is not applicable to knowledge. Knowledge necessarily involves a personal experience. In case of a scientific experiment, a third person reading the results will have information about it, while the person who conducted the experiment personally will have knowledge about it.
Knowledge Vs Information:
8
Knowledge is information that has been studied, learned, understood and is able to be retained while information is the data, facts, and graphs presented to us. Knowledge can be gained without information in cases where trial and error is available, but information allows us to have a wide variety of knowledge on various subjects and matters of life. It is easy to read information and benefit from it but not in all cases can one can retain the knowledge from the same information or even extract the same knowledge from the same given information. Hence, knowledge is information that has been understood and accepted as a part of one‟s own reasoning process. [42]
Strategic Advantage:
With respect to government organizations like our case study example (ODJFS – Ohio
Department of Job and Family Services), strategic advantage refers to the ability to cope up to the pressure of shrinking revenue and meeting increasing expectation by constantly performing adding or maintain value of the services they deliver.
Cognitive Trait
Cognitive traits in the context of this thesis refers to the intelligent features that an object exhibits which combined together collectively gives rise to certain behavior. These cognitive traits may not be apparent on the surface but by conversion of the apparent into
9
something more meaningful, often important traits can be determined from which valuable knowledge can then be mined.
2.2 Problem Context
As a part of this thesis we do a case study on a shared services government organization –
ODJFS (Ohio Department of Job and Family Services). By virtue of being a large shared
services state organization, with recent organizational restructuring, the complexity of
this organization has increased over time and is currently faced with multiple challenges.
This thesis has studied the problem and delivered solutions that they can utilize for
business process improvement. We have also delivered a software solution called the
ACE REAL-TIME MONITORING TOOL for efficient performance management for
which an underlying performance management framework has also been developed. We
now introduce the generalized business problem faced by many such shared-service
organizations.
2.3 Business Problem
In today‟s complex organizations it has become more important than ever to tap data in an efficient manner and use that information to create knowledge which can then be used in an apt manner whenever required. Relevant data collection and converting it to useful 10
information is the key to deriving knowledge and understanding organizational performance. Analysis of this information is equally important which can be supported by maintenance of historical data and application of functional knowledge on it to derive cognitive links to the organization‟s performance. Presentation of such derived knowledge in an easy and effective manner helps focus on emerging concerns proactively. By virtue of visual superiority, it is immensely helpful to have a visual performance dashboard in place to capture the big picture instantly without having to put in much time and effort to extract such a picture. A dynamic dashboard which enables root cause analysis and responds to decisions to bring about a visualization change in organization performance is a helpful tool to facilitate and support knowledge-based decision making.
In this thesis we provide analysis methods and tools to effectively interpret performance related data for easier decision making. We also implement a software tool called the ACE
REAL-TIME MONITORING TOOL which makes it possible to visualize current organizational performance and also predict the future performance; this software is a key component of the performance management framework that we are about to present in this thesis.
11
Chapter 3: Problem Statement
The business problem statement is specified to be relevant to the case study this thesis
researches as well as keeping in mind the general concerns for a complex organization with
focus on shared services delivery. A shared service refers to the allocation of a service by
one part of an organization where that service had previously been delivered, to more than
one part of the organization. Therefore, typically the resourcing and funding of the service
is now shared and the providing department effectively becomes an internal service
provider. The key is the idea of 'sharing' within an organization or group [27]. The case
study, described in the later sections deals with the complexities within such an
organization. The business problems that this thesis provides a solution to are the
following:
1. Today‟s organizations are seeing an increasing complexity of aligning resources and
responsibilities with business objectives, as organizations consolidate into shared services.
2. Organizations experience difficulty in capturing relevant low-level metrics and designing
rules that convert these metrics into actionable components. Low level metrics are easy to
capture, but capturing the right type of metrics and making sense of it into actions requires
12
a process based on standard and reliable framework(s) that will help transform the captured
data into relevant information from which knowledge mining can be done.
3. Empowering individuals and teams to visualize the connection between the resulting
behaviors and their contributing parameters which eventually give rise to organizational
performance and foster motivation is not a standardized process in many places.
4. The process of concluding clear actions based on the organization‟s behavior exhibit and
prediction of future performance by analyzing historical data is not put in place due to lack
of a organization-specific performance management framework. Absence of such a
framework can lead to endless discussions and brainstorming sessions to arrive at a quick,
easy and data-backed decision to address emerging concerns.
13
Chapter 4: Background
4.1 Overview
This section discusses the concepts that forms the background for the work presented in this thesis. With respect to the business problem statement, this chapter gives an overview of the best practices followed widely in this area and also presents the related research done to motivate and validate the case study that will be dealt with in the later chapters of this report. Section 4.2 looks at the various best practices that exist currently for achieving improved results in enterprise architecture and maintain continuous improvement in complex enterprises. Section 4.2.1 looks into the enterprise architecture that gives a bird‟s eye view of the organization and talks about goals, means of achieving them and the infrastructure required for carrying out these operations. Section 4.2.2 discusses concepts and policies for managing information technology infrastructure, development and operations. Once these broad best practices at the organizational level are taken into consideration, Section 4.2.3 summarizes some other best practices that help achieve the basis for scope of improvement within an organization and its processes. After discussing
14
the benefits of these widely accepted and reliable best practices, this section concludes with a summary of the limitations of these existing frameworks and best practices which also provides the motivation for the following research work.
4.2 Best Practices
This section outlines some of the widely accepted best practices that affect the enterprise architecture as a whole, the operating business processes and the services that an organization delivers. An organization as complex as ODJFS with numerous processes and recent organizational restructuring would benefit most from the below mentioned best practices since they address complexity, process management and infrastructure in relation to the end goals of the enterprise.
4.2.1 Enterprise Architecture
Enterprise architecture framework is a strategic information asset base, which defines the mission of the organization, the information necessary to achieve that mission or end goal, the technologies necessary to perform the tasks and the transitional processes required for implementing new technologies in response to the changing mission needs. In other words, it captures not just all the important characteristics of the IT Architecture - but all the possible kinds of relationships between Business Services, Business Processes,
Information, Applications and the Technology and Infrastructure viewpoints. [2], (pg 10) of [23].
15
Enterprise architectures are „blueprints‟ for systematically defining an enterprise‟s current
(baseline) and/or desired (target) environment. “Enterprise architecture is a coherent whole of principles, methods and models that are used in the design and realization of an enterprise‟s enterprise structure, business processes, information systems, and infrastructure.” (pg 3 of [39])
It is used to describe how different elements in an enterprise – systems, processes, enterprises, and people – work together as parts of a whole. They are essential for evolving information systems and developing new systems that optimize their mission value. This is accomplished in logical or business terms (e.g., mission, business functions, information flows, and systems environments) and technical terms (e.g., software, hardware, communications), and includes a sequencing plan for transitioning from the baseline environment to the targeted e-government environment.
Some of the advantages of having an EA are,
• It acts as to bring order and structure to the organization.
• It allows an integrated vision and a global perspective of informational resources .
• It allows the identification and elimination of redundancy in the business processes thus reducing information systems complexity
• It enables the existence of having information systems that reflect common goals and performance measures for all managers, to encourage cooperation rather than conflict, and competition within enterprises.
• It acts as a bridge between the business and technical domains
16
The EA frameworks like Zachman, The Open Group Architecture Framework (TOGAF)
and Federal Enterprise Architecture (FEA) framework are discussed in brief below. The
Zachman Framework provides a structured way for any enterprise to acquire the necessary
knowledge about itself with respect to the Enterprise Architecture. Zachman proposes a
logical structure for classifying and organizing the descriptive representations of an
enterprise, in different dimensions, and each dimension can be perceived in different
perspectives. These perspectives are represented in a two-dimensional matrix that defines
along the rows the type of stakeholders and with the columns the aspects of the
architecture. Each row represents a total view of the solution from a particular perspective.
The following descriptions of the rows are taken from the Zachman Framework [2]:
“Planner's View (Scope) - The first architectural sketch is a "bubble chart" or Venn
diagram, which depicts in gross terms the size, shape, partial relationships, and basic
purpose of the final structure. It corresponds to an executive summary for a planner or
investor who wants an overview or estimate of the scope of the system, what it would cost,
and how it would relate to the general environment in which it will operate.
Owner's View (Enterprise or Business Model) - Next are the architect's drawings that
depict the final building from the perspective of the owner, who will have to live with it in
the daily routines of business. They correspond to the enterprise (business) models, which
constitute the designs of the business and show the business entities and processes and how
they relate.
Designer's View (Information Systems Model) - The architect's plans are the translation of
the drawings into detail requirements representations from the designer's perspective. They 17
correspond to the system model designed by a systems analyst who must determine the data
elements, logical process flows, and functions that represent business entities and
processes.
Builder's View (Technology Model) - The contractor must redraw the architect's plans to
represent the builder's perspective, with sufficient detail to understand the constraints of
tools, technology, and materials. The builder's plans correspond to the technology models,
which must adapt the information systems model to the details of the programming
languages, input/output (I/O) devices or other required supporting technology.
Subcontractor View (Detailed Specifications) - Subcontractors work from shop plans that
specify the details of parts or subsections. These correspond to the detailed specifications
that are given to programmers who code individual modules without being concerned with
the overall context or structure of the system. Alternatively, they could represent the
detailed requirements for various commercial-off-the-shelf (COTS) or components of
modular systems software being procured and implemented rather that built.
Actual System View or The Functioning Enterprise
Each perspective focuses attention on the same fundamental questions, then answers those
questions from that viewpoint, creating different descriptive representations (i.e., models),
which translate from higher to lower perspectives. ” (pg 13-14 of [27])
“The 6 categories of enterprise architecture components, and the underlying interrogatives
that they answer, form the columns of the Zachman Framework and these are [3]:
The data description — What
18
The function description — How
The Network description — Where
The people description — Who
The time description — When
The motivation description — Why” (pg15 of [27])
In our case study at ODJFS, the What, How, Who, When and Why are dealt with. The data
description perspective was used at the initial level. The functional description helped us
convert the information into knowledge that needs to be minded. The people and time
description helps us in mapping the ACE dimension to the performance measure and the
motivation description helps us in alignment the organization with the business goals.
The Open Group Architecture Framework - “TOGAF divides the enterprise
architecture into four categories – Business, Application, Data and Technical Architecture.
It is more of an architectural process than a framework. The most important part of
TOGAF is the Architecture Development Method which is a process for creating
architecture. Viewed as a process, TOGAF complements the Zachman framework.
Zachman tells you us to categorize artifacts, TOGAF gives us a process for creating them.
TOGAF views the world of enterprise architecture as a continuum of architectures, ranging
from highly generic to highly specific. It views the process of creating specific enterprise
architecture as moving from generic to the specific. (pg 15 of [27]),[4]
19
4.2.2 ITIL
“Gartner is an enterprise architecture practice that describes architecture as a verb and not a noun. This means that architecture is an on-going process of creating, maintaining and especially leveraging, an enterprise architecture that gives an enterprise architecture its vitality. An architecture that is just a bunch of stiff artifacts that site together in a corner gathering dust is useless, regardless of how sophisticated your taxonomy is for categorizing those artifacts or how brilliant your process is that guided their development.
Gartner believes that enterprise architecture is about bringing together three constituents: the business owners, the information specialists and the technology implementers. If you succeed in bringing together these three groups and unify them behind a common vision that drives business value, then you have succeeded. If not, you have failed. Success is measured in pragmatic terms, such as driving profitability, not by checking off items on a process matrix. The two things that are most important to Gartner are where an enterprise is going and how it will get there. Any architectural activity that is extraneous to these questions is irrelevant. Gartner does not have a firm step-by-step process and depends on the Gartner consultant‟s expertise as well as the enterprise. The consultant does not see his role as creating an enterprise architecture but helping the enterprise institute a process for allowing an enterprise architecture to emerge and evolve from the business strategy. [4]
The Information Technology Infrastructure Library (ITIL) is a set of concepts and policies for managing information technology (IT) infrastructure, development and operations. ITIL is published in a series of books, each of which covers an IT management topic. 20
ITIL v3, published in May 2007, comprises five key volumes:
Service Strategy: Service strategy is shown at the core of the ITIL v3.1 lifecycle but cannot
exist in isolation to the other parts of the IT structure. It encompasses a framework to build
best practice in developing a long term service strategy. It covers many topics including:
general strategy, competition and market space, service provider types, service
management as a strategic asset, enterprise design and development, key process activities,
financial management, service portfolio management, demand management, and key roles
and responsibilities of staff engaging in service strategy.
Service Design: The design of IT services conforming to best practice, and including
design of architecture, processes, policies, documentation, and allowing for future business
requirements. This also encompasses topics such as Service Design Package (SDP),
service catalog management, service level management, designing for capacity
management, IT service continuity, Information Security, supplier management, and key
roles and responsibilities for staff engaging in service design.
Service Transition: Service transition relates to the delivery of services required by the
business into live/operational use, and often encompasses the "project" side of IT rather
than "BAU" (Business As Usual). This area also covers topics such as managing changes
to the "BAU" environment. Topics include Service Asset and Configuration Management,
Transition Planning and Support, Release and deployment management, Change
Management, Knowledge Management, as well as the key roles of staff engaging in Service
Transition.
21
Service Operation: Best practice for achieving the delivery of agreed levels of services
both to end-users and the customers (where "customers" refer to those individuals who pay
for the service and negotiate the SLAs). Service Operations is the part of the lifecycle
where the services and value is actually directly delivered. Also the monitoring of problems
and balance between service reliability and cost etc are considered. Topics include
balancing conflicting goals (e.g. reliability v cost etc), Event management, incident
management, problem management, request fulfillment, asset management, service desk,
technical and application management, as well as key roles and responsibilities for staff
engaging in Service Operation.
Continual Service Improvement (CSI): The goal of Continual Service Improvement is to
align and realign IT Services to changing business needs by identifying and implementing
improvements to the IT services that support the Business Processes. The perspective of
CSI on improvement is the business perspective of service quality, even though CSI aims to
improve process effectiveness, efficiency and cost effectiveness of the IT processes through
the whole lifecycle. In order to manage improvement, CSI should clearly define what
should be controlled and measured.[13]
ITIL uses a configuration management database (CMDB) which represents the authorized
configuration of the significant components of the IT environment. Although repositories
similar to CMDBs have been used by IT departments for many years, the term CMDB
stems from ITIL. The CMDB is a fundamental component of the ITIL framework's
Configuration Management process. A key goal of a CMDB is to help an enterprise
22
understand the relationships between these components and track their configuration.” (pg
29) of [27]
4.2.3 Existing best practices
The existing EA frameworks and methodologies are in some ways similar but in some
ways different from each other and are complementary. Any one particular methodology
does not address all the issues needed for business-IT alignment. Each one has its strengths
and weaknesses. There are various criteria that can be useful in evaluating and comparing
the EA frameworks and architecture practice. “Some of these criteria are discussed below
and the evaluation on the basis of these criteria is in the following table.
Taxonomy completeness: This refers to how well you can use the methodology to classify
the various architectural artifacts. This is almost the entire focus of Zachman. None of the
other methodologies focus as much on this area.
Process completeness: This refers to how fully the methodology guides you through a step-
by-step process for creating an enterprise architecture. This is almost the entire focus of
TOGAF with its architectural design methodology.
Reference model guidance: This refers to how useful the methodology is in helping you
build a relevant set of reference models. This is almost the entire focus of FEA.
23
Practice guidance: This refers to how much the methodology helps you assimilate the
mindset of enterprise architecture into your enterprise and develop a culture in which it is
valued and used.
Maturity model: This refers to how much guidance the methodology gives you in assessing
the effectiveness and maturity of different enterprises within your enterprise in using the
enterprise architecture.
Business focus: This refers to whether the methodology will focus on using technology to
drive business value, in which value is specifically defined as either reduced expenses
and/or increased income. [4]
Specificity of ontology: This refers to the degree of fine grained level of abstraction to
which the methodology can give a fine grained level of abstraction in the ontology. None
of the existing frameworks focus on this area.
ITIL has its own limitations. It provides best practice guidelines as it is focused on installed
infrastructure alone.” (pg 20 of [27]).
4.2.4 Limitations of existing best practices
“As the table above illustrates, there is inadequate focus on business in most of the
frameworks, only Gartner brings the business focus in the picture.
The frameworks do not address the need for a representation of the enterprise itself even
before we can talk about improvement of the enterprise.
24
While there is emphasis is on „what‟ needs to be done in the form of best practices and guidelines, there are inadequate details on „how‟ to achieve this and where exactly to start from.
There is a lack of traceability from Business goals to Information use to Operations to
Strategy Stakeholders (important for prioritizing and consolidating requirements).
This limits continuous improvement and decision-making. For example, at ODJFS there were numerous CSRs which were being assigned to each bureau. Now after the reorganization into pillar structure, the traceability of these CSRs to the role sets could not be maintained hence accountability issues surfaced. Since the same process they were called differently in different bureaus, traceability is extremely important to maintain to allocate the correct role sets and the resources from the correct pillar.
Table 1 - Limitations of existing frameworks and best practices
25
The Limitations of existing frameworks and best practices can be summarized as follows:
• The focus on business in most of the frameworks is not sufficient since they do not talk
about the alignment of the organizations and its interactions and operations to the high
level goals and the process to do the same.
• They do not address the need for the representation of the entire enterprise.
• The emphasis on what needs to be the ideal case as opposed to the tracing the root cause
and arrive at resolution attempts.
• The need to align high level business goals to other components is not taken into account.
• Inherent ITIL limitations which focus on best practice guidelines on installed infrastructure
alone.
These limitations prevent continuous improvement and decision-making using existing
operational data and organizational structure.” (pg 23 of [27])
4.3 Related Research
4.3.1 ACE Model
ACE Model - Adaptive Complex Enterprise model that provides us with a lens that
focuses on dynamic variation and how customer - provider agents provide value when
they react like we will see in our ACE REAL TIME MONITORING TOOL where the
customer –provider agents react to exhibit CSR behaviors
26
It allows us to relate the agent interactions to goals that must improve though prescriptive
actions and permits improved decisions without requiring detailed modeling of the
enterprise and spans Business, Systems Engineering and IT silos of knowledge.
ACE
“The need for continuous adaptation of businesses and enterprises today has necessitated a shift from strategies that eliminate variation to those that embrace variation and changing conditions in businesses. Thus, enterprises have to move towards becoming
„Sense and Respond‟ (S-R) enterprises rather than „Make and Sell‟ ones [5]. The ACE framework is a conceptual view of the complex interactions between services provided by any collection of enterprises and systems.” (pg 27 of [27])
Why is ACE effective?
“The ACE proves effective in looking at complex shared-services because it
• Allows us to focus on dynamic variation within the organization and analyze how provider and customer agents react and provide behavior.
• Allows us to relate the agent interactions to goals that must improve though appropriate actions.
• Helps take improved decisions without requiring detailed modeling of the enterprise.
• Spans business, systems engineering and IT silos of knowledge. The technical and enterprise ACE framework complements the business case method with measurement and predictive tools for proactive leverage using IT (ACE + ITIL + TOGAF”).[6].
27
The primary response or transaction loop of the S-R business unit begins by sensing the ecosystem as shown in figure below:
Figure 1 – RED Framework [7]
The RED framework applies to our case study since we are trying to address customer service requests which are executed by resources and delivered to customers. ODJFS receives numerous CSRs and the general flow of process is to receive, execute them according to the service level agreement and deliver them.
28
“The sensing culminates in a request object (for example, an order, proposal request, or research requirements from the customer, in our case a CSR) that initiates the response processes within the business unit. The execution of the response depends on the resources of the underlying infrastructure (shown in the lower half of Figure 1) to play roles that transform inputs and finish in a deliverable object that satisfies the customer within the ecosystem. Within the business dimension, the transaction loop includes the prototypical
Requirements and planning, Execution, and Delivery (RED) steps that incrementally add value to inputs.
A business unit handles different request types (for example, product change, process change, returns, request for quote, order, corrective actions, and new requirements) from external and internal customers. Each type of request has its own primary transaction loop and RED steps. In addition to the necessary inputs, the steps also identify roles such as customer, provider, sales, and logistics that must be assigned resources for execution. Active resources (such as humans or automated software) fill RED roles and become the agents that make decisions and execute these steps under some external policies and constraints to produce outputs. The final output is called a deliverable.
When each request arrives, needed resources from the underlying infrastructure are assigned to roles to execute the RED steps. The resulting agents complete steps by applying transformations to inputs and producing outputs (a deliverable being the final output).
29
The transformation tools and inputs are considered passive resources. Every incoming request causes interactions between the RED and business information objects
(such as requests, other REDs, roles, resources, and deliverables).” [7]
Figure 2 – Generic RED Transaction [7]
During RED execution, the customer and provider roles make co-commitments and jointly agree to progress illustrated by the red arrows in Figure 2, part A) to the next step. For example, filing the return request of a laptop purchase results in a RED execution. Here the „R‟ step proposes a reimbursement plan based on warranty and defects. The proposal and the authorization by the customer form the co-commitment that causes the backoffice
„E‟ steps to replace the product. The next co-commitment is the „D‟ or delivery by the provider, and the acceptance and payment by the customer. Note the roles for RED execution can be specialized. For example, the provider role for the first step could be the
„product engineer‟, but later the provider role can be „logistics‟. In general, roles are careful characterizations of infrastructure capabilities provided by the business in order to execute and complete different types of REDs successfully. Roles can even be automated.
Finally, each step has a status—completed, executing, or to be started.” (pg 32-33 of [27])
30
4.3.2 IDEF
IDEF is a modeling method that can be used to describe operations or interactions in an enterprise. Originally developed for the manufacturing environment, IDEF has been adapted for wider use and for software development in general. IDEF modeling allows to layout the organization in a standard manner which helps draw useful insights from the laid out model. IDEF is industry as well as technology independent and have proven to be used in almost every possible context. [25]
The IDEF metamodel has been used in this thesis to cater to that organization‟s needs which we did a case study on and is based on the ACE framework the BIOS layers. It is modeled as a series of interactions which are initiated by some inputs, limited by certain constraints, operated by certain roles which enable these interactions to produce an output that in turn becomes the input for the next interaction in series.
31
4.3.2 BSC
Figure 3 – Balanced Score Card The balanced scorecard is a strategic planning and management system that is used extensively in business and industry, government, and nonprofit organizations worldwide to align business activities to the vision and strategy of the organization, improve internal and external communications, and monitor organization performance against strategic goals. It was originated by Drs. Robert Kaplan (Harvard Business School) and David
Norton as a performance measurement framework that added strategic non-financial performance measures to traditional financial metrics to give managers and executives a more 'balanced' view of organizational performance.
32
The balanced scorecard has evolved from its early use as a simple performance
measurement framework to a full strategic planning and management system. The “new”
balanced scorecard transforms an organization‟s strategic plan from an attractive but
passive document into the "marching orders" for the organization on a daily basis. It
provides a framework that not only provides performance measurements, but helps
planners identify what should be done and measured. It enables executives to truly execute
their strategies. [24]
4.3.3 Decision support system
A Decision Support System (DSS) is a class of information systems (including but not
limited to computerized systems) that support business and enterprise decision-making
activities. A properly designed DSS is an interactive software-based system intended to
help decision makers compile useful information from a combination of raw data,
documents, personal knowledge, or business models to identify and solve problems and
make decisions.
Typical information that a decision support application might gather and present are:
An inventory of all of your current information assets (including legacy and relational data
sources, cubes, data warehouses, and data marts),
Comparative sales figures between one week and the next, projected revenue figures based
on new product sales assumptions.
33
Types of DSS:
D.J. Power, enlisted the following (taken from [8]) as the different classes of Decision
support systems [8]
“Model-driven DSS
A model-driven DSS emphasizes access to and manipulation of financial,
optimization and/or simulation models. Simple quantitative models provide the most
elementary level of functionality. Model-driven DSS use limited data and parameters
provided by decision makers to aid decision makers in analyzing a situation, but in general
large data bases are not needed for model-driven DSS.
Example: Dan Bricklin and Bob Frankston co-invented the software program
VisiCalc (Visible Calculator). VisiCalc provided managers the opportunity for hands-on
computer-based analysis and decision support at a reasonably low cost.
Data-driven DSS
In general, a data-driven DSS emphasizes access to and manipulation of a time-
series of internal company data and sometimes external and real-time data. Simple file
systems accessed by query and retrieval tools provide the most elementary level of
functionality. Data warehouse systems that allow the manipulation of data by computerized
tools tailored to a specific task and setting or by more general tools and operators provide
additional functionality. Data-Driven DSS with On-line Analytical Processing (cf., Codd et
al., 1993) provide the highest level of functionality and decision support that is linked to
analysis of large collections of historical data.
34
Example: John Rockart‟s research stimulated the development of executive
information systems (EIS) and executive support systems (ESS). These systems evolved
from single user model-driven decision support systems and from the development of
relational database products.
Communications-driven DSS
Communications-driven DSS use network and communications technologies to
facilitate decision-relevant collaboration and communication. In these systems,
communication technologies are the dominant architectural component. Tools used include
groupware, video conferencing, computer-based bulletin boards and web analytics
Example: DeSanctis and Gallup (1987) defined two types of GDSS. Basic or level
1 GDSS are systems with tools to reduce communication barriers, such as large screens for
display of ideas, voting mechanisms, and anonymous input of ideas and preferences. These
are communications-driven DSS. Advanced or level 2 GDSS provide problem-structuring
techniques, such as planning and modeling tools.
Document-driven DSS
A document-driven DSS uses computer storage and processing technologies to
provide document retrieval and analysis. Large document databases may include scanned
documents, hypertext documents, images, sounds and video. Examples of documents that
might be accessed by a document-driven DSS are policies and procedures, product
specifications, catalogs, and corporate historical documents, including minutes of meetings
35
and correspondence. A search engine is a primary decision-aiding tool associated with a
document-driven DSS
Example: Examples of documents that might be accessed by a document-driven
DSS are policies and procedures, product specifications, catalogs, and corporate historical
documents, including minutes of meetings and correspondence. A search engine is a
primary decision-aiding tool associated with a document-driven DSS (Power, 2002). These
systems have also been called text-oriented DSS
Knowledge-driven DSS
Knowledge-driven DSS can suggest or recommend actions to managers. These
DSS are person-computer systems with specialized problem-solving expertise. The
"expertise" consists of knowledge about a particular domain, understanding of problems
within that domain, and "skill" at solving some of these problems.
Example- Moody's Risk Management Services uses a knowledge-driven system to support
the needs of commercial lending institutions. Many commercial banks use FAST (Financial
Analysis Support Techniques) software for credit analysis. Also, Hewlett Packard has a
Web-based system to provide "quick, accurate hardware sizing, network configuration, and
usage recommendations for SAP Business Information Warehouse implementations" [40].
Web-based DSS
The World-wide Web and global Internet provided a technology platform for
further extending the capabilities and deployment of computerized decision support. The 36
release of the HTML 2.0 specifications with form tags and tables was a turning point in the development of web-based DSS. This forms the basis of opinion mining, recommender systems.
Example: Power (1998) defined a Web-based decision support system as a computerized system that delivers decision support information or decision support tools to a manager or business analyst using a "thin-client" Web browser like Netscape Navigator or Internet Explorer. The computer server that is hosting the DSS application is linked to the user's computer by a network with the TCP/IP protocol.
As we see from the above decision support systems, most of them derive patterns and decisions from historical data. The modern day decision support systems are better equipped with an underlying ontology which is used as domain knowledge. But these DSS are constrained to domains of finance, crime and environment which use the ontology to perform time series analysis. After a thorough background research we understood the lack of any work in the field of enterprise ontology to support the decision making process of project managers.” (pg 38 – 40 of [27])
4.3.4 Study of existing Performance Management Tools
Performance management plays a very important role in today‟s organization. It is very useful for an organization to assure efficiency, effectiveness, and competence. It can be done both at the individual level as well as the organizational level. It is necessary to have
37
good performance management software in place to make this easier and a faster process for organization leaders.
The following popular and recent tools were surveyed as background research for performance management tools:
‘SuccessFactors’ ©
“„SuccessFactors‟ centers around Business Alignment and People Performance, their
solutions are designed to deliver affordable, instantly available and frictionless total
people asset management applications. Their solution can be used to draw insights on
valuable assets - human performance and ability - across organization. However their
product is more suited to measuring people performance and not organizational
performance.” [46]
‘Halogen’ ©
Halogen Software‟s performance dashboard offers the following with respect to organizational performance:
“Process Status: see the exact status of all appraisals and where people are at in
the review process - all the time and in any level of detail - to support appraisal
workflow management.
Goal Status: start from the highest level organizational objectives and drill down
to the lowest level projects and initiatives that are linked to employee goals -
38
determine whether progress is being made by individuals, groups, departments or
the organization as a whole.
Competency Scores: quickly see whether you are building strength in specific
core or leadership competencies, determine your organization's top competencies,
see what the trend is across the organization - or by department or group, and
more.
Score Distribution: spot and track trends in performance appraisal scores by
comparing the current scores against previous years'.
Once again, the focus here is on evaluation and improvement of individual
performance, not the overall organizational performance.” [45]
‘Taleo’ ™ ©
“Taleo performance management transforms the typical performance review process into an insightful management tool that drives better business results and helps retain top employees. Taleo‟s integration with desktop productivity tools enables employees and managers to provide regular and timely updates and feedback. Continuous performance conversations ensure that employees are being regularly assessed and coached rather than evaluated once a year.”[44]
39
4.3.5 Limitations of existing Performance Management Tools
While the above performance management tools offer certain unique benefits, they lack a
standard approach for building the decision support framework which makes decision
making easier and quicker. Also, the focus is on employee performance, performance
appraisals and compensation. While the existing tools and methods enable efficient
performance viewing in different forms like graphs, charts etc, they do not provide a
quick and easy organizational performance view. The limitations of these tools can be
summarized as follows -
Lack of a complete and aligned organizational view of the entire organization
No flexible parameter choices and prioritization options to forecast real-time
change in performance of organization hence do not facilitate decision making.
Absence of a customizable performance management framework that can be
suited to a certain kind of business and/or organization.
After completing our background research we understood the lack of work in the field of
enterprise ontology and organizational performance to support the decision making
process of project managers and also the lack of a rule driven performance management
framework that can be customized dynamically.
40
4.3.6 Software Modeling - Agent Based and System Dynamics
System Modeling
Modeling a system is an optimization approach that can be used for depicting usually
complex systems with complicated interactions. Modeling is based on abstraction,
simplification, quantification, and analysis. There are multiple paradigms of system
modeling of which the two most common are System Dynamics Modeling and Agent
Based Modeling.
System Dynamics Modeling -
System Dynamics is the study of information-feedback characteristics of industrial activity to show how organizational structure, amplification (in policies) and time delays (in decisions and actions) interact to influence the success of the enterprise). Mathematically, a
System Dynamics model is a set of differential equations. A system dynamics simulation method describes the system and the environment influence upon it at the macro level based on cause-and-effect relationships, reaction delays and feedback loops. [28], [30]
Agent Based Modeling-
Agent is a software object that acts in a certain manner and exhibits various behaviors depending on inputs and/or rules defined by the user. Agent Based Modeling studies the behavior of independent agents and the way such behavior determines the behavior of the system as a whole.
41
Agent Based Modeling Vs System Dynamic-
• While System Dynamics depicts the global behavior, there is no place in Agent Based
Models where the global system behavior (dynamics) would be defined.
• Instead, the modeler defines behavior at individual level and the global behavior emerges
as a result of many individuals, each following its own behavior rules, living in some
environment and communicating with each other and with the environment. That is why
Agent Based modeling is also called bottom-up modeling. [30]
4.3.6 Simulation Model using Anylogic
Simulation
Simulation is the process of starting with an initial value in each variable and running the set of
equations for multiple time increments. At each time increment, all equations are processed to
generate new variable values from the current values. The resulting data for variables at each
time increment represents one run of the simulation.
During simulation a model is driven by input data and produces output data. Data can come
from initial values in the model, user entry or a data file. Output data can be stored in the model
or in output data files and used to drive configured charts, graphs and tables. An integrated
Data File editor makes it easy to create, view, import data from or export data to other
applications. [28]
Anylogic
AnyLogic is a simulation tool that supports all the most common simulation
methodologies in place today: System Dynamics, Process-centric (Discrete Event), and
42
Agent Based modeling. The unique flexibility of the modeling language enables the user to capture the complexity and heterogeneity of business, economic and social systems to any desired level of detail. AnyLogic‟s graphical interface, tools, and library objects allows you to quickly model diverse areas such as manufacturing and logistics, business processes, human resources, consumer and/or patient behavior. The object-oriented model design paradigm supported by AnyLogic provides for modular, hierarchical, and incremental construction of large models.
AnyLogic is extremely flexible simulation software and provides various ways to develop a model.
If there is individual data, we can use an agent-based approach.
If there is only information about global dependencies then we can use system
dynamics.
If system can be easily described as a process a discrete-event approach is
suggested.
And if the system is complex enough it probably has all those aspects and some or
all the above methods are combined.
AnyLogic is not limited by a particular simulation method and one can use always chose the most efficient one, or a combination, to address the modeling problem.[48]
43
4.3.7 Importance Performance Matrix
A crucial stage in the formulation of operations strategy is the derivation of a ranked (or
rated) list of competitive factors such as quality, flexibility, cost, etc. This list is used
either to infer an appropriate set of strategic operations decisions or, in conjunction with
an independently derived list of the organization's performance to prioritize each of the
competitive factors [29].
A 2x2 matrix of importance / performance can be used but may be found too crude. The
matrix shown here uses the 9-point importance and performance scales reproduced
below.
Figure 4 – Importance – Performance Matrix
44
The exact positions of the dividing lines between the zones "Excess", "Appropriate",
"Improve" and "Urgent action" may need to be agreed by the group beforehand.
A Nine-point Importance Scale
For this product or service does each performance objective meet the following?
Order-winning objectives:
(1) provide a crucial advantage with customers - they are the main thrust of competitiveness;
(2) provide an important advantage with most customers - they are always considered by customers;
(3) provide a useful advantage with most customers - they are usually considered by customers;
Qualifying objectives:
(4) need to be at least up to good industry standard;
(5) need to be around the median industry standard;
(6) need to be within close range of the rest of the industry;
45
Less important objectives:
(7) do not usually come into customers' consideration, but could become more important in the future;
(8) very rarely come into customers' considerations;
(9) never come into consideration by customers and are never likely to do so.
A Nine-point Performance Scale
In this market sector, or for this product group, is our achieved performance in each of the performance objectives:
Better than competitors:
(1) consistently considerably better than our nearest competitor;
(2) consistently clearly better than our nearest competitor;
(3) marginally better than our nearest competitor;
The same as competitors:
(4) often marginally better than most competitors;
(5) about the same as most competitors;
46
(6) often within striking distance of the main competitors;
Worse than competitors:
(7) usually marginally worse than most competitors;
(8) usually worse than most competitors;
(9) consistently worse than most competitors? [29]
47
Chapter 5: Case Study – ODJFS, Problem Analysis
5.1 Case Study - ODJFS
Ohio Department of Job and Family Services underwent an organizational restructuring.
As seen in the above diagram, the 6 bureaus of ODJFS initially had a horizontal structure
where each bureau handled all operations from cradle to grave. Due to this, there were
redundancy issues with the exact same operation being done multiple times in different
bureaus. Besides, some similar processes were being called differently hence leading to
difficulty in consolidation or processes etc. Hence ODJFS decided to restructure the
organization vertically into 4 pillars namely „Portfolio Management‟, „Application
Development‟, „Productions and Operations‟ and „Architecture and Engineering‟. The
reorganization is depicted below:
48
STRUCTURE BEFORE ORGANIZATION
STRUCTURE AFTER ORGANIZATION
Figure 5 – ODJFS Organization Structure, OLD and NEW
49
However this change introduced the following problems amongst others:
The understanding of the Requirements is uncertain, thus correct resources can only
be identified after the impact is understood.
A single resource does not have the expertise needed for all the different roles
he/she is assigned to.
During the reorganization they collected a list of processes from the project
managers. The project managers collected a total of 1600 processes they were
handling. But as per Gartner an organization should only have a maximum of 250
processes to be successful. So they wanted to identify the actual processes out of the
1600.
Lack of any automated system to monitor performance and to identify and rectify
the underperforming systems
50
5.1.1 Problems
The problems and gaps that this thesis looks at are –
• Problem 1: There were numerous CSRs in each bureau; however CSRs themselves were
not categorized into specific types.
• Problem 2: There was no automated system to monitor performance and to identify the
underperforming, appropriately performing or over performing CSRs.
• Problem 3: There was no performance management framework in place to do analysis
against each of the CSR types.
• Problem 4: There was no decision making process in place to plan and rectify the problem
or to predict organizational performance based on the decisions taken.
5.1.2 Sample CSR Data
A sample set of the CSRs is shown below. The following are examples of the CSR and
CSR attributes that were being collected by ODJFS.
51
CONT CREATE PRIORITY STATUS ACTION TITLE
OFFICE DATE INITIATOR DATE
CHILD 1/5/2009 MEDIUM IMPACT 1/5/2009 12:40 #create report
SUPPORT 11:17 ANALYSIS for no user
intervention in the
last 12 months#
CHILD 1/5/2009 MEDIUM IMPACT 1/5/2009 12:40 #Revise Data Entry
SUPPORT 12:23 ANALYSIS Screen
( FG111) for ODHS
7711#
CHILD 1/6/2009 MEDIUM CLOSE 2/25/2009 10:55 #prevent
SUPPORT 10:20 generation of JFS
4047 to OBES
from FGSM for
Non IV-D cases#
CHILD 1/15/2009 HIGH OPEN 1/15/2009 8:27 EIW5 - CTA must
SUPPORT 8:27 have first name
field populated
CHILD 1/15/2009 HIGH CLOSE 2/4/2009 14:05 EIW5 - populate
SUPPORT 8:54 Spousal support
case records
Table 2 – Table showing sample CSR data.
52
5.1.3 Initial Inference
From these CSRs, we simply observe that certain requests are in „Open‟ status or
„Closed‟ status or under „Impact Analysis‟. We cannot infer anything more than that.
Moreover, from such numerous records, it is difficult to easily visualize or understand
the overall organization scenario. Hence there is a need for categorization.
There is no cognitive trait or behavior that these CSRs exhibit.
Lack of such detail prevents us from interpreting what the cause of problems are and
how do we solve them?
Hence, it is difficult to identify and correct the problem as well as to plan ahead,
follow a proactive rather than reactive approach.
5.2 Problem Analysis
Since the CSR‟s were missing relevant information which was needed to draw useful
insights, the following requirements emerged:
Need methods to convert operational data to a conceptual framework since the
raw CSR data that were being collected did not provide much relevant
information. To derive such knowledge, the CSRs need to be treated as agents
which display certain cognitive traits.
Need to formulate rules and apply agent based modeling to the agents (CSR) to be
able to see what behaviors these agents display and how they are affected by
53
certain rules. Rules are analogous to the external inputs or the external
environment to which an agent (CSR) is subject to.
Need to develop a dashboard (prototype) for visualization, root cause analysis and
a framework that assists decision makers to achieve principled business decisions.
This will complete the performance management framework which will include 3
phases namely 1) Visualization 2) Analysis and 3) Decide.
Chapter 6: Research and Solution
6.1 Research Framework
The Research Framework based on which the solution to the problem was given in the form a ACE REAL TIME MONITORING TOOL is depicted as follow:
54
Raw Layer Data Layer Layer 1 (a) 2 3 & 1
Figure 6 –(b) Research Framework From the raw CSR data that was provided, valuable insights could not be gained.
Minimal inference was able to me collected. However to be eventually provide a performance management framework and a dashboard required us to extract behaviors from these CSRs. The performance –importance matrix, an important strategy determinant was chosen to be displayed in the dashboard. For this, we needed to treat
CSRs as agents and Performance and Importance as 2 behaviors being displayed by the
CSRs.
55
To be able to make the CSRs display such behaviors, we applied certain methods to convert operational data to a conceptual framework and layered the data gradually to bring it up to a level which provided us with cognitive links to organizational performance.
In Layer 1 (a), we achieve categorization by using ITIL ontology which allowed categorization of the CSRs into a fixed set of service types, thus helping us better manage these CSRs and cluster them according to similarities.
In Layer 1 (b), we also use the IDEF metamodel to layout the interactions of the CSRs in the model, this helped us drill drown to the constraints that affect each interaction.
In Layer 2, we map the ACE framework (based on IDEF in Layer 1 along with time metrics associated with each interaction) to derive performance measures across each dimension of the ACE namely Business, Operations, Infrastructure and Strategy and determine how the association of the CSR attributes ties in to each dimension.
In Layer 3, we wrap the partially converted data with the business perspective, using the balance score card which helps achieve alignment of the performance measures and relate it to the strategy or high level goals of the business.
Once we have wrapped the raw data with these 3 layers of knowledge, we are able to convert the initial data to useful information. The data mining done with the help of standard ontology and frameworks helped communicate between three analytical levels:
(1) the technical level that captures and manipulates the data (2) the individual level of human cognition in the process of giving meaning to the data provided by the technical 56
level and acting upon this knowledge and (3) the contextual level of the organization where these agents participate. These three levels combined to produce the knowledge required to mine essential knowledge [31]. In this process of layering the raw data and the converted information now provides us the cognitive links to the organizational behavior which we needed for depicting behaviors in the dashboards.
An example of layering is provided below:
Layer Description Starting point Numerous CSRS
Layer 1 a) Categorization Bug Fix
Layer 1 b) IDEF Constraints Time-to-resolve,
Layer 2 – Dimensional Layout Operations Layer
Layer 3 – Business Goal Timely delivery
Table 3 – Example of CSR Layering.
The above table shows the CSR layering – we start with Layer 1, where the CSR type
„Bug Fix‟ results from categorizing the numerous CSRs according to ITL definitions.
When the IDEF metamodel is laid out, the constraint that affected this category surfaced to be the resolving time. In Layer 2, the mapping of the same was done with the ACE dimensions and the Operations Dimension mapped to it. In Layer 3, the Business layer mapping was done and this was then aligned to the high level business goal Business
Goal.
57
Thus now, we see that beginning from numerous CSR, we were able to classify a certain type of CSR namely Bug Fix and identify its constraints, relate it to a particular ACE dimension which is Operation Layer and then relate that to a business goal which is
Timely Delivery.
From here, we can derive performance measures and extract cognitive traits which will allow us to define behaviors and enforce rules on them to visualize the organizational performance.
Hence the bridge from the starting point (basic CSR data) to the end target (performance dashboard) is now built. We explain each process step in the following section.
Validation
The above research framework is complete since it has taken into consideration all the
BIOS levels. Business sets goals that determine the Infrastructure that enables the
Operations which executes the services Strategy. If BIOS traceability is made available, enterprises can also be armed with predictive knowledge that will allow them to manage by objectives. Specifically, the tool requirements for this traceability can be divided into
1) knowledge mining, and 2) Decision support for continuous improvement.
Next, we layered the initial non-inferential data with cognitive coatings at all levels within an organization by exhausted each layer‟s dimensions and elimination of non relevant items. This helped preserve completeness.
58
A complete set of performance analysis questions were developed after combining both perspectives of the ACE and BSC and was based on a complete set of constraints and interactions as well as strict adherence to business goals, thus preserving alignment.
The ACE REAL TIME MONITORING TOOL provides valuable insights and real time prediction is supported by historical data. Further validation can be done against a human‟s natural predictions and decisions.
Now that the research framework has been presented, the next section presents all the steps that we followed based on the research framework.
6.2 Research Process Flow
The summary of the Research process flow is depicted in the diagram below. Details on each of the processes in the flow diagram follow:
Figure 7- Research Process Flow 59
6.3 Ontology Based Categorization of Customer Data and Operational Processing
The ACE ontology as depicted below helped model the organization into the 4 ACE dimensions namely Strategy, Business, Operations and Infrastructure.
The Strategy dimension derived the high level business goals. Also this process gave a clear view of how the organization‟s interactions flow from start to finish. The diagram also depicted that while the organization had clear links between Role Sets Pillar Roles and Resources, the links between the department goals, CSRs, workflow interactions and role sets were clearly missing. This showed a dearth of alignment in the organization, hence the traceability between the Business goals, CSRs and interactions was extremely difficult to maintain.
Since interactions play an integral role in the entire process flow, we took help of the
IDEF metamodel to better layout the organization‟s processes. The IDEF diagram is an expanded view of the „workflow interactions‟ component in the ACE ontology diagram.
Since the IDEF models inputs coming into an interaction, with constraints acting on them and roles supporting them to provide an output, this gave us valuable insight into the constraints that this organization is faced with. The IDEF can also be viewed from the
BIOS perspective as follows: The constraints can be viewed as Business constraints, while Role sets can be viewed as the supporting infrastructure. The Interactions are the actual operations being performed in the organization while the Input and Output are
60
related to the Strategy. The IDEF diagram can be viewed from the BIOS perspective as follows:
Figure 8 – IDEF and the BIOS perspective
With this perspective in mind, we move on to the ACE ontology and via an expansion of the Interaction component into the IDEF metamodel as follows:
61
ACE Ontology
IDEF Metamodel
Figure 9 (a) and (b) ACE Ontology and IDEF Metamodel. 62
Viewing the organization with the ACE lens and then having a microscopic look at the
interaction block via the IDEF diagram helped derive constraints and enables mining a
better functional knowledge of the organization‟s process flows.
6.3.1 Data Collection Steps
Using the ITIL ontology, the CSRs were categorized into a fixed and the collection of
high level business constraints was done through IDEF and through questionnaire
sessions with representative of the 4 BIOS layers as shown below.
Level Interviewee
Business ODJFS
Operations Project Managers
Infrastructure Architecture Engineers
Strategy Pillar Heads
Table 4 – Table showing Interviewee mapping
6.3.2 Ontology-based Categorization of Customer Data and Operational
Processing
The above processes helped layer the initial data into the following converted form where
we have managed to divide CSRs into a fixed set of categories and their related
constraints.
63
CSR TYPE CONSTRAINTS AVERAGE AVERAGE AVERAGE
INITIAL PRIORITY STATUS
RESPONSE INDICATOR
TIME (days) (1-3)
Analysis Resources, 1 3 IMPACT
Budget, ANALYSIS
Skill, Time-line
Bug Fixes Time-to-resolve, 1 1 OPEN
Cost-to-company,
Availability of
skilled resources
Code Change Time, Skill, 1 2 OPEN
Resource,
Synchronization,
Time,
User acceptance
/Feedback
Enhancement & Cost, Time, Skill, 1 1 CLOSE
Maintenance Resource,
Profitability
factor
Continued Table 5 – Table of ACE mapping and constraints
64
Table 5 continued
New Cost, Time, 1 2 CLOSE
Component Requirements,
Resource, skill
Report Customer 1 3 IMPACT
Generation Desirability, ANALYSIS
Resource, Time
Training Availability of 1 2 CLOSE
skilled Trainer,
Time to train,
Infrastructure
6.4 Alignment of Categorized CSR to Business
Once the ACE perspective with ITIL and IDEF was applied, we now tried to look at the problem from the Business perspective but before that we tried to map the 4 ACE domains with the BSC as shown below so that we avoid redundancy whilst incorporating both.
6.4.1 ACE and the Balanced Score Card
The overlap and the mapping of the ACE and the BSC is shown below. The BSC revolves around the vision and strategy and that is the approach we have followed in this 65
thesis. After every layering of the raw CSR data, we align it with the high level business goals and map it to the 4 ACE dimensions. In this way we incorporate both these paradigms.
Figure 10 – ACE and BSC Mapping
6.4.2 High Level Business Goals
Based on the BSC and ACE, we aligned the organization with the following high level
Business goals of ODJFS:
Better Quality of Service
Timely Service
Cost Effective Solutions
Continuous Improvement 66
The first three goals were derived from the ACE ontology depiction while the last goal
– Continuous Improvement was introduced to map the performance monitoring and
proactive decision making.
6.4.3 Performance Measures based on ACE
Table 6 – Performance Measures table The flow of the above matrix moves from left to right. We start with the ACE
Dimension; derive the primary entity affecting the dimension from the ontology and
IDEF metamodel and drill down to the CSR attributes across each dimension. This is how we exhaust all possible CSR metrics. Once we have reached the CSR metrics, it‟s now necessary to mine the cognitive traits which will finally give rise to the behaviors that will help drive the performance dashboard.
67
Looking at the cognitive traits column, we then see that only 2 of the cognitive traits were previously being captured (the traits marked in red), the rest are new traits. We exhausted each dimension‟s traits by validating it against the RED view, whereby each dimension needs to complete the RED loop, i.e Requirements, Execution and Delivery (RED).
For example, for the Business Dimension, if Customer Satisfaction is the R, Priority is the E and Customer Satisfaction is again the D. Hence the R – E – D completes.
6.4.4 Behaviors and Rules
BEHAVIOR
Now that we have the cognitive traits derived, we can program them to display behaviors.
The following are the formulations for doing the same where a subset of the cognitive traits is giving rise to the corresponding behaviors.
Performance = Ease of Solving * Time to solve * Customer Satisfaction
Importance = Priority * Return on Investment * Strategic Advantage
However some of these cognitive traits are related also and affect each other apart from affecting the corresponding behavior. The related traits and their inherent relationships that have been taken into account are as follows-
When Time to Solve decreases, Customer Satisfaction increases and
When Ease of Solving increases, Return on Investment also increases.
RULES
68
Now that we have defined behaviors, we need certain rules to display them accordingly in the visual output which is the dashboard. Based on the zoning, the following general rules were arrived-
If „Performance‟ is very Low but „Importance‟ in very High, place CSR is „Urgent‟ Zone
If „Performance‟ is High but „Importance‟ in Low, place CSR is „Excess‟ Zone
If „Performance‟ and „Importance‟ are proportional, place CSR is „Appropriate‟ Zone
If „Performance‟ is little Low but „Importance‟ in little High, place CSR is „Improve‟
Zone
Example RULE: If (Performance >= 7 && Importance <=7) then place Service Request> in Similarly other rules were quantified based on the 9 point scale in the performance importance matrix. 6.4.5 Business Goals and Alignment Business Goals Cognitive traits Better Quality of Service Customer Satisfaction, Priority Timely Service Time to Solve 69 Cost Effective Solutions e Ease of Solving, ROI Continuous Improvement Strategic Advantage Table 7 – Cognitive Traits and Business Goals Mapping Following the BSC approach we once again map the cognitive traits with the business goals thus preserving alignment. 6.5 Cognitive Rule Based Software for Decision Making 6.5.1 Agent based Modeling Architecture Cognitive Traits Figure 11 – Agent Based Model 70 Simulation is the process of designing a model of a real world system, and conducting experiments with this model for the purpose of understanding the behavior of the system. Anylogic is a simulation software, capable of building both standalone and web based business and strategy simulations. It is designed to support multiple modeling methods and their various combinations. The modeling methods supported by Anylogic include agent based modeling, system dynamic modeling and discrete event modeling. Anylogic, therefore provides a platform to build highly sophisticated models, integrating the above mentioned modeling paradigms. Anylogic is based on UML and uses Hybrid State Charts to implement this unique functionality. As mentioned earlier, Anylogic models are web enabled, and can run on JAVA applets. As the models, are stored in the form of XML files, they can easily be transferred across web based applications as well. The key features of AnyLogic are illustrated below Supports development of multi modeling simulations Easy to use graphical user interface for building complex models Java based models can execute on any platform, thus making them system independent Easy to create web ready simulations, distributed through web based applets Models can be integrated with any ODBC compliant database Agent Based Modeling-Anylogic can be used to develop agent based models. In agent based modeling, the focus is on individual agents, their rules, behaviors and their 71 interactions with each other and the environment. Thus agent based modeling can be defined to be an individual centric approach to model design. The key characteristics of Agent Based Modeling are highlighted below Complex, real world systems are represented as collections of autonomous decision making structures, called „AGENTS‟. These models are distributive in nature. Agents follow few rules and have bounded rationality. Interactions between agents result in complex agent behavior. Agents can communicate with each other either directly or through the environment. The thesis uses agent based modeling in which the customer service requests, are considered individual agents, or active entities, exhibiting their own individual behavior. The primary reason for selecting this modeling approach in preference to other approaches, such as System Dynamics approach is in order to establish the individuality of the entities of the system being modeled. The Anylogic Active Object Class has been used to develop the individual agents. The agents have been embedded or replicated into a higher level object called Main. This replication of agents allows the system to dynamically create and destroy agents as required. The internal state of the agent has been represented using variables and parameters. The agents in the system can behave both in a active and passive manner. The passive behavior of agents has been 72 implemented by making them to react to both message arrivals and method calls. The active behavior of agents has been implemented by allowing them to react to internal dynamics of agents such as timeouts. The class model in Anylogic is depicted below- Figure 12- Class Model 6.6 Threefold Performance Management Framework 6.6.1 VISUALIZE The first step of our ACE REAL-TIME MONITORING TOOL is the visualization whereby based on the behaviors (which are composed or cognitive traits) and the rules 73 applied on them, the CSR types place themselves in different zones. A snapshot is provided below. Visualization Snapshot Figure 13 – Visualization snapshot Analysis based on Visualization This visualization instantly allowed us to observe the following – Certain CSR types are in „Urgent‟ Zone, some in the „Excess‟ zone, some in „Improve‟ Zone and some in „Appropriate‟ Zone based on prior zoning. PROBLEM IDENTIFICATION We conclude that the business is indeed spending its time and effort non- judiciously, hence facing challenges. 74 An ideal scenario would have shown all the CSR types to be in the „Appropriate zone‟, such an organizational having desirable performance would simple need to maintain that state. Now that it has been identified that there is a problem, we intend to provide a framework to analyze the same. We formulated a complete set of performance related questions based on the ACE model that can provide further insight. 75 Performance Questions Business Dimension History Business How has Business Rating and Customer Rating varied? Operations How has complexity affected Span time? How has complexity affected Quality? How has complexity affected Throughput? Infrastructure How has Resource Skill affected Work? How has Resource availability affected Work? Strategy How has value addition affected Cost to Solve? Table 8 – Performance Questions The above complete set of performance analysis questions is the result of the complete ontology as depicted in the Research Flow diagram. 6.6.2 ANALYZE The second step of our ACE REAL-TIME MONITORING TOOL is the analysis stage whereby based on the visualization, we drill down on the CSR types and do a root cause 76 analysis based on historical data with the help of the complete set of performance analysis questions. Analysis Snapshot Figure 14 – Analysis Snapshot 6.6.3 DECIDE The third step of our ACE REAL-TIME MONITORING TOOL is the decision making stage whereby based on the visualization and analysis, we arrive at a situation where we are able to map the decision to the to the traits and back to the business goal. Thus we can evaluate visually, what action will bring about a change in the organizational performance dashboard and which underlying business goal is it affecting. Decision making framework 77 Business Goals Traits Decision Making Questions Better Quality of Service Customer Satisfaction, Priority How have Business Rating and Customer Rating varied? Timely Service Time to Solve How has complexity affected Span time? How has complexity affected Quality? How has complexity affected Throughput? Cost Effective Solutions Ease of Solving, ROI How has Resource Skill affected Work? How has Resource availability affected Work? Continuous Improvement Strategic Advantage How has value addition affected Cost to Solve? Table 9 – Mapping of Questions, Cognitive Traits and Goals Following the BSC approach we once again map the cognitive traits with the business goals thus preserving alignment. 78 Decision Making Snapshot – before Decision Making Snapshot – after Figure 15 (a) and (b) – Decision making visual snapshot before and after 79 Decision Making Example A decision making example based on ODJFS data is as follows: Step CSR Type ‘Bug Fix’ CSR Type ‘Code Change’ Visualize Urgent Zone Urgent Zone Analyze As „Complexity‟ increases, „Time As „Complexity‟ remains the same, „Time to Solve‟ increased to Solve‟ increased Decide Reduce „Time to Solve‟ helped Is there a motivation issue then? If so, we move the CRS to the „Appropriate need to incorporate a „motivation‟ metric zone) into the performance equation OR Has number of resources decreased? OR Have resources been changed and assignment has not been done properly? Table 10 – Comparison of 2 CSR Types Seen above are 2 CSR types, „Bug Fix‟ and „Code Change‟, both of which are in the urgent zone. However when the analysis is done both show different causes based on 80 which the different decisions take place. For the CSR type – „Code Change‟, if the cause analyzed is a motivation issue, then this could generate a feedback into the performance measure matrix, thus making the framework continually adapting and improving. 81 Chapter 7: Inference 7.1 Conclusion A summary of the entire process flow is depicted by the Performance Management Framework diagram below and the following conclusions are drawn after looking at the benefits that the ACE REAL-TIME MONITORING TOOL offers. F E E D B A C K Figure 16 – Performance Management Framework. 82 • A performance management framework provides a standard way to approach performance by utilizing the 3 fold process of Visualize, Analyze and Decide. • It enables the organization to maintain historical performance data in a more relevant manner. • Alignment of the high level business goals with low level metric collection helps maintain traceability within the organization and is well suited to Agent Based Modeling which is a bottom-up modeling paradigm. • Such a framework can be easily customized to any organization or changing needs within the organization. 7.2 Future Work • The model can be extended to generalize the framework and make it less organization specific so that models can be derived automatically. In such a case, model templates will be available and the user simply needs to choose the most suited template and enter certain inputs to automatically derive the model. • Various user level access can be incorporated in the model for better understanding of the business from resources‟ perspective leading to motivation and better resource utilization and enabling resources to visualize their connect to the bigger picture. • The model can also be programmed to monitor indicators for Risk Management, for example- If a motivation issue has been identified, then retention of that employee group is at risk. 83 Chapter 8: References [1] Isomäki, H., & Liimatainen, K., Challenges of Government Enterprise Architecture Work – Stakeholders‟ Views, Springer-Verlag Berlin Heidelberg 2008. [2] DoD Architecture Framework Version 1.5, Volume 1: Definitions and guidelines, Department of Defense, USA, 23rd April, 2007. [3] Sayles, A., (May 2003), Development of Federal Enterprise Architecture Framework using the IBM Rational Unified Process and the Unified ModelingLanguage, IBM. [4] Sessions, R., Comparison of the Top Four Enterprise Architecture Methodologies, EA Comparisons, ObjectWatch, Inc. [5] The Chief Information Officers Council (1999). Federal Enterprise Architecture Framework Version 1.1. [6] VA Enterprise Architecture Innovation Team (2001). Enterprise Architecture: Strategy, Governance, & Implementation report Department of Veterans Affairs. [7] Fractal Architecture For The Adaptive Complex Enterprise, Jay Ramanathan, Communications Of The ACM May 2005/Vol. 48, No. 5. 84 [8] “what is a dss?” published in DS ,The On-line executive journal for data intensive decision support, October 21,1997 Vol 1, No. 3. Copyright©” [9] Ramanathan, J., Ramnath, R., (2009), Co-Engineering Applications and Adaptive Business Technologies in Practice: Enterprise Service Ontologies, Models, and Frameworks, Information Science Reference (imprint of IGI Global). [10] Hype Cycle for Government Transformation, 2008, Gartner Research, ID Number: G00158912 [11] Kumar, A., Raghavan, P., Ramanathan, J., & Ramnath, R. (2008). Enterprise Interaction Ontology for Change Impact Analysis of Complex Systems. IEEE Asia-Pacific Services Computing Conference (IEEE APSCC) [12] Roger Sessions, Comparison of the Top Four Enterprise Architecture Methodologies, EA Comparisons, ObjectWatch, Inc. [13] Bon, J., Pieper, M., & Annelies, V. (2005). Foundations of IT Service Management Based on ITIL. Van Haren Publishing. [14] Kumar, A., Raghavan, P., Ramanathan, J., & Ramnath, R. (2008). Enterprise Interaction Ontology for Change Impact Analysis of Complex Systems. IEEE Asia-Pacific Services Computing Conference (IEEE APSCC). [15] Noy, N.F. and D.L. McGuinness, Ontology Development 101: AGuide to Creating Your First Ontology. Disponible en http://www. Ksl. stanford. edu/people/dim/papers/ontology- tutorial-noy-mcguinessabstract. html [consulta: diciembre de 2005]. [16] Uschold, M., et al., The enterprise ontology. The knowledge engineering review, 1998. 13(01): p. 31-89. 85 [17] Singh, G., et al. A metadata catalog service for data intensive applications. 2003: IEEE Computer Society Washington, DC, USA. [18] Nemati, H. R., Steiger, D. M., Iyer, L. S., & Herschel, R. T. (2002). Knowledge warehouse: An architectural integration of knowledge management, decision support. Artificial Intelligence and Data Warehousing, Decision Support Systems,(33), 143–161. [19] An ontology-based business intelligence application in a financial knowledge management system Hilary Cheng a,*, Yi-Chuan [20] Bolloju, N., Khalifa, M., & Turban, E. (2002). Integrating knowledge management into enterprise environments for the next generation decision support. DecisionSupport Systems, 33, 163–176 [21] Ramanathan, J., Ramnath, R., Yackovich,K. Experiences with Service Delivery Improvement Using System Dynamics. Center for Experimental Research in Computing Systems (NSF IUCRC) [22] Orlando, H., 2009, Uniting Strategy with Action Using a "Performance Dashboard” Journal of Performance Management, 2009 [23] Nagarajan, P., 2010, Enterprise Architecture Ontology: A shared vocabulary for efficient decision making [24] Balanced Score Card, What is the balanced score card? http://www.balancedscorecard.org/BSCResources/AbouttheBalancedScorecard/tabid/55/D efault.aspx [25] IDEF, http://it.toolbox.com/blogs/enterprise-design/idef-modelling-pros-and-cons- 10043 86 [26] What is IDEF?, http://searchsoa.techtarget.com/definition/IDEF [27] Shared Services, http://en.wikipedia.org/wiki/Shared_services [28] System Models and Simulation, http://www.excelsoftware.com/system_models.pdf [29] Slack, N., The Importance-Performance Matrix as a Determinant of Improvement Priority. Int. J. of operations and production Management, Vol. 14, No. 5, pp 59-75, 1994. [30] Borshchev, A., & Filipov, A., From System Dynamics and Discrete Event to Practical Agent Based Modeling: Reason, Techniques, Tools. [31] Cantaho, A.,Ontology-Based Interpretation and validation of Mined Knowledge : Normative and Cognitive Factors in Data Mining [32] Levinson, H., Management by Whose Objectives? [33] Landau, A., Wasserkrug, S., Gilat, D., Razinkov, N., Sela, A., and Aiber, S., A Methodological Framework for business-oriented modeling of it infrastructrure. [34] Thompson, K., & Mathys, N., The Aligned Balanced Scorecard, An improvement tool for building high performance organizations [35] Kaplan, R., & Norton, D., Using the Balanced Scorecard as a Strategic Mnagement System. [36] Fisher, A.,Fournier, F., Gilat, D., Rackham, G., razinkov, N., and Wasserkrug, S., Calculating the Business Importance of Entities in a Service-Oriented Enterprise. [37] Montier, R., Alai, D., and Kramer, D., Competency Models Develop Top Performance. [38] Ramanathan, J., Ramnath, R., Bolinger, J. and Nagarajan, P., Stakeholder-driven Enterprise Process Model for Complex Service Adaptation. 87 [39] Lankhorst, M., Enterprise Architecture at Work: Modelling, Communication and Analysis [40] Decision Support System http://dssresources.com/faq/index.php?action=artikel&id=114, http://exsys.com/case.html [41] http://findarticles.com/p/articles/mi_qa4148/is_200909/ai_n53077387/ [42] Knowledge Vs Information http://innovationzen.com/blog/2006/10/02/knowledge-vs- information/ [43] http://en.wikipedia.org/wiki/ [44] Taleo, http://www.taleo.com/solutions/performance [45] Halogen Software, http://www.halogensoftware.com/ [46] Success Factors, http://www.successfactors.com/ [47] Knowledge and Information, comparison side by side. http://recomparison.com/comparisons/100439/knowledge-vs-information/ [48] Anylogic, www.anylogic.com 88 Chapter 9: Appendix The following diagram presents an overview of the flow of code and the user interaction based on the agent based model discussed in the thesis. The user has the visibility of the green boxes namely show which highlights a particular CSR service type, display which bring about the visual output or organizational behavior and analyze which helps the user do a root cause analysis. The 3 cyan boxes are internal system operations. The first box is the event handler that sets off with a trigger as soon as the tool is started, the initialization of the CSR and the evaluation based on environmental change are the other two. The visual output or the dashboard is the depicted by the orange boxes while the initialization trigger in pink. The multicolored stars represent the changing environment or the parameters that the users manipulate to bring out CSR (agent) behavior. Further descriptions along with code snippets are provided below. 89 Figure 17 – Overview of the underlying code flow Following are the code snippets that were used to model and implement the ACE REAL- TIME MONITORING TOOL using „Anylogic‟. Init2 Event Handler-This event handler is invoked in response to a trigger type event executed at the start of the program execution. This event handler is used to initialize all CSR’s in the system. int i=0; double imp,perf; //Start of initialization code for CSR attributes 90 String[] csr_type=new String[7]; collection2.add(0,2.0); collection2.add(1,2.08); collection2.add(2,2.08); collection2.add(3,1.5); collection2.add(4,1.0); collection2.add(5,1.0); collection2.add(6,1.0); collection3.add(0,2.0); collection3.add(1,2.08); collection3.add(2,2.08); collection3.add(3,1.0); collection3.add(4,0.75); collection3.add(5,1.0); collection3.add(6,1.2); //Collection for initializing ease to solve attributes collection4.add(0,1.0); collection4.add(1,2.08); collection4.add(2,2.08); collection4.add(3,1.0); collection4.add(4,1.0); collection4.add(5,1.0); 91 collection4.add(6,1.0); //Collection for initializing priority attributes collection5.add(0,1.0); collection5.add(1,1.0); collection5.add(2,1.0); collection5.add(3,2.0); collection5.add(4,3.0); collection5.add(5,1.0); collection5.add(6,2.0); //Collection for initializing ROI attributes collection6.add(0,0.5); collection6.add(1,3.0); collection6.add(2,2.0); collection6.add(3,2.0); collection6.add(4,3.0); collection6.add(5,1.8); collection6.add(6,2.0); collection7.add(0,2.0); collection7.add(1,2.08); collection7.add(2,2.08); collection7.add(3,1.0); collection7.add(4,0.75); 92 collection7.add(5,4.0); collection7.add(6,1.2); //End of initialization code for CSR attributes collection8.add(0,"Analysis"); collection8.add(1,"Bug_Fix"); collection8.add(2,"Code_Change"); collection8.add(3,"Maintenance"); collection8.add(4,"New_Component"); collection8.add(5,"Report Generation"); collection8.add(6,"Training"); Csr_agent cs; for( i=0; i { cs=cus_service_requests.get(i); cs.v_csr_type=collection8.get(i); cs.v_quest1=collection15.get(i); cs.v_quest2=collection9.get(i); cs.v_quest3=collection10.get(i); cs.v_quest4=collection11.get(i); cs.v_quest5=collection12.get(i); cs.v_quest6=collection13.get(i); 93 cs.v_quest7=collection14.get(i); cs.v_cus_satisfaction=collection2.get(i); cs.v_prev_csat=cs.v_cus_satisfaction; cs.v_time_to_solve=collection3.get(i); cs.v_prev_tsolve=cs.v_time_to_solve; cs.v_ease_of_solving=collection4.get(i); cs.v_prev_ease=cs.v_ease_of_solving; cs.v_priority=collection5.get(i); cs.v_prev_priority=cs.v_priority; cs.v_roi=collection6.get(i); cs.v_prev_roi=cs.v_roi; cs.v_cadv=collection7.get(i); cs.v_prev_cadv=cs.v_cadv; cs.v_performance=cs.v_prev_ease *cs.v_prev_tsolve*cs.v_prev_csat; cs.v_importance=cs.v_prev_roi*cs.v_prev_priority*cs.v_prev_cadv; } Event_first-This event handler is executed in response to a trigger type event, which is fired after a time lapse of 5 seconds, from start of program execution. This event handler, calculates the CSR metrics for all available CSR’s in the system, based on 94 initial CSR attribute values, and displays each of the corresponding CSR, on the presentation layer (visual output) int i=0; int j=0; int k=0; int l=0; int m=0; double x1,x2,y1,y2; //Beginning of Zoning Code(For Visualization) int[] excess_x=new int[3]; int[] excess_y=new int[3]; int[] app_x=new int[5]; int[] app_y=new int[5]; int[] imp_x=new int[5]; int[] imp_y=new int[5]; int[] urgent_x=new int[3]; int[] urgent_y=new int[3]; excess_x[0]=160; excess_x[1]=700; 95 excess_x[2]=160; excess_y[0]=20; excess_y[1]=20; excess_y[2]=190; app_x[0]=160; app_x[1]=700; app_x[2]=890; app_x[3]=890; app_x[4]=160; app_y[0]=190; app_y[1]=20; app_y[2]=20; app_y[3]=220; app_y[4]=320; imp_x[0]=160; imp_x[1]=890; imp_x[2]=890; imp_x[3]=210; imp_x[4]=160; imp_y[0]=320; imp_y[1]=220; imp_y[2]=300; 96 imp_y[3]=460; imp_y[4]=460; urgent_x[0]=210; urgent_x[1]=890; urgent_x[2]=890; urgent_y[0]=460; urgent_y[1]=300; urgent_y[2]=460; int n1=3; int n2=5; int n3=5; int n4=3; boolean flag=true; Polygon p_excess=new Polygon(excess_x,excess_y,n1); Polygon p_app=new Polygon(app_x,app_y,n2); Polygon p_imp=new Polygon(imp_x,imp_y,n3); Polygon p_urgent=new Polygon(urgent_x,urgent_y,n4); //End of Zoning Code Section(For Visualization) Csr_agent cs; for( i=0; i { 97 cs=cus_service_requests.get(i); if ( cs.v_performance>=0 && cs.v_performance<1 && flag==true )//ExcessRegion { if(cs.v_importance >=6.0 && cs.v_importance<=9.0) { cs.v_status=1; flag=false; x1=uniform(170,340); y1=uniform(70,115); while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(blue); cs.oval.setVisible(true); 98 } else //Appropriate Region { cs.v_status=2; flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } } 99 if ( cs.v_performance>=1 && cs.v_performance<2 && flag==true ) //ExcessRegion { if(cs.v_importance >=6.0 && cs.v_importance<=9.0) { cs.v_status=1; flag=false; x1=uniform(170,340); y1=uniform(70,115); while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(blue); cs.oval.setVisible(true); } else //Appropriate Region { 100 cs.v_status=2; flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } } if ( cs.v_performance>=2 && cs.v_performance<3 && flag==true ) //ExcessRegion { if(cs.v_importance >=7.0 && cs.v_importance<=9.0) { 101 cs.v_status=1; flag=false; x1=uniform(170,340); y1=uniform(70,115); while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(blue); cs.oval.setVisible(true); } else //AppropriateRegion { cs.v_status=2; flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) 102 { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } } if ( cs.v_performance>=3 && cs.v_performance<4 && flag==true) //AppropriateRegion { if(cs.v_importance >=2 && cs.v_importance<=9) { cs.v_status=2; flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { 103 x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } else //ImproveRegion { cs.v_status=3; flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } 104 cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(pink); cs.oval.setVisible(true); } } if ( cs.v_performance>=4 && cs.v_performance<5 && flag==true) //Appropriate { if(cs.v_importance >=5 && cs.v_importance<=9) { cs.v_status=2; flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); 105 } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } else //ImproveRegion { cs.v_status=3; flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); 106 cs.oval.setFillColor(pink); cs.oval.setVisible(true); } } if ( cs.v_performance>=5 && cs.v_performance<6 && flag==true ) //AppropriateRegion { if(cs.v_importance >8 && cs.v_importance<=9) { cs.v_status=2; flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); 107 cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } else //ImproveRegion { cs.v_status=3; flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(pink); cs.oval.setVisible(true); 108 } } if (cs.v_performance>=6 && cs.v_performance<7 && flag==true ) //ImproveRegion { if(cs.v_importance >=4 && cs.v_importance<=9) { cs.v_status=3; flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(pink); 109 cs.oval.setVisible(true); } else //UrgentRegion { cs.v_status=4; //j++; flag=false; x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(red); cs.oval.setVisible(true); 110 } } if ( cs.v_performance>=7 && cs.v_performance<8 && flag==true) // Improve { if(cs.v_importance >=7 && cs.v_importance<=9) { cs.v_status=3; flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(pink); 111 cs.oval.setVisible(true); } else //UrgentRegion { cs.v_status=4; flag=false; x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(red); cs.oval.setVisible(true); } } 112 if ( cs.v_performance>=8 && cs.v_performance<9 && flag==true) //ImproveRegion { if(cs.v_importance >=7 && cs.v_importance<=9) { cs.v_status=3; flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(pink); cs.oval.setVisible(true); 113 } else //UrgentRegion { cs.v_status=4; flag=false; x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(red); cs.oval.setVisible(true); } } 114 flag=true; } Evaluate function-This function is executed when the Evaluate button in the Visual Output is clicked. This function accepts, from the user interface CSR attributes for a particular selected CSR as input parameters, calculates the modified CSR metrics based on the Rules, and modifies the Visual Output accordingly. int i=0; int j=0; double x1=0,x2=0,y1=0,y2=0; //Beginning of Zoning Code for Visual Output int[] excess_x=new int[3]; int[] excess_y=new int[3]; 115 int[] app_x=new int[5]; int[] app_y=new int[5]; int[] imp_x=new int[5]; int[] imp_y=new int[5]; int[] urgent_x=new int[3]; int[] urgent_y=new int[3]; excess_x[0]=160; excess_x[1]=700; excess_x[2]=160; excess_y[0]=20; excess_y[1]=20; excess_y[2]=190; app_x[0]=160; app_x[1]=700; app_x[2]=890; app_x[3]=890; app_x[4]=160; app_y[0]=190; app_y[1]=20; app_y[2]=20; app_y[3]=220; app_y[4]=320; 116 imp_x[0]=160; imp_x[1]=890; imp_x[2]=890; imp_x[3]=210; imp_x[4]=160; imp_y[0]=320; imp_y[1]=220; imp_y[2]=300; imp_y[3]=460; imp_y[4]=460; urgent_x[0]=210; urgent_x[1]=890; urgent_x[2]=890; urgent_y[0]=460; urgent_y[1]=300; urgent_y[2]=460; //End of Zoning Code for Visual Output int n1=3; int n2=5; int n3=5; int n4=3; 117 Polygon p_excess=new Polygon(excess_x,excess_y,n1); Polygon p_app=new Polygon(app_x,app_y,n2); Polygon p_imp=new Polygon(imp_x,imp_y,n3); Polygon p_urgent=new Polygon(urgent_x,urgent_y,n4); boolean flag=true; Csr_agent cs; i=combobox2.getIntValue(); cs=cus_service_requests.get(i); if (checkbox.isSelected()) { cs.v_prev_csat=cs.v_prev_csat+0.5*(cs.v_prev_tsolve-cs.time_to_solve1()); cs.v_prev_roi=cs.v_prev_roi+0.5*(cs.ease_of_solving1()-cs.v_prev_ease); } if (slider.isVisible()) cs.v_prev_priority=cs.priority1(); 118 if (roi22.isVisible()) cs.v_prev_roi=cs.roi1(); if (slider1.isVisible()) cs.v_prev_ease=cs.ease_of_solving1(); if (Time_to_Solve.isVisible()) cs.v_prev_tsolve=cs.time_to_solve1(); if (cus_sat_slider.isVisible()) cs.v_prev_csat =cs.cus_satisfaction1(); if (slider2.isVisible()) cs.v_prev_cadv=cs.competitive_advantage1(); //Calculation of CSR metrics cs.v_performance=cs.v_prev_ease *cs.v_prev_tsolve*cs.v_prev_csat; cs.v_importance=cs.v_prev_roi*cs.v_prev_priority*cs.v_prev_cadv; if (flag==true && cs.v_performance>=0 && cs.v_performance<1 ) //ExcessRegion { if(cs.v_importance >=6 && cs.v_importance<=9) 119 { flag=false; x1=uniform(170,340); y1=uniform(70,115); while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //Appropriate Region { flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { 120 x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } if (flag==true && cs.v_performance>=1 && cs.v_performance<2 ) //ExcessRegion { if(cs.v_importance >=6 && cs.v_importance<=9) { flag=false; x1=uniform(170,340); y1=uniform(70,115); while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); 121 } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //Appropriate Region { flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); 122 } } if (flag==true && cs.v_performance>=2 && cs.v_performance<3 ) //ExcessRegion { if(cs.v_importance >=7 && cs.v_importance<=9) { flag=false; while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } 123 else //Appropriate Region { flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } if (flag==true && cs.v_performance>=3 && cs.v_performance<4 ) //AppropriateRegion { 124 if(cs.v_importance >=2 && cs.v_importance<=9) { flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //ImproveRegion { flag=false; x1=uniform(240,515); y1=uniform(330,370); 125 while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } if (flag==true && cs.v_performance>=4 && cs.v_performance<5 ) //AppropriateRegion { if(cs.v_importance >=5 && cs.v_importance<=9) { flag=false; x1=uniform(400,720); 126 y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //ImproveRegion { flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); 127 } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } if (flag==true && cs.v_performance>=5 && cs.v_performance<6 ) //AppropriateRegion { if(cs.v_importance >=8 && cs.v_importance<=9) { flag=false; x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) { x1=uniform(400,720); y1=uniform(140,220); 128 } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //Improve Region { flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); 129 cs.oval.setVisible(true); } } if (flag==true && cs.v_performance>=6 && cs.v_performance<7 ) //ImproveRegion { if(cs.v_importance >=4 && cs.v_importance<=9) { flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); 130 cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //UrgentRegion { flag=false; x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } 131 if (flag==true && cs.v_performance>=7 && cs.v_performance<8 ) //ImproveRegion { if(cs.v_importance >=7 && cs.v_importance<=9) { flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //UrgentRegion 132 { flag=false; x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } if (flag==true && cs.v_performance>=8 && cs.v_performance<9 ) // Improve { if(cs.v_importance >=7 && cs.v_importance<=9) { 133 flag=false; x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } else //UrgentRegion { flag=false; x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) 134 { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(chocolate); cs.oval.setVisible(true); } } Reset Function-This function gets invoked when the Reset button gets clicked at the user interface level. This function resets the CSR attributes of all the CSR’s to their initial values int i; double x1,x2,y1,y2; //Beginning Code Section for visualization(Presentation Layer) int[] excess_x=new int[3]; int[] excess_y=new int[3]; 135 int[] app_x=new int[5]; int[] app_y=new int[5]; int[] imp_x=new int[5]; int[] imp_y=new int[5]; int[] urgent_x=new int[3]; int[] urgent_y=new int[3]; excess_x[0]=160; excess_x[1]=700; excess_x[2]=160; excess_y[0]=20; excess_y[1]=20; excess_y[2]=190; app_x[0]=160; app_x[1]=700; app_x[2]=890; app_x[3]=890; app_x[4]=160; app_y[0]=190; app_y[1]=20; app_y[2]=20; app_y[3]=220; app_y[4]=320; 136 imp_x[0]=160; imp_x[1]=890; imp_x[2]=890; imp_x[3]=210; imp_x[4]=160; imp_y[0]=320; imp_y[1]=220; imp_y[2]=300; imp_y[3]=460; imp_y[4]=460; urgent_x[0]=210; urgent_x[1]=890; urgent_x[2]=890; urgent_y[0]=460; urgent_y[1]=300; urgent_y[2]=460; int n1=3; int n2=5; int n3=5; int n4=3; Polygon p_excess=new Polygon(excess_x,excess_y,n1); 137 Polygon p_app=new Polygon(app_x,app_y,n2); Polygon p_imp=new Polygon(imp_x,imp_y,n3); Polygon p_urgent=new Polygon(urgent_x,urgent_y,n4); //End of CodeSection for visualization(Presentation Layer) Csr_agent cs; for( i=0; i { //Resetting CSR attributes to initial values cs=cus_service_requests.get(i); cs.v_prev_csat=cs.v_cus_satisfaction; cs.v_prev_tsolve=cs.v_time_to_solve; cs.v_prev_ease=cs.v_ease_of_solving; cs.v_prev_priority=cs.v_priority; cs.v_prev_roi=cs.v_roi; cs.v_prev_cadv=cs.v_cadv; if (cs.oval.getFillColor().equals(chocolate)) { if (cs.v_status==1) //Status 1 denotes CSR‟s in Excess Region 138 { x1=uniform(170,340); y1=uniform(70,1115); while (p_excess.contains(x1,y1)==false) { x1=uniform(170,340); y1=uniform(70,115); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(blue); cs.oval.setVisible(true); } if (cs.v_status==2) //Status 2 denotes CSR‟s in Appropriate Region { x1=uniform(400,720); y1=uniform(140,220); while (p_app.contains(x1,y1)==false) 139 { x1=uniform(400,720); y1=uniform(140,220); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(green); cs.oval.setVisible(true); } if (cs.v_status==3) //Status 3 denotes CSR‟s in Improve Region { x1=uniform(240,515); y1=uniform(330,370); while (p_imp.contains(x1,y1)==false) { x1=uniform(240,515); y1=uniform(330,370); } 140 cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(pink); cs.oval.setVisible(true); } if (cs.v_status==4) //Status 4 denotes CSR‟s in Urgent Region { x1=uniform(640,800); y1=uniform(400,440); while (p_urgent.contains(x1,y1)==false) { x1=uniform(640,800); y1=uniform(400,440); } cs.oval.setX(x1); cs.oval.setY(y1); cs.oval.setFillColor(red); 141 cs.oval.setVisible(true); } } } Display Function-This function is executed in response to the Display Button Click on the visual presentation layer. This function presents the user, with complete details of CSR attributes, and metrics for the selected Customer Service Request. int i,j=0; Csr_agent cs1; i=combobox1.getIntValue(); cs1=cus_service_requests.get(i); cs1.oval.setFillColor(chocolate); text2.setText(cs1.v_prev_priority); text27.setText(cs1.v_prev_tsolve); text25.setText(cs1.v_prev_ease); text34.setText(cs1.v_prev_csat); text29.setText(cs1.v_performance); 142 text31.setText(cs1.v_importance); text44.setText(cs1.v_csr_type); text42.setText(cs1.v_prev_roi); text45.setText(cs1.v_prev_cadv); Show -This function is invoked in response to the Show button click, and is used to highlight a particular CSR on the visual output. int i; Csr_agent cs; i=combobox2.getIntValue(); cs=cus_service_requests.get(i); cs.oval.setFillColor(chocolate); 143 Answer Function-This function is called, in response to the Answer Button click. This function is used to provide the user with the answers to the selected questions from the historical database. String str,str1; int i; str=combobox.getValue(); i=combobox3.getIntValue(); Csr_agent cs; cs=cus_service_requests.get(i); if (str.contains("Customer")) text40.setText(cs.v_quest1); if (str.contains("Span")) text40.setText(cs.v_quest2); if (str.contains("Quality")) text40.setText(cs.v_quest3); if (str.contains("Throughput")) text40.setText(cs.v_quest4); if (str.contains("Resource Skill")) text40.setText(cs.v_quest5); if (str.contains("Availability")) text40.setText(cs.v_quest6); 144 if (str.contains("Cost")) text40.setText(cs.v_quest7); 145