How do you want your ALM tool suite to respond? What does it look like? Are you using the full capability of an ALM suite in true measure? Can your ALM tools talk to each other real-time? If you are deploying ALM tools from multiple vendors and if your ALM tool suite does not look and act like a single tool, rest assured that your development environment can be quite challenging.
If your ALM functions do not work together to offer you a coherent, well-structured lifecycle process with all its capabilities, your product development is definitely not in a good shape. In fact, any software delivery, which is plagued by disconnected flow of information across process stakeholders and collaborators, is a total failure right from the beginning.
Integration or synchronization of ALM tools is the answer to all these questions and concerns. We will dig deeper into this in this article.
First, let us understand the importance of integration or synchronization through a simple example.
You have joined an annual staff meeting where participants are from different departments with different set of functions and responsibilities (for example, Sales, Marketing, Production, Supply Chain Management, Customer Support and Accounting). Now everybody in the meeting seems confused as the agenda of the meeting is not clear to anyone.
The first 30 minutes goes on working out who will present what and when? There is a sheer lack of coordination among the attendees. Though the topic of discussion (How to increase profit margin by 20%) was preset and informed earlier, the challenge is to bring synergy in what everybody is trying to portray collectively. The sales person does not have the last minute record of production volume from the manufacturing team. The SCM person does not know the final budget allocated for purchasing new materials as he cannot collect real-time accounting data from the accounts team. Unfortunately, the same communication gap persists among other representatives too.
The problem exaggerates if the organization is 100% process-centric (where data needs to flow seamlessly) and participants are from the different parts of the world. For them, email transfer with exchange of attachments and then constant follow-ups for real-time record updates do not serve the purpose in practical situations.
Most importantly, each of the attendees has their own reporting format and collectively that does not give a clear picture to the CEO about the overall performance of the company. It seems all the members have their own set of priorities, records and success stories to share, but none of them are aware of what is happening at others’ end and how each of their actions impacts the common business goal. The end result is a frustrated, unproductive meeting with zero outcomes.
Our take from the above instance: “Integrated We Win, Isolated We Lose.”
The Actual Business Scenario:
It is a fact that many enterprises spend thousands of dollars in purchasing best-of-breed tools for Requirements Management, Project Management, Test Management, Defect Management, Change Management , Configuration Management and so on, but they do not have proper information on how to synchronize the data flow among disparate tools. Moreover, different group of people access these tools in distributed environment with different set of objectives, practices and processes.
If there is no relation among artifacts being tracked in different tools, it is not possible to monitor the changes in all of them real-time; analyze the impact on each other and then take actions accordingly. Therefore, generating an aggregated report on the project progress is also not possible.
For instance, in an organization (that does not have Integrated ALM), a Test team using Quality Center (a Test Management tool) may always find the Requirements section unfilled because, the marketing persons or the business analysts working on RequisitePro (a Requirements Management tool) can never access to the Test tool in order to submit new Requirements. Similarly, the bug fixing team working on Bugzilla or JIRA (a Defect Management tool) can never go into the Test tool and therefore, always have to pull out all the bug data from QC to Bugzilla or JIRA separately.
The same applies to other developers working on different lifecycle stages. This is definitely not a sought-after situation that any project stakeholder wants to come across ever during a project development. Moreover, any such manual activities of data import and data export involve human errors and unwanted delaysand a significant productivity impact.
Key Areas where such businesses face immediate challenges are as follows:
- Seamless data flow and data visibility across tools silos and vendor boundaries
- Traceability among objects/artifacts in different tools
- Process automation across all isolated tools
- Adaptability with existing homegrown tools
- Comfortable work environment/ platform for engineers
- Cross-tool reporting with consolidated data from different tools
- Centralized monitoring and dashboard facility
- Creation and execution of business rules that are independent of multi-vendor tools
- Collaboration and synchronization among different stakeholders working on separate set of tools
- Extensive follow ups and repetitive calls resulting in high labor cost
- Uncertainties and costly surprises at the eleventh hour
- Delivery deadlines, quality of work and stringent SLAs
All the above mentioned challenges lead to increased defects, unproductive man hours which may have an expensive impact later in the application lifecycle. They not only add overhead costs to the project but also break SLAs resulting in poor customer experience.
As a remedy, businesses tend to rely on point-to-point integration between each pair of tools which again involves cumbersome manual procedures of using handcrafted integration code. The end result is a total mess leading to an incomplete and unsuccessful project.
So, what all are we looking for in an ideal ALM ecosystem? What are the key business objectives we want to achieve while deploying multi-vendor ALM tools?
Here is a list of priorities to look at.
- Easy access to any information, any time from any location
- Transparency throughout the lifecycle stages
- End-to-end traceability across all artifacts in different tools
- Speed and ease of communication and access to data
- Centralized data repository for managing and monitoring project progress
- A consistent and automated process across tools with no human intervention
- Reduction or omission of repetitive, mundane and manual tasks
- Aggregation and consolidation of data with useful reporting capabilities
- Better collaboration among teams using multi-vendor tools
- Flexibility to use any third-party or home grown tools as per business requirement
The only way to satisfy all these primary application development goals is to integrate your existing set of ALM tools and build a Continuous Integrated ALM Ecosystem. It does not matter what tool you are using from which vendor at which location and how you want to execute them; your integration platform must support you in every occurrence.
Let us try to understand why synchronization or integration is the core competency of any ALM solution from the Forrester’s ALM definition.
“The coordination of development life-cycle activities, including requirements, modeling, development, build, and testing, through: 1) enforcement of processes that span these activities; 2) management of relationships between development artifacts used or produced by these activities; and 3) reporting on progress of the development effort as a whole.”
Major benefits of integrating multi-vendor ALM tools:
a. Transparency throughout application lifecycle: In a collaborative ALM environment, business stakeholders (project managers, developers, UI designers, analysts, testers, debuggers) can easily obtain necessary insights from the isolated tools and can distribute the same accordingly. This ensures that any user (depending on the access rights), at any point of time can view and use the information from any tool pertaining to discoveries, requirements, test failures, release issues, project management and so on.
b. 100% web-based and global environment: Application development is no more a practice in a closed-circuit system. Geographical bar, cultural differences, diverse networks, structural obstacles, various time zones, nothing seems to exist anymore with the onset of web-based integrated ALM solution. Better collaboration, speed of communication, process automation and real-time progress monitoring are the essence of ALM integration.
c. Best Practice Leading to Higher Productivity: A well-knit ALM toolset can improve process efficiency by reducing human errors and mundane repetitive tasks. It also accelerates task accomplishment time; review, verify and validate Requirements to Deployment stage; update stakeholders on project progress real-time and finally build consolidated reports with meaningful metrics and analytics. The seamless flow of information across the stakeholders reduces time-consuming meetings and unwanted follow-ups. The end result is higher ROI.
d. Comprehensive Reporting and Data visibility: Integrated or Synchronized ALM primarily works as a single communication tool for the entire product development team across the development stages. Users can view, download and print built-in reports across the tools; do custom formatting and create fully customizable reports with multi-level data elements from a single ALM data repository. Comprehensive reports are available in graphical, tabular and chart format and they can be exported to excel, word and even HTML formats.
e. Satisfied customers: Most importantly, ALM integration can actually provide real-time updates on the progress and development of projects and provides them with better change management capacity. The traceability option allows customers to follow all the subsequent entities throughout the development stages and draw quick relationship among them.
Now once your project is in line with your own integrated ALM framework, the very next questions that appear to you are –
- What type of integrations do you require? Is it a Point-To-Point Integration, Single Vendor Integration or Integration through ESB (Enterprise Service Bus) that benefits you the most?
- How do you want to administer each tool in the ALM suite?
- Is the data going to be integrated into a single, centralized repository or, to be stored across the tool-specific repositories?
- Do you have the ability to configure the process and customize the user interface across the tools? Or, do you have to customize each tool according to their customization abilities?
There are a number of points to address when it comes to selecting an Integrated ALM vendor for consistent integration. We will cover each of these aspects in our next series of articles. So, stay tuned with Kovair and keep reading our blogs. For any queries or suggestions, please leave your comments here.