white paper integration of perforce software configuration system (scm)
DESCRIPTION
This paper describes integration between Perforce SCM tools and Kovair ALM Studio and the resulting benefits for Perforce users and development group. Perforce ALM Studio integration is brought about by Kovair’s Perforce adapter using Kovair Omnibus Integration Platform.TRANSCRIPT
Kovair Software, Inc. Copyright © 2000-2008 [email protected] • www.kovair.com
INTEGRATION OF PERFORCE SOFTWARE CONFIGURATION
MANAGEMENT SYSTEM (SCM) WITH KOVAIR GLOBAL LIFECYCLE
Introduction
SCM tool is one of the most widely used and indispensable tools in a
software development organization of any size. However, for a
complete Application Lifecycle Management (ALM), SCM is just one of
many such tools critical for success. Kovair Global Lifecycle offers a
number of such critical built-in ALM applications including Requirements
Management, Test Management, Change Management, Issues
Management, and Release Management. Integration of a SCM tool with
Kovair Global Lifecycle therefore provides an unprecedented ecosystem
for a development organization.
Perforce is one of the leading SCM tools known for its performance and
flexibility. This paper describes the details of the integration between
Perforce and Kovair and the benefits the Perforce users and the whole
development group get out of this integration. The users of other SCM
tools can expect a similar set of benefits from the integration of the
particular SCM tool with Kovair Global Lifecycle.
Kovair has created the Perforce adapter using its industry leading
Omnibus Integration Bus technology. Omnibus ensures a vendor
neutral ALM Platform. Significant features of Kovair Omnibus
Technology are – Bus Architecture, Web Service standards (using SOAP
protocol), and tool–specific API. So, any third party tool can be
integrated with Kovair Global Lifecycle, by creating an adapter.
Kovair Global Lifecycle is a
web–based Application
Lifecycle Management (ALM)
Tool with single repository. It is
the flagship product of Kovair
Software Inc.
The application is enriched
with wide array of industry
leading features. Major
Components are – Kovair
Lifecycle Application, Process
Automation Technology, and
Kovair Omnibus Technology
Kovair Integration with Perforce
The integration has been achieved by creating an Omnibus Adapter –
specific to Perforce SCM. The adapter maintains two way
communications of data between Kovair Global Lifecycle and Perforce
SCM.
The adapter is a lightweight interface expositing the internal data
schema of Perforce. There is no hardcoded business logic in the
adapter. This makes the same adapter highly adaptable to various
business needs for different organizations. The business rules are
defined using the Kovair Service Flow user interface and does not need
any coding. The beauty of separating out the data layer (adapter) and
the business rule layer (Service Flow) is that the end users e.g. business
analysts or the development managers can define and redefine business
rules without changing the adapter.
The business rules for the transmission of data across the tools are
Macro Level Benefits
Customizable Service Flow
Real Time Communication
Total Visibility
Forward and Backward
Traceability
Streamlined Process
Quality Improvements
Kovair Software, Inc. Copyright © 2000-2008 [email protected] • www.kovair.com
defined by the Service Flow. It is the conditional logic of how tools will
behave on real-time events. Service Flows are fully customizable,
according to business needs, and it does not require writing a single line
of code. As and when an event matches with a Service Flow trigger,
data gets replicated from Kovair to Perforce or vice versa.
Kovair’s Omnibus Integration technology can be used with
synchronization or two-way replication between Kovair and Perforce
SCM. For example, by synchronization the Changelists in Perforce can be
synchronized with the Changelists in Kovair - which means a Changelist
added or edited in Kovair is replicate in Perforce SCM and vice versa.
However, for all items, synchronization is not desirable, especially if the
data content is too big in size. Hence, for the source files in Perforce
SCM, a different strategy is used. Only the information about the files
and Not the file content is replicated in Kovair. When the content is
needed Omnibus requests Perforce to get the actual content of the
particular file on-demand. This method allows the actual data to remain
in Perforce SCM’s repository and fetched only when needed. This
method is called Federation.
Role in IT Management Practices
Involvement of many tools from different vendors in operations and
services is a common scenario of today’s Software Development
environment. As a result, demand for an integrated framework is
growing. Kovair integration with Perforce SCM is an aid for development
management practices for Configuration Management, Release
Management, and Test Management. It is a framework that can
accommodate multiple tools, and synchronize them with different ALM
activities.
Configuration Management: For the Configuration Manager it is often a
critical task to trace out ‘right’ source codes for a Requirement, Change
Request or a Defect. With the integrated framework of Kovair Global
Lifecycle, and Perforce SCM, it becomes easy to track source codes for
each item. The Managers do not need to switch between the tools.
Using the traceability feature, Configuration Manager can easily identify
appropriate source codes, linked with Requirements/Change Requests,
which are considered for a Configuration. From Kovair Global Lifecycle,
they can view a complete history of source codes, and verify the
changes made by Developers. The Configuration Manager can answer
the question very easily “what source code files are changed by
implementing/ fixing this requirement/ change request/ bug?”
Release Management: Organizing a Release Package or a Build requires
detail identifications of source codes. Release Managers can find
Kovair’s Traceability feature useful for building a Release Package. For
each Requirement/Change Request, linked source codes get federated
in Kovair from Perforce. The Release manager can answer “What
requirement/ change request/ bug are implemented/ fixed in this
What Kovair assures:
Traceability of ALM Items
with their source code
files: Kovair ensures
Forward and Backward
Traceability of ALM items.
From Kovair, you can easily
trace the source code files
for any Requirement /
Change Request / Defect.
Visibility of Perforce Items:
Kovair ensures complete
Visibility of Perforce items.
From Kovair, you can view
Perforce items – Jobs,
Changelists, Files, Versions,
and changes done in codes.
Synchronization of ALM
Processes with Perforce
events/activities: Kovair
Omniprocess Technology
ensures the synchronization
of Perforce related user-
activities with Requirement
Management / Release
Management / Test
Management process
Kovair Software, Inc. Copyright © 2000-2008 [email protected] • www.kovair.com
Release?”
Test Management: The integration of Kovair Global Lifecycle and
Perforce SCM has significant value in Software Test Management.
Modifications in source codes are done during ‘defect tracking and
resolution’ stage. The integrated platform ensures that Developers can
easily trace the appropriate source codes for code level modifications,
and Test Manager can verify that a ‘right’ source code is modified for a
defect. The QA Manager can also answer the question “Do we have test
cases to test these source codes and if so what are the status of these
tests so far?”
(defined in Kovair).
Value Additions in Business Process
Strict Process Enforcement:
Manual enforcement of a process and disrupted workflow across the
tools pose significant challenges in multi-tool development
environment. The integration of Kovair with Perforce SCM is able to
enforce strict process in application development using Kovair’s
Omniprocess Technology. The integration ensures Perforce items (Job,
Changelist, and File) to get replicated automatically in Kovair, and
Kovair items (Requirements, Change Request, Defect) in Perforce. In
addition, cross-tool synchronization of events can be implemented
through Kovair’s built-in Process Engine. By virtue of Kovair’s
Omniprocess Technology, ‘Creating a Job/Changelist’ or ‘Modifying
Source Code’ in Perforce can be synchronized with events/user-
activities of Kovair.
Quality Improvement:
The quality of development process gets affected due to several factors
including inefficient Issue/Defect Resolution approach, or inappropriate
source code in Release Package. Selection of ‘right’ source codes for
the selected Requirements and Issues is quite significant in this regard.
In Perforce SCM, it is hard to trace appropriate source code for an Issue
or Requirement manually – unless there are automated ways for source
code to trace back to an Issue or a Requirement. Kovair’s inbuilt
Traceability feature is an aid for identifying the ‘right’ source code for
an Issue or Requirement. It ensures accuracy in source code selection,
and reduces time and human effort of implementation and release
processes.
Total Visibility:
The integration of Kovair and Perforce ensures cross-tool replication of
data in real-time. The replicated data get visible through Kovair’s
common interface from different geographical locations. The replicated
items of Perforce (Changelist and Job) can be used with Kovair items
(Requirements, Change Request, and Issue) to generate graphical and
tabular reports.
Highlighted Value Additions
Automated data replication
across integrated tools to
eliminate expensive manual
processes and human errors.
Creating and managing
business rules by the end
users rather than
developers.
Immediate visibility across
groups, management levels
and geographies.
User preferred tool
environment for individual
functions but in a totally
integrated environment.
Kovair Software, Inc. Copyright © 2000-2008 [email protected] • www.kovair.com
Complete Traceability:
Forward and backward Traceability is an effective feature of Kovair
Global Lifecycle that provides total visibility of development lifecycle at
any point of time. From an Issue/Defect, using the backward
traceability, linked Requirement can be identified. Similarly, by virtue
of forward traceability source codes (federated from Perforce) link with
an Issue/Defect can be traced.
Two-way Communications
Frequently Asked Questions
As a Project Manager how do I figure out which source code files got added/ modified to
implement a Customer Requirement or to fix a Bug?
The integration setup of Kovair and Perforce SCM, and Kovair’s built-in Traceability feature,
together ensure easy access of source code files for Customer Requirement or Bug. By virtue of
Omnibus Technology, whenever a source code file gets added/modified in Perforce repository
(known as ‘Depot’), it automatically gets federated in Kovair. Also, the linkage between
Kovair Software, Inc. Copyright © 2000-2008 [email protected] • www.kovair.com
Requirement/Bug and the federated file is automatically setup in Kovair. So, from the
Traceability page of a Requirement/Bug, a Project Manager can view associated source codes.
How do I enforce/automate source code Review and Approval processes?
You can enforce/automate source code review/approval process in the integration environment
of Kovair Global Lifecycle, and Perforce SCM. Kovair’s built-in Process Engine Omniprocess
enables you to design any complex process for Perforce items (Job, Changelist, and File), which
get replicated in Kovair. For example, against ‘File check in’ activity in Perforce, you can
implement source code Review and Approval process in Kovair. In the process you can involve
users of different Roles (e.g. Project Manager, Developer, Testers, and Test Manager) and
assign them to appropriate process activities. You can also implement processes for activities
like – ‘Changelist Creation’, ‘Changelist Submission’.
How to create an integrated environment for Change Management and Configuration
Management?
The integration setup of Kovair and Perforce SCM ensures a common platform for Configuration
Management and Change Management. For each Change Request, Developers can figure out the
Development Package, and using Kovair’s Traceability, existing source codes can be traced.
Whenever any source code is added/modified and submitted in Perforce SCM by a Developer,
the information about the file (including its version) gets federated in Kovair through Omnibus
under the same Development Package. Members of Change Approval Board (CAB) / Change
Review Board (CRB), using Kovair’s Traceability can find out the federated source codes for a
Change Request. They can view – all versions of source code, changes in source code, and other
file history details.
How to create an integrated environment for Build/Release Management and Configuration
Management?
The integration setup of Kovair and Perforce SCM provides a common platform for
Configuration Management and Build/Release Management. For each Release/Build, the
Release Manager can figure out appropriate Development Package, and from there using
Kovair’s Traceability, existing source codes can be traced. Whenever any source code is
added/modified and submitted in Perforce SCM by a Developer, that file gets federated in
Kovair through Omnibus under the same Development Package. Release Manager can view the
latest version of all federated source code files and can prepare the Build/Release Package.
How to enforce compliance processes in SCM?
The integrated platform of Kovair Global Lifecycle and Perforce SCM allows you to implement
process oriented SCM solutions. With Kovair’s built-in features like – Process Automation,
Traceability, Visibility, Consolidated Reporting, and Omnibus Technology, the Software
Configuration Management solutions can be configured compliant to CMMi, and Sarbanes-Oxley
framework.
How to pinpoint source code quality problems?
Using the integration with Perforce SCM, supported by Kovair’s built-in Traceability feature, it
is possible to figure out the source code files, which are generating maximum Defects. Figuring
out the right source codes is possible with minimum human effort, and in an optimized
timeframe, which is a plus for any quality enhancement process.
How to do Root-Cause Analysis?
Kovair Software, Inc. Copyright © 2000-2008 [email protected] • www.kovair.com
Unless you establish proper linkages among ALM items (e.g., Requirement, Change Request,
Use Case, Test Case, Defects, and Release) and source codes, it is hard to perform Root–Cause
Analysis. Source codes are federated from Perforce to Kovair, and linked with a Defect – using
Kovair’s Omnibus. The integration setup of Kovair and Perforce SCM ensures quick
identification of source codes (as root). By virtue of Kovair’s Traceability, you can trace out
the codes following the path, say Requirement Use Case Test Case Defect Source
Codes.
How to estimate change impact for any modification in source code files?
Implementation of one Requirement might be spread over multiple source code files, similarly
one source code file might be linked with multiple Requirements. In the integration setup,
source code files get federated from Perforce to Kovair. In addition, links get established
among source codes and Requirements. By means of Kovair’s built-in Traceability you can
estimate change impact of a source code (when linked with too many requirements) or
Requirement (when linked with too many source codes).
How to ensure change propagation through source code files by impacting linked files?
In Configuration Management, modification in source code and/or Requirement is a common
occurrence. The integration ensures automated replication of modified source codes for
Requirements. So, using the forward and backward traceability you can identify ‘what are the
Requirements to be modified due to any change in source code’ or ‘what are the source codes
that need to be modified due to any change in a Requirement’.
Notes: Kovair has the Perforce Adapter available off the shelf for those who wish to consider
integration between Perforce and Kovair Global Lifecycle product. Kovair is a full fledged ALM
Partner of Perforce as indicated on the Perforce Corporate website www.Perforce.com.