The question has obsessed homo erectus for at least half of the species’ recorded existence: What is the truth? The milestones of the path along which the question has guided us include Arjun’s theophany at Kurukshetra, the fiery conclusion of the contest between Ba’al and the god of the Hebrews, Plato’s Ideas and Aristotle’s Prime Mover, Jesus’s sermon on the mountainside, and more recently the tussle between religious communalism and consumerist imperialism. The answer takes many forms – cosmological, theological, intellectual, moral and political. To discern the implications of the answer, we must know what we mean by the question.  

Digital Transformation 

In digital transformation, the quest for a single version of truth is hindered by out-of-date documentation, a Babel of application languages, inconsistent practices of data delivery, noisy source code… the list goes on. Moreover, the purpose of having the truth can vary from department to department, which means the versions they produce are likely to vary as well.  

Whether the goal is to update an application, validate disaster recovery procedures, prepare business continuity plans, integrate ERPs post-M&A, or execute a cloud migration, we must have a clear vision of how our applications and databases communicate with each other. Otherwise, we risk disrupting the very business processes our changes are intended to support and enhance.  

Traditional Approaches

To get at this truth, enterprises traditionally depend on conferences with architects, conference calls with remote developers, documentation of questionable veracity, and tedious code review. In other words, human memory, history, and interpretation – many versions of the truth, from many sources.  

Understandably, large enterprises attach relatively low confidence to traditional methods of mapping the relationships between applications, as evidenced by the slow pace of enterprise application change. The high cost of business disruption, as demonstrated by a long list of well-publicized failures, fully justifies their caution.  

Runtime Code as Sole Source of Truth 

At Crosscode, we rely on one source of truth only: the runtime environment, whether staging or production. We use Panoptics to map code-level dependencies between applications and databases automatically, eliminating the risks associated with human error and reducing the time and cost of analysis. 

In practice, this means an impact assessment takes seconds instead of weeks or months. It means non-technical personnel can tell which systems are related and how regardless of application language or database type. We democratize understanding of the application environment so that operations leaders can make fully-informed decisions about their business systems. We provide from a single source a single version of the truth that everyone can understand, whatever the goal may be.