A figure appears on the screen. It is incorrect, or perhaps no one can explain how it was calculated. The developer who wrote the rule has retired, and the documentation—when it exists—provides no answers. The only option left is the old method: opening the source files one by one and hoping to find the right line of code.
DISCOVER’s data lineage turns this approach on its head. Instead of searching through the code, you start with the displayed value and trace its calculation backwards, field by field, until you reach the original business rule. All of this is done graphically, without having to read through the source code.
Data lineage: a solution for three situations
Data lineage can be used in three main scenarios:
These three scenarios are joined by another: high-risk changes. Before modifying a program—for example, a tax calculation—it is better to visualize everything that could be affected.
Behind all of this lies a fundamental issue that guides our work: application knowledge often depends on a small number of key people. When they leave, that knowledge disappears with them.
The principle: from the displayed field to its business rule
The starting point is deliberately user-oriented: a screen and a value. The question is simple: how is this value calculated?
DISCOVER allows you to trace the data path backwards. The field comes from a calculation; that calculation involves other fields; and those fields may themselves come from the database. Two paths are therefore followed in parallel: the path of the data and the path of its calculation.
A single value may depend on several business rules, such as an initialization rule and a calculation rule. Data lineage does not provide a single answer: it reveals every possible way in which the value can be produced.
This is what we call “meaningful navigation.” Instead of browsing through the code at random, you move in a specific direction, determined by the interactions between fields and by the calculation you are trying to understand. While a source-code search requires you to examine each file individually, data lineage traces the connection directly, making it far more efficient than searching through every source file.
A practical example: where does the VAT amount come from?
Let us take a straightforward example. The VAT amount is calculated by adding two values together. Each of these values may come either from an initialization or from a calculation that can itself depend on other values, and so on.
By tracing the branch backwards, you eventually need to retrieve the VAT code from the item code. At this point, the calculation becomes more complex: two nested functions are involved. DISCOVER displays both functions and provides access to the code for each of them when necessary.
Here is another example: when a new order is entered, a quantity or price may initially be set to zero. This is the initialization rule. Then, as information is entered and processes are executed, the value is gradually built. Data lineage makes this construction visible, step by step.
Where to begin: two entry points
DISCOVER provides two ways to begin a data lineage analysis:
In both cases, the exploration is graphical. The code elements that act on a field are displayed as small blocks. With one click, you can view the corresponding assignment or calculation, together with the relevant sequence number. You can hover over a component to display the procedure involved, navigate into subprocedures, expand fields, and trace the branch back to the origin of the value.
Deterministic data lineage, complemented by AI
Data lineage is not built using AI. It relies on impact analysis and on the relationships between fields, drawing on our extensive experience in automated transformation and modernization. The direct result is guaranteed rather than probabilistic output. Today, these relationships are based on the application’s cross-references.
However, AI is still an important part of DISCOVER. It is used in areas where it provides the greatest value: explaining code, assigning functional names to components, and enabling natural-language queries.
The two approaches complement each other. The deterministic approach traces calculations reliably, while AI makes the surrounding information more accessible and easier to understand. This is also the direction we are taking for data lineage itself, with AI-generated explanations planned for future releases.
Conclusion
DISCOVER’s data lineage answers a question that appears simple but is often costly to investigate in practice: where does this value come from?
Starting from a screen or the database, users can trace calculations backwards, identify business rules, and visualize impacts—without having to read through the source code line by line.
The benefit goes beyond saving time. Application knowledge no longer depends on the memories of a small number of individuals. It becomes accessible to everyone: developers, analysts, and modernization managers.
Looking ahead, we are preparing two new features: a button for saving data lineage diagrams so they can be incorporated into documentation, and AI-generated explanations directly within the data lineage views.


