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 adjective „showing 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
Ganz besonders die früheren Versionen (Native Navision) bis zur Version 2009R2 hatten alle eines gemeinsam: Die Entwicklungsumgebung inklusive Compiler war fester Bestandteil jeder einzelnen Navision-Sitzung. In einem Bericht musste eine Spalte in der Summen Salden liste verbreitert werden, weil der Umsatz die 99Mio Grenze überschritten hat? Direkt im Client Strg+F2, Ansicht/Sections, Spalte mit der Maus verbreitern, Esc Esc Speichern?: Ja – Fertig! Ein vorhandes Feld wurde nicht in den Auftragszeilen angezeigt? Strg+F2, Feld auswählen und einfügen, Esc, Speichern?: Ja – fertig!
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...
Mit AL & Extensions hat Microsoft jeglichen Vorteil dieser engen Verzahnung aufgegeben. Business Central stellt sich dem Entwickler wie eine normale Entwicklungsumgebung da, und die meisten neuen Programmierer verstehen gar nicht, dass da auch noch eine Finanzbuchhaltung im Hintergrund werkelt. Das merke ich an Rückfragen, wenn mal ein frischer „Ich kann auch Fullstack!“ mal so eben Soll und Haben in einer zusätzlichen Kostenbuchung vertauscht hat.
Why is Navision / Business Central the perfect partner for software development?
Auch wenn ich die Entwicklung zu AL nicht gutheiße, bringt Navision / Business Central immer noch etwas mit, was Java, Python, PHP, C++, C# usw. usw. in dieser Form (nennen wir es mal „Perfektion“) von ihrer Natur her gar nicht mitbringen können oder wollen: Die Datengetriebenheit. Das verbindet Business Central bzw. Navision noch heute mit Meilensteinen der EDV Entwicklung wie dBase (Clipper), Access, AS/400 mit DB2 und der legendären Siemens Nixdorf mit Comet. Das Sytem stellte sicher, das Daten konsistent waren, sie leicht nach vorgegebenen Kriterien und Sortierungen abrufbar waren. Der Programmierer musste und muss sich nicht um Transaktionen, Kapselungen etc. kümmern. Doch auch hier gehört Microsoft ein großartiges Dankeschön ausgesprochen: Dank Extensions sind Transaktionen in Navision endlich nicht mehr sicher und benötigen eine gehörige Portion Fachwissen, um keine verlorenen Datenstrukturen zu erzeugen.
Ach ja… Datengetriebenheit… Kennt noch jemand UniVerse/UniData/D3 oder deren Urvater Pick? Pick läuft wohl heute noch sehr aktiv im amerikanischen Gebrauchtwagenhandel, auch wenn kaum jemand diesen Namen kennt. Das hieß dann eher „Mentor“ oder „Zebra“ oder „Revelation“. Ich glaube, nach Deutschland haben es weder das Original noch die Ableger je geschafft. Von der Programmierung in Basic und der Flexibilität dürfte auch hier der „noch am ehesten natürliche Nachfolger“ auch Navision bzw. Dynamics Business Central BC365 sein… wobei Pick schon eine Alleinstellung hat, weil es näher an NoSQL denn an strukturierten Datenbanken in Normalform ist (oder war).
Meine Aussage zu Programmiererqualifikation seit ca. 1995: Ich mache eher aus einem Buchhalter einen ausreichend guten Programmierer als aus einem Programmierer einen wie auch immer schlecht gearteten Buchhalter.
Das darf und soll aber nicht davon ablenken, dass NAVISION bzw. BUSINESS CENTRAL noch heute die natürliche Umgebung für datengetriebene Applikationen wie Warenwirtschaft, ERP und Finanzbuchhaltung ist. Nur weil Navision und sein Nachfolger Business Central diesbezüglich immer schlechter werden, heist das (leider) nicht, dass es etwas Besseres gibt!