Anyone who has ever visited the American South has probably encountered kudzu...how can you not? It’s EVERYWHERE.
If you aren’t familiar (lucky you), kudzu is a species of climbing vine native to Asia. Locally, it is known as “the vine that ate the South.” When it was first introduced to the United States in the late 1870s, it was considered a miracle plant with a wide variety of uses — as long as it was managed properly. However, decades of neglect have left the South engulfed in kudzu, which is estimated to spread at a rate of about 150,000 acres per year. On average, Southern communities spend about $6 million per year to combat this killer weed.
At this point, you may be thinking, “That’s fascinating, but has nothing to do with Dynamics AX or Dynamics 365.” Not true! Dynamics AX had its own problem with invasive activity in the form of overlaid code (which can impact the move to Dynamics 365). And like kudzu, it was initially viewed as a good thing.
Until the introduction of Dynamics 365, overlaying code was the only way partners and customers were able to offer customizations for industry requirements due to AX’s 3-tier infrastructure. By the sheer nature of the software, some invasive overwriting was bound to occur. However, the degree of invasiveness really boiled down to a fundamental split in philosophy about Dynamics AX.
Some partners (like Sunrise) celebrated what Microsoft Dynamics AX is at its core. Solutions offered by these types of partners offered additional functionality to the software while minimizing customizations to what came out-of-the-box (because the long term maintenance and upgradability was just as important as the added industry capabilities).
Other partners were not as satisfied with the core functionality of Dynamics AX and tried to force a different structure onto the software. These partners’ add-ons, while providing legitimate benefits, often overwrote key features standard to AX. The more customization that occurred, the more deeply these ‘roots’ become entwined with the source code. When it came time to upgrade, untangling everything became just like trying to get rid of kudzu — frustrating, time-consuming, and expensive.
With the introduction of Dynamics 365, developers are required to create extensions that interact with, but don’t alter, Dynamics 365's source code. This way customers and partners can still incorporate industry-specific tweaks and still take advantage of the regular platform and application updates released by Microsoft. Another great benefit is that code extensions don’t break after you run an update. Dynamics 365 simply searches for the existing extension and picks up right where it left off.
(If you’re interested in the nitty-gritty details, this is a great article that dives into what overlays and extensions can and can’t do.)
So what does this mean for you? It depends. If you are new to Dynamics 365, this is great news because you can rest easy knowing that you can always take advantage of the latest and greatest in Dynamics 365 without having to worry about any customizations interfering with an update.
If you are planning to migrate or upgrade from an older version of Dynamics AX to Dynamics 365 you'll need to plan to do a little homework. First, take a hard look at your customizations and see if you still need all of them, since new functionality is being added regularly. For those customizations you decide to keep, you need to check with the ISV developer to ensure that they have been converted to code extensions. If they have, make sure to ask how the ISV has adapted/plans to adapt to keep up with more frequent Microsoft releases. Also, depending on how invasive previously implemented customizations were, you may also need to allot additional time to untangle your data to prepare it for migration.
Unlike the South's on going war with kudzu, Microsoft has managed to get to the "root" of invasive code overlays and has found a permanent solution to the problem. While legacy Dynamics customers may see the repercussions of code overlays for a few more years, the end is in sight!