What is Process Intelligence for the SDLC?

Process intelligence refers to a system that collects, organizes, and analyzes disparate data from multiple SDLC systems and programs with the goal of identifying application hotspots and reducing the risk of a software release candidate. Process intelligence also delivers insights about the overarching software development process highlighting opportunities for improvement. A software development system has process intelligence if it can:
  • Collect data from disparate activities and components within the software development lifecycle (e.g., code analysis, unit testing results, code authorship, etc.)
  • Merge, correlate, and analyze data based on business requirements (i.e, policy, KPIs)
  • Deliver the processed data to agents within the system to achieve their goals, as well as to agents responsible for improving the overall process.
process-intelligence-resource

To achieve process intelligence, the system typically requires a mechanism (i.e., process intelligence engine) capable of providing information about how the data points were derived. This usually involves a second-order, multivariate analysis after the data points have been collected and correlated.

In software development, process intelligence is in contrast to development management and reporting systems that output data to static reports and dashboards. Even if agents can interact with the data in dashboard-oriented systems (sort, visualize in custom forms, export, etc.), they are usually unable to apply a development policy that analyzes the data points based on specific organizational goals. As a result, resources must be dedicated to consuming and interpreting the data in order to make decisions. This is opposed to gaining insight about the process through automated, prioritized findings via a process intelligence engine.

Example of Process Intelligence

Logistics: When a PO is generated in a modern logistics system, several data points are collected about the delivery of a shipment from a PO to final acceptance, which my include:

  • roadways or flight paths to the destination
  • other POs along the path
  • frequency of PO requests
  • weather, construction, and other environmental variables that may affect the delivery
  • characteristics about the site(s) in the PO (size, weight, number, availability, region-specific restrictions, etc.

There are several more data points that could potentially be collected. A process intelligence engine would be able to collect and process all this data to ensure that the PO was fulfilled quickly and without incident, and that the process for fulfilling POs is continuously improved.