Software intelligence is a full stack monitoring platform that discovers, diagnoses and helps you resolve software issues both in production and that are affecting end users.

Instead of using different monitoring tools that don’t communicate with each other, software intelligence combines features like crash reporting, real user monitoring, deployment tracking and user tracking to build a more ‘intelligent’ view of your overall software health.

Short on time? Find out everything you need to know about software intelligence in this ebook. Download here.

By using local agents or a small piece of code, software intelligence focuses directly on understanding the activity of your application, providing your team with valuable insights into the overall health of your software.

How is software intelligence different from business intelligence software?

The best answer is they both have different functions and are not related, but can be used side by side.

While business intelligence software (or BI) analyzes day to day business metrics and trends, _software intelligence _provides actionable data on how your application is performing in real time.

In the same way that a company uses BI to coagulate disparate spreadsheeting and resource management tools, software intelligence combines several monitoring tools into one platform.

By reducing the number of tools you need, software intelligence makes your technology stack much neater and more efficient at communicating.

How does it help your team?

From server-side crashes to slow performing pages and discovering bad deployments, software intelligence is a top-down view of issues affecting end users. It offers insights into backend, front end, and server level issues in real time – as they are affecting your end users – right now.

A cornerstone of a software intelligence platform is that it is able to identify when a user has taken actions that have resulted in an unhandled exception. Using features like crash reporting’s breadcrumbs, developers are able to see what exactly what happened leading up to the crash. Real user monitoring gives the _who, _with data on load times and live sessions (shown below in the Raygun platform):

Raygun dashboards

The issue can then be identified and brought to a developer’s attention within seconds using integrations with ChatOps and task management software such as JIRA. Detailed diagnostic details, including the stack trace information, are then made available to the developer in order to replicate the issue quickly, fix it, and deploy the update to production.

The issue is then resolved before it affects any further users, who otherwise would have run into the same problem.

The same is true for issues that aren’t triggered by a user. With software intelligence in place, if a database time-outs or poorly executed code triggers errors in backend systems, it is picked up immediately. Developers can then fix up these issues before any users are affected.

Understanding the components of software intelligence

All software has problems – in fact, ‘zero bug’ software is not the aim. You’ll find that it’s how those problems are handled that set development teams apart. In traditional team settings, multiple teams are involved in the detection and resolution of software problems. This inevitably leads to a breakdown in communication and possible confusion in your team.

Software intelligence aims to breaks down these communication walls by leveraging integrations with ChatOps and deployment software to automate low-value work (like looking through log files).

Software intelligence comprises of Crash Reporting, RUM, User Monitoring and Deployment tracking

A software intelligence platform has the following key characteristics that all work together:

Crash reporting

Real user monitoring

Deployment tracking

User tracking

Let’s go into detail below.

#artificial intelligence

What is software intelligence? A definition and guide for software professionals
1.25 GEEK