In The Beginning, There was NAV
Microsoft Dynamics 365 Business Central used to be called a lot of things. "Old heads" know it simply as "NAV". I think that it is important to know how it all started to understand where we are now and how we can move forward.
Once upon a time (1983 to be exact), a Danish software company called PC&C A/S (later called Navision Software A/S) built the first user-friendly accounting program that would track warehouse and finance activities all in one place. Over the next 2 decades, they started adding more and more business functionality.
In 2002/2003 Microsoft acquired Navision and began shaping the software into what we now know as an Enterprise Resource Planning (ERP) system. The heart of the system is a robust and powerful accounting software able to track business operations from just about every department a business could have in real time.
Why is this important?
Businesses used to (many still do) operate in departmental silos. Sales, Marketing, Warehouses, Production floors, Brick-and-mortar stores, etc. used to report their financials to the Accounting department and nobody had easy visibility to what was going on in other areas of the company at any given time. The Sales team wouldn't know right away that a customer is over their credit limit, for example. A lot of time and effort would be wasted due to the time it would take to gather these kinds of details. With an ERP system, you are able to use your time more efficiently to maximize benefits to your customers while increasing revenue.
In 2005, Microsoft rebranded the software as Microsoft Dynamics NAV or as we lovingly call it, "NAV".
Dynamics NAV 2009 is the last of what we call, the "classic client". A second release that year, known as NAV 2009r2 was the introduction to the Role Tailored Client (RTC). Before RTC, there was only one application where you could do development and work. The classic client is known for the Navigation pane on the left side of the page and a grey background to the right. Departments were arranged in groups at the bottom of the pane. When you selected a department, a tree of pages (called forms back then), reports, and Dataports (for importing and exporting data) would open where users would do their work. They would open as a window in the grey area. In the Object Designer, these "objects" (tables, pages (forms), reports, codeunits, Dataports, MenuSuit) could be viewed directly. If you have the appropriate license, you would be able to see and alter the code behind these objects. I will do a separate discussion regarding the different "objects" and why I'm putting that word in quotes here.
The Role Tailored Client (NAV 2009r2) was a separate application that had a little more user-friendly look and feel. You still have the Navigation pane on the left but now there was a search bar! In the classic client, you had to know where things were to access them. With the RTC, you could just search for the page or report that you wanted.
We are now entering the awkward years.
By this point. Microsoft needed to find a way to make their product more scalable. Because NAV is so customizable, partners would make so many modifications that upgrading to newer versions of NAV were extremely costly and time consuming. The most requested customized features were eventually adopted by newer versions of NAV and sometimes the gap/fit analysis was such a grueling process, companies decided to stick with the product they had or face astronomical expenses of time and money. Or worse, force their customizations into a new version that would break the base NAV functionality of the newer version. Upgrades were (and still can be) messy and expensive. The PR of the product suffered greatly.
NAV 2018 was the first introduction to Extensions and the last NAV version to use "objects". This was their attempt to start aligning themselves to move towards a Web Based SaaS (Subscription as a Service) version of NAV. It was also a warning to partners that major changes were on the horizon which prompted NAV Developers to start planning their retirement.
Extensions are add-ons to the base product to enhance functionality. The idea is, instead of modifying the base code, which is what made upgrading so difficult, an extension could be created that would essentially "plug-in" to the base code. This would allow Microsoft to push upgrades seamlessly to their users. It also gave developers an opportunity to learn how Extensions work in relation to objects. In previous versions of NAV, development was done from it's own client (or in the case of versions before NAV 2013, the same application client) and written in C/AL Code. Extensions are developed in Visual Studio in AL code. After 20-30 years of developing in C/AL Code directly in the objects, many developers had to decide if they were willing to learn something new or as I like to say, retire to an End-User.
Partners were on high alert as they felt like Microsoft was pushing them out. Outside of the licensing commissions, modifications were their biggest business. ISV (Independent Software Developers) saw this as an opportunity to increase their own businesses as they would have full control over their own extensions that partners could not touch or alter. Both will find that things do not go as they had expected.
The next version up from NAV 2018 is BC14 or Microsoft Dynamics 365 Business Central. Much like NAV 2018, this version also had a Desktop Client available as well as a Development application with objects. This was NAV developer's and ISV's last chance to get up to speed on their extension game.
These two versions of NAV/BC are very "buggy" as objects and extensions do not really play well with each other. It's like having an identical twin that speaks another language. Also, developers were trying to figure out how it all worked. New best practices had to be formed.
This is also around the time the difference between SaaS and On-Prem became important. We will discuss this in a different post.
There have been many growing pains and lessons learned between BC14 and the latest version. Microsoft has put increasingly stringent constraints around what can be modified to the point where you can't modify any base code or properties. Any changes that you do make to Microsoft base code will be replaced by the next release. They must be bundled into a custom extension. This is important because Microsoft will communicate the changes that they are making on their releases to all partners and ISV's so that they can review their code and make any necessary changes and have them tested before the mandatory release date. This way the End User will not be disrupted.
Earlier I mentioned that Partners were worried and ISV's were excited about all of this. What actually happened is, partners are still able to make money on customizations. It also opened the door to many other revenue opportunities. ISV's on the other hand were quickly overwhelmed with support and development needs. They knew that partners were making adjustments to their code and they were looking forward to that previously lost revenue but they did not anticipate the volume and the fact that many of the things partners were fixing were defects in their own product. Now, partners are not allowed to touch ISV code and in some cases ISV's are able to block their code from being seen. This hampers the partner's ability to even see what is happening to suggest a fix.
Business Central has turned out to be a really great product. It's still the same old NAV that we use to know and love. It just speaks a different language and renews itself twice a year. Many organizations are upgrading from their older versions to BC because best practices require every piece of software to be on the latest version to ensure network security and compliance regulations.
I will be making posts on some of the intricacies of NAV and Business Central in the hopes that I will inspire people to pursue a career in Business Central and be successful. If you are a student and looking for a lucrative career, if you are an accountant or a factory worker and want to change direction to something more in the tech industry, or if you are an end-user and want to work on the partner side, I want to "demystify" the world of Business Central to give you the guidance you're never going to get otherwise.
Until next time, I wish you all the best.