In a 2018 article which merits continued discussion:
Abstract: The hierarchical classification of life has been claimed as compelling evidence for universal common ancestry. However, research has uncovered much data which is not congruent with the hierarchical pattern. Nevertheless, biological data resembles a nested hierarchy sufficiently well to require an explanation. While many defenders of intelligent design dispute common descent, no alternative account of the approximate nested hierarchy pattern has been widely adopted. We present the dependency graph hypothesis as an alternative explanation, based on the technique used by software developers to reuse code among different software projects. This hypothesis postulates that different biological species share modules related by a dependency graph. We evaluate several predictions made by this model about both biological and synthetic data, finding them to be fulfilled. …
[from the text:] the dependency graph: This hypothesis is drawn from the techniques used to reuse code in software development. Briefly, instead of a species descending from a single ancestral species (at least in the conventional account), each depends on multiple modules which themselves may depend on other modules. This brings together many of the ideas proposed by design-oriented critics of common descent. It uses the idea of common design by having modules reused in different species. It also draws on functional constraints, by having the valid combinations of modules restricted by which modules depend on other modules. Furthermore, it predicts an extended pattern which is the result of the proposed dependency graph mechanism.Winston Ewert, “The Dependency Graph of Life“
Here’s the pdf.