Estimated reading time: 26 minutes
Buzzword bingo, also known as bullshit bingo, means: to integrate meaningless or even erroneous word phrases into advertising nonsense in order to fake a non-existent competence.
In now 4 decades I have seen so many hypes come go again. And since I have been earning my money with Navision since 1993, the "seeing go" in particular has always been associated with a laughing, rather than a crying eye. And so it is now time to take a look at some of the hypes with a view to "My" Navision. Important: For every "buzzword" there are certainly useful applications. I refer exclusively to the commercial world, especially Dynamics Business Central or Navision.
Agile development has always been standard in Navision & Business Central, at least in the versions from 1993 up to and including 2019 Spring Release! Long before this term existed, it was completely normal for Navision developers to go directly to the employee's workstation, look at the problem on the screen and then quickly change a program line. And thanks to the Navision structure, the program change was delivered in a few seconds. If you have never programmed in Navision (I am deliberately excluding Business Central here), you have never used real nice agile development.
As with Agile development: seconds after a program change was made, it was also delivered to the user by the system. In the past, a client had to be restarted if necessary, but RTC actually managed the feat of making this change effective immediately. Every C# / Java / SAP / Pearl developer dreams of this... and don't understand how sophisticated this "totally strange development environment" actually is.
OOP – Object oriented programming
Data and data processing logic form one unit? In 1993 it was still called "dbCallfieldcode", in 1996 it was changed to Record.Validate(Field). Object-oriented programming in a clean, understandable and traceable way, completely without inheritance, overloading and parameter conflicts. Type compatibilities were already tested in save and in many cases resolved by the system wherever possible. Otherwise there was an understandable plain text message, no exception. Until today.
In Memory Database (Hana)
After more than 25 years of development on different hardware models (hard disks, SSD) & Navision versions (3.5x, Financials, Dynamics NAV, Business Central) & server versions (native, SQL) of this time: If the hardware is too weak, the developer is too bad. The native server could easily handle 100-120 active users with 1 core (that's all it could use), 1 GB Ram and 10 hard drives (or one SSD). However, in all this time I haven't found a developer who understood why transaction numbers scale with the number of disks. Or who even knew what transaction numbers are...
With SQL, on a clean system, 2 SQL cores per 50 employees + 100 Mb per employee should be sufficient for a database system that always reacts with high performance. Of course, you have to keep an eye on the transaction figures, but since SSDs, this is no longer a question for less clever hardware installers. But I still see a lot of people putting a SQL database and a SQL transaction log together on the same storage medium (the same hard disk). Sometimes through the backdoor of a Raid-5 subsystem. Or SQL files on a memory pool. Then one knows immediately: Against the lock swam and then still somewhat wet and with headache the configuration took over. Under SQL the new challenge came to knowhow keys and flowfields work. And how the SQL server deals with queries (keyword "Result Set"), thats another thing hardly any developer knows until today. In memory databases are remedies if the developers are incapable of dealing with their data structures or for testing basically take only the Cronus client 🙂
Navision is installed once and ready, regardless of whether you are using the DOS version from 1993, the Windows native version since 1996 or the RTC version since 2012. This ends the Ops side of DevOps, because from here on an operator has practically no more task for the stable operation of Navision. Often the installation of the SQL server and the Navision service is done directly by the developer. Because he/she knows best (should know...) how a SQL server for Navision has to tick. The development (Dev) of Navision is then done directly within the Navision development environment or since Extensions V2 (Business Central 2018) via Visual Studio Code. Here, too, the operator, i.e. the "machinist" in the EDP team, has nothing more to do. Never has.
The Navision and Business Central "Framework" shows itself - by the -genius- development environment, which keeps all in other programming languages usual pitfalls (Racetime-conditions, garbage collection, Managed Code, Transaction & commitment...) away from the developer. Since the RTC, Microsoft is trying hard to reintroduce various problems of that time (sudden system shutdowns, terrible string handling, sort-on-demand...) into the formerly happy Navision world. But if you know the pitfalls, you can firstly quickly recognize them and secondly quickly avoid them.
Writing little code to develop an application? Navision invented it. In the last millennium already! For rapid prototyping including mockups and docuscreens, up to 2009R2 (without RTC) completely working applications including reporting, sorting, searching & filtering could be created without a single line of code. Unfortunately, this is no longer possible today. But even with AL still faster than in any other more or less current development environment.
AWS, Azure, private cloud... "There is no cloud. There are only computers that belong to someone else." And that's what you pay for. Because the computer owner wants to get paid for his computers, too. That's how simple this business is. With the difference that you now have a cable hundreds of miles long between your monitor and this other person's computer. And that you don't know where this cable ends; so where your data is. And you also don't know who is sitting at the other end of the cable and that it can be disconnected. And the computer can also be switched off sometimes. No? Where are the Windows-Phones? What happened with the german windows cloud? What will happen to Google Cloud Print, google wave, Google+? What happened to all the Blackberry-Services? What about Irista von Canon? What happened to Lima? How do you save your data from the Robin-Smartphone?
Even with cloud services that are still running, the question arises, especially in Germany: Is my bandwidth sufficient to run the service in my company at all? What if I move my company from the center of Berlin to Brandenburg? I can take my own server with me, but not a fiber-optic connection.
The installations for a Business Central on the Azure cloud speak for themselves. They don't even take the additional limitations that come with this decision into account. You should not, in my opinion, put anything in "the cloud" that you can't live without for at least a day. And save money? As noted, it's a server that belongs to someone else. And the other person doesn't provide that server because he's such a great humanitarian. But of course, especially for software, there are rental models that are deliberately calculated to make the monthly fee more attractive to the customer than the purchase.
As we have already seen with cloud computing: Not every bandwidth available at the site meets the necessary requirements. The solution? Edge computing! In the simplest form, the closest to the definition, the desired computing service moves from the company's own secure server room to the plastic cabinet secured by a square key at the crossroads... just edge computing... computing at the corner (or interface) between the company's own network and the remote data center.
Minor service. Independent, easy to maintain, easy to scale. Very practical for checking an exchange rate on the Internet. But what if a transaction is to be carried out at the same time as the queried exchange rate, e.g. a currency transfer? Then the minimum of two or even more necessary microservices quickly become a macroservice... A non-tradable macroservice. It is no coincidence that flight schedules and bookings, electricity deliveries, and pension insurance are still largely mapped on mainframes. Because there, a transaction is guaranteed to be completed and confirmed as a whole. An ERP with thousands of microservices? Consistent pricing together with a guaranteed fully processable order taking a credit limit into account? In Navision, you start a transaction and post inventory, balances, cost accounting, production orders and vendor sales in one go. And when the transaction is aborted, all the data is consistently available again in its original state. Simply impossible with microservices. There are certainly useful applications for them. But not in the ERP world.
Of course, it is nice to store completely unstructured data in some kind of database. In the past, this was called a file system or Lotus notes. In this respect, it's just old wine in new skins. But what do you do with the unstructured data? You create metadata, attributes... classic SQL structures. And sales, open items, inventories and G/L account balances simply don't need No-SQL... just: No NoSql. For a commercial system, structured data as it is available in a dBase, DB2, Firebase, or Navision or SQL database is the daily bread. You don't need less. But also not more.
The buzzword of 2018-2019. Does anyone still talk about it today? There is a lot of information that can only be found in a large mass of data. Switching cycles of traffic lights based on traffic flows. Failure detection using runtime or temperature detection. Spreading patterns of epidemics. As a rule, however, "Big Data" means, just as with AI, that someone was just too lazy to do the pattern recognition themselves. I could also retrieve traffic light cycles directly from the traffic light computers. But if you prefer to use cell phones that can be queried for free instead of expensive wiring of traffic light computers, then Big Data is again a great tool for downstream pattern recognition, which takes us to AI.
Today the new Big Data is again Smart Data: Intelligently prepared, compactly collected and easy to process data. And BigData is only needed as training material for the famous AI. After that, the data is just ballast.
Ai Artificial Intelligence (Deep Learning)
Artificial intelligence? Doesn't exist. Didn't exist in the 60s, when Eliza was still worth a headline. And there wasn't any later, not until today. What is sold to us today as AI is neither artificial nor intelligent. It is an automated pattern recognition from masses of pre-indexed data, Big Data again. And the better we understand this pattern recognition, the more sobering it becomes: Mhm... not quite! In image recognition, which seems almost magical, there are Trains not recognized by the lock, but by the tracks. Horses are not recognized by the shape of their heads, but by copyright notices. Therefore, also e.g. face recognitions (Not "face recognition") are performed by vector matching. Highly complex programming. But also effective, in contrast to the often rather "precisely guessing AI". In Navision or more precisely Business Central you can see this wonderfully with the Payment behavior of debtors (customers) . In almost every Navision installation I was in charge of, there was a column "Overdue in days" in the customer invoice items. With a line in the program code during the OP clearing, an overdue date was logged there. And so it was possible to determine very simply and very precisely whether a customer was a reliable payer and which average overdrafts could generally be expected per customer. Simple and accurate. In Business Central there is now an AI solution that can, with a lot of fuss and a lot of setup, output to an open item "Might be overdrawn". Real! That's all! In the commercial sector, for inventories and balances, for transfers and reminders, I simply don't need AI. I need decent accounting skills, good sales and purchasing skills, solid merchandise management skills. But Navision doesn't have to save self-driving cars from colliding with trains...
Examples for my statement: (I will expand this from time to time)
Also a great post from Mai Thai: https://www.zdf.de/show/mai-think-x-die-show/maithink-x-folge-04-100.html
Everything was supposed to become easier, cheaper and safer with the blockchain. Medical reports, container tracking, dissolution of banks in a few months, democratization of money. Self-fulfilling contracts. A very big aspiration for a decentralized, replicating database - that's pretty much what a blockchain is.
Something "similar" also exists in the Navision office: there it's called account statement, which synchronizes payments and money receipts. And that for many years automatically.
What has remained of the blockchain so far? Quite a good method to carry out illegal business or Computer blackmailing . To persuade stupid people with insane promises to pay money without any content . In the real business environment it's more of a low-cost advertising opportunityNew headlines like "First customer payed with Bitcoin" is very reminiscent of the first train ride from Nuremberg to Fürth. Bitcoin remains exciting, blockchain will find its market. However, a marketing hype-driven "everything must go to the blockchain" is about as stupid as a thoughtless "everything must go to the cloud".
A tool where I can store different versions of a program. This used to be called text editor or backup copy and is now stylishly located in the cloud. OK, Merging, Branching and Forking are new... And somehow more of a Overheadif you have to change only a few lines anyway. You have the original in the backup from yesterday... or maybe not?
As a term, this is one of the stupidest buzzwords you can come up with. What is meant, however, is that you can run functions yourself on an abstracted platform without having to worry about the necessary framework conditions (server hardware, performance, configuration, often also backup, etc.). Of course, the framework provided for "serverless" must also be 100% suitable for the task. It is better to check this beforehand.
For Navision, I sometimes use this buzzword for fun, to say that the Navision environment (server, client or service) can be "just forgotten" once it is set up correctly. If you program cleanly, this is true. I've had customers who didn't know where their native Navision database server was because no one took care of that box for years. But other than that, it's true again: There is no cloud. There are computers that belong to someone else.
A plague. Especially because you often can't differentiate poorly (=cheaply) trained support staff from poorly programmed chatbots. And yet, about a decade ago, chatbots were THE hype that every company needed. And today the then sloppily programmed systems are sometimes still annoying on websites, because someone has forgotten that the script from back then is still running. Eve", a small animated figure on Yellow-Strom, has achieved a cult status. When choosing the correct terms, she took off her clothes. Unfortunately, she was not "forgotten", but at some point really switched off. Too bad.
But if you do it right, and really well, you can save a lot of routine. Example: Amazon's complaint chatbot. It only asks 2-3 questions, without pretending to be a human being. And then it simply transfers the collected information (which item from which order has which problem?) coherently to a person in charge. Rational and functional. A role model!
Linden Dollar... anyone else remember this new "must have" from 2003? Web stores, just launched for a lot of money, are becoming unnecessary. Phone calls are dying. Every support and marketing absolutely had to be present there... And today? Thanks to browsers, Google and SEO optimization, communication takes place for the most part via texts, just like in the 18th century. These are actually still read and not transmitted directly into the brain via micro-chip implant... Unfortunately! Unfortunately? And Second life... does it still exist at all?
A buzzword almost as old as me. And just as old as the term "paperless office" is the contradicting study on paper consumption itself. However, since 2020 I recognize the next silver lining on the horizon! "Thanks" to Corona - and the often necessary home office (another buzzword, but this time a really good one, in my opinion...) many companies are now consistently trying to convert at least their incoming and outgoing invoices to electronic, paperless documents (PDF etc.). And that, thanks to relaxed government rules, also more and more successful. If everyone works together...
I'm happy to show you my version of a paperless processing of incoming invoices.
And yet... When I look for posting errors in financial accounting, inventory management or fixed asset accounting, I always make a paper printout of the corresponding account first myself...
SaaS – Software as a Service
Programs that can be parameterized to the maximum by the user, but otherwise cannot be seriously changed, are used completely without local installation via the Internet. Gmail, Microsoft Office 365, Adobe... Great solutions, easy to use, available on any device. Meanwhile, Business Central too! And the rule is: use it exactly as we intended... even if we have absolutely no idea about your business processes, your special prices and your agent billing. Well, it's not quite that extreme with BC. You can integrate complete solutions and modifications into BC via the extensions. You just have to live with the certainty that Microsoft will update it and your ERP and financial accounting won't work for a few days because a "plugin" (that's how you can understand the extensions) doesn't quite fit the change. But for simple companies BC as SaaS is definitely an option. I just don't know of any such simple-minded company... Oh yeah... Anyone else remember the Saas of the 70s? No? Even today all flight and train bookings (worldwide?) go through those funny green terminals... with serial connection to a mainframe. Energy broking, bank movements, stock trading, flight bookings, container tracking: mainframe systems that allow to be accessed from anywhere in the world via serial connection. The mainframe is dead... long live the mainframe 🙂
Does anyone know the origin of the word? Scrum is the a term in rugby during intense contact with the ball. What is meant by this is that small development teams are only given one goal. They are supposed to determine the path to this goal independently, in the hope that they will reach their goal more quickly without regulation. In this respect, you could also call the jostling in an anthill a self-organizing team. In Business Central or Navision, this methodology is less common, since individual developers instead of development teams often run complete solutions from task definition to rollout (project owner). But of course SCRUM can also be mapped under / with Navision / BC, perhaps even better than in other environments due to the blazingly fast results.
PbV – Pick-by-Voice
A logistics hype that I personally never understood... just like many users didn't understand the voices and then again the downstream computer didn't understand the picker's queries. And I don't know any company that would use PbV again. Presumably there will be one or two readers who love and defend PbV... most will just shrug their shoulders, like me.
Container, Docker, Kubernetes
Virtual machines, containers... tools to better utilize expensive hardware, but not a universal remedy for anything... and certainly not a miracle cure. Containers can, depending on the purpose, have disadvantages compared to virtual machines. And both can sometimes lose a race against dedicated metal. Quite unhelpful is especially Microsoft's effort to promote the Studio Code development environment for Business Central/AL as a Docker image in many (all?) guides. This is a completely unnecessary hurdle, which has already kept many interested parties from the Extension development . And the extension development is really cool!
Anything that doesn't reinvent itself every day will not survive... This or something similar is the sword of Damocles over all programs that are not recompiled every month with the very latest technology. It's a pity that millions of lines of ABAS, Navision (C/)AL, RPG and Cobol didn't get any of this. Not every web guessing game programming for a radio station, programmed on the latest software paradigm, is of such economic importance that it will still be maintained in 10 years. Worldwide flight bookings in Cobol, on the other hand, are.
Mainly shaped by Google. More and more users are migrating to mobile. Certainly that's correct. But... Do you know a buyer who calculates the steel requirements for the next three weeks on his cell phone? Can you imagine an accountant checking and booking out 1,200 OP's a day on his cell phone? Amazon, Whatsapp and Facebook are not always the best benchmarks for business.
Maybe the Buzzword 2.0, the hollow speaker 1.0. connected machines? Feedback from production data? Robots that can change their own tools? That has long been standard in production where it makes sense. A machine that produces 7365 French fry forks 24/7 doesn't necessarily have to be able to handle batch size 1...
KPI – Key Performance Indicators
Yes... WHAT are key performance indicators? Turnover per employee? Cost per day? Change in inventory compared to the previous year? These are all important analysis figures, but they were already to be found without this term in 100-year-old books for the training of what was then known as commercial assistants.
RAD – Rapid Application Development
...You can't develop commercial solutions faster than with Navsion / Business Central. At least I have not found anything in 30 years of "Revolutionary Promises" that made this possible. Otherwise I would certainly have already changed my mind.
Let's break it down: Extensions V2 (!) in themselves are the biggest step Business Central or Navision has ever taken. Cleanly (!) programmed, they really allow the extension of Navision (from the user's point of view), as easy as an app on a cell phone. At first they cause the same problems as apps, e.g. dependencies on certain Navision versions, problems with updating the base application etc., but that's not the case.
But this is in the nature of things and is much worse with "native" programming. And therefore not to be evaluated as a disadvantage.
Despite all promises: Extensions themselves have not been a reason to abandon the integrated development environment. This is a purely political decision and Microsoft has not always met the customer's taste... In this respect, Windows ME, Ribbons, Windows 8 could also be counted as buzzwords 🙂 .
AL via Visual Studio Code, on the other hand, is, from a developer's point of view, at least from mine, a huge step backwards. AL is now advertised as a "real programming language" or "Navision comes of age". It is still not a real programming language, at least not compared to C#, Visual Basic, C+, Delphi, etc..
And that's a good thing!
In a "real" programming language, I would use something like #include to add arbitrary extensions to my language. Microsoft has even banned Net from AL, at least from Azure, and announced it for all following versions.
Conversely, in a "real" programming language I would twist my fingers just for a transaction bundle.
AL is exactly what C/Side or C/AL (under Navision 3.5x it was already called "AL"!) has always been: a high-performance development environment perfectly focused on commercial processes. Not more, but in any case not less. It's just that development has become much more complicated compared to the previous RTC environment. And both RDLC and Studio Code are huge steps backwards compared to the fully integrated environment including report designer from Navision to 2009R2. For example, one argument in this comparison was once that in RDLC you can now place text rotated 90°, e.g. as company advertising, on the printout. I didn't miss that from 1993 to 2015 and didn't even need it until today. And also the hyperlinking could have been integrated into the report designer if one wanted to. Has anyone ever really used that actively? I mean, not just for show purposes?
OK, to be fair: Page 1 of x and colored printing, e.g. red for negative balances, is really cool and a real win. But even that could be done with the old report designer, if only Microsoft had wanted to. And if I could trade, I would rather do without red balances than the native report designer 🙂
At any time of the day or night, I engage in the following comparison/competition in which I prove my point: We define a typical commercial, data-driven task and start with a suitable Navision setup DVD (preferably as an image) on a blank Windows computer. My assignment: an upscale dinner in an upscale restaurant, the slower one pays the bill.
And the last argument for AL, that now "Anyone who can program can also program Navision": Sorry, but this is so incredibly stupid... This is not only stupid, this is also extremely dangerous! Of course, even in the past, anyone who could call the designer could also break Navision. But there was a natural respect for the environment: First understand Business Central, then answer and change. This at least prevented some idiots from breaking Navision. The others were then found at Mibuso. Now Microsoft is openly advertising that anyone can program in this ERP system. Even without any knowledge of merchandise management or accounting. I am looking forward to it... Like this or Like that.
There is a reason why even Thomas Heilsberg, brother of the creator of Turbo Pascal and today still a key architect of Navision or Business Central, advises: To be an excellent Microsoft Dynamics NAV developer, understanding business processes is maybe even more crucial than understanding the language, objects, and design patterns. Loosely translated: To be a good Navision programmer, understanding business processes is maybe even more crucial than understanding the development environment.
By the way... with extensions Navision has finally caught up technically with SAP... And also inherited the same problems like readability and debugging. Could have been done better 30 years later...
"Card". A demand-driven ("pull") replenishment control. Finds only a niche existence in the western industry, unfortunately. But if you ever want to use it for your customers??
Kaizen is a philosophy of perpetual change that originated in Japan. In industry, Kaizen has become famous for the upheavals and improvements at Toyota.
In its industrial history, Kaizen consists mainly of the three Mu to be avoided:
Muda Waste. Things, working hours, materials should not be wasted. In the Western interpretation of kaizen, especially the muda has become popular.
Mura Deviations in the processes. Processes are to be normalized and standardized and then lived in this form. Anyone who has ever been involved in ERP planning and implementation knows that time and money are not spent on the 90% of simple processes. Errors occur and time is burned because practically every discussion revolves around features for the 10% (or less) of deviations.
Muri Overload of employees and machines. This Mu is practically always "forgotten". Especially in the western industry there is the harmful mantra of "near 100% utilization" of employees and machines. This is unhealthy to fatal. The results are experienced by all of us (almost) every day: traffic jams on the highways, delays and cancellations of trains and flights. Waiting for checkouts to open at the supermarket, long waits on the telecom hotline. Workloads of up to 85% at most keep process flows smooth. Idle times save money!
Quantum computer, quantum computing
What were these great things not supposed to be able to do for the last 10 years? Instant and reliable hacking of all encryptions, development of cure-alls, solving tasks in seconds that would take our beloved Windows computer PCs with Navision and Business Central millions of years.
OK, when I look at some messed up Navision or Business Central 365 setups, I really wish I had a quantum computer to get any answers out of this system at all in a time that humans can experience. But this is due to bad programmers instead of inferior Turing computers.
In the meantime, there are first great results concerning very special optimization tasks. But we will have to wait years, decades, for the rest. I'm writing this because I want to know how long my forecast will last 🙂 And until then, we'd better get your Navision or Business Central 365 database optimised and cleared..