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 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 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.
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?”
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 Release?”
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?”
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.
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.
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.
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.