Agile Software development with Navision / Business Central

Estimated reading time: 4 Minuten

It's weird that I have to.. or want to write this article. Because since I've been working with Navision, i.e. since 1993, I've been working agile... 8 years before the term agile ever found it's way into software development.

What is agile software development?

agil/aˈɡiːl,agíl adjectiveshowing great mobility; be agile". Example: "An agile businessman". Many may also know agile from dog or equestrian sports.

Agile software development emerged as an answer to the waterfall development that had been common until then (which itself was derived from Henry Ford's series production).

In agile software development, for example, it is important to offer quick solutions in small steps. Agile software development is an idea, not a clearly definable process. The term agile software development relates to the following guiding principles, not only for projects related to Navision or Business Central:

  • People and Interactions take precedence over processes and tools.
  • Functioning software takes precedence over comprehensive documentation.
  • Client relationship takes precedence over contract negotiations.
  • Responding to changes takes precedence over following a plan.

What companies do is mostly anything but agileThat is why “Agile”, just like Scrum, is more or less considered dead. Was „In sich bereits dumm ist“, denn da Agil, genauso wie Scrum, lediglich eine Ideensammlung ist, kann diese weder tot noch schlecht sein. Es hängt halt davon ab, ob und was man sich daraus aneignet.

Agile Software development with Navision / Business Central

Especially the earlier versions (Native Navision) up to version 2009R2 all had one thing in common: the development environment, including the compiler, was an integral part of every single Navision session. In a report, a column in the total balance list had to be widened because sales exceeded the 99 million mark? Directly in the client Ctrl+F2, view/sections, widen the column with the mouse, Esc Esc Save?: Yes - done! A field was missing in the order lines? Ctrl+F2, select and insert field, Esc, Save?: Yes - done!
Since RTC (Navision 2013 to Dynamics 2019, actually 2018) this unbeatable and rather unique advantage is unfortunately history. A distinction was made between a still extremely fast development environment and the user interface. Since the interface was now served by a server service, this step was necessary. Was that good or bad? Mmmmm...

With AL & Extensions, Microsoft has given up all the advantages of this close integration. Business Central presents itself to developers as a normal development environment, and most new programmers don't even realize that financial accounting is also working in the background. I notice this in the questions I get when a newbie who thinks “I can do full stack too!” has just swapped debit and credit in an additional cost posting.

Why is Navision / Business Central the perfect partner for software development?

Even though I don't approve of the development towards AL, Navision/Business Central still offers something that Java, Python, PHP, C++, C#, etc. cannot or do not want to offer in this form (let's call it “perfection”) due to their nature: data-driven functionality. This still connects Business Central and Navision today with milestones in IT development such as dBase (Clipper), Access, AS/400 with DB2, and the legendary Siemens Nixdorf with Comet. The system ensured that data was consistent and easily accessible according to specified criteria and sorting. The programmer did not and does not have to worry about transactions, encapsulations, etc. But here, too, Microsoft deserves a big thank you: thanks to extensions, transactions in Navision are finally no longer secure and require a fair amount of expertise to avoid creating lost data structures.

Oh yes... Data-driven... Does anyone else remember UniVerse/UniData/D3 or their forefather Pick? Pick is still very active in the American used car trade today, even though hardly anyone knows this name. It was more commonly known as “Mentor,” “Zebra,” or “Revelation.” I don't think either the original or the offshoots ever made it to Germany. In terms of programming in Basic and flexibility, the “most natural successor” here is also likely to be Navision or Dynamics Business Central BC365... although Pick does have a unique position because it is (or was) closer to NoSQL than to structured databases in normal form.


My statement on programmer qualifications since around 1995: I would rather turn an accountant into a sufficiently good programmer than turn a programmer into a poor accountant of any kind.
However, this should not distract from the fact that NAVISION and BUSINESS CENTRAL are still the natural environment for data-driven applications such as inventory management, ERP, and financial accounting. Just because Navision and its successor Business Central are getting worse and worse in this regard does not (unfortunately) mean that there is anything better out there!