Agile Softwareentwicklung mit Navision / Business Central

Voraussichtliche Lesedauer: 4 Minuten

Schon komisch, dass ich diesen Artikel überhaupt schreiben muss… oder will! Denn seit ich mit Navision arbeite, also seit 1993, arbeite ich agil… 8 Jahre, bevor dieser Begriff Agil überhaupt Einzug in die Softwareentwicklung genommen hat.

Was ist agile Softwareentwicklung?

agil/aˈɡiːl,agíl Adjektivvon großer Beweglichkeit zeugend; regsam und wendig sein“. Beispiel: „Ein agiler Geschäftsmann“. Viele kennen Agil vielleicht auch aus dem Hundesport oder dem Reitsport.

Agile Softwareentwicklung entstand als Antwort auf die bis dahin übliche Wasserfallentwicklung (welche selbst wiederum von der Serienfertigung von Henry Ford abgeleitet wurde).

Bei agiler Softwareentwicklung kommt es z.B. darauf an, schnelle Lösungen in kleinen Schritten anzubieten. Agile Softwareentwicklung ist eine Idee, kein fest definierbarer Ablauf. Im Wesentlichen bezieht sich agile Softwareentwicklung auf folgende Leitsätze, nicht nur bei Projekten rund um Navision oder Business Central:

  • Personen und Interaktionen haben Vorrang vor Prozessen und Tools.
  • Funktionsfähige Software hat Vorrang vor umfassender Dokumentation.
  • Zusammenarbeit mit dem Kunden hat Vorrang vor Vertragsverhandlungen.
  • Eingehen auf Veränderungen hat Vorrang vor dem Befolgen eines Plans.

Was die Firmen daraus machen, ist meistens alles andere als Agil. Drum gilt „Agil“, genauso wie Scrum, heute auch mehr oder weniger als Tot. 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.

Was verbindet Navision / Business Central mit agiler Softwareentwicklung?

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!
Seit RTC (Navision 2013 bis Dynamics 2019, eigentlich 2018) ist dieser unschlagbare und ziemlich einmalige Vorteil leider Geschichte. Es wurde zwischen einer immer noch rasend schnellen Entwicklungsumgebung und der Oberfläche unterschieden. Da die Oberfläche nun vom einem Server-Service bedient wurde, war dieser Schritt dafür notwendig. Ob das Gut oder schlecht war? Mhmmm…

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.

Warum ist Navision bzw. Business Central der natürliche Partner für agile Softwareentwicklung?

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!