Lösungen mit Zukunft

Gute Software entsteht in der Regel nicht monolithisch, sondern modular. Iterativ-inkrementelle Verbesserungen bringen nach unserer Erfahrung langfristig die besten Resultate. Dazu muss Software aber so gebaut werden, dass sie auch kontinuierlich verbessert werden kann.

Drei Männer und zwei Frauen schauen auf einen Bildschirm und diskutieren

Professionelle Software-Entwicklung bei zdrei.com Software mit Zukunft made by zdrei.com

Die Art wie programmiert wird, hat einen maßgeblichen Einfluss auf die Sicherheit, Erweiterbarkeit und Wartbarkeit einer Software Lösung.

Gute Software entsteht in der Regel nicht monolithisch, sondern modular. Iterativ-inkrementelle Verbesserungen bringen nach unserer Erfahrung langfristig die besten Resultate. Dazu muss Software aber so gebaut werden, dass sie auch kontinuierlich verbessert werden kann.

Abgesicherte Funktionalität durch Test driven Development

Damit Codes kontinuierlich verbessert werden können, müssen sie mit automatisierten Tests abgesichert werden. Beim sogenannten Test driven Development steht die konkrete Funktionalität im Fokus, aber auch die Frage, wie diese überprüft werden kann. Dazu werden zuerst die Tests geschrieben, und erst dann entsteht der Code, welcher eine Problemstellung effektiv löst. 

Der etwas höhere Initialaufwand ist gerechtfertigt, denn je komplexer eine Programmierung ist, oder in Zukunft werden wird, umso wichtiger sind umfassende automatisierte Test, die auf Knopfdruck überprüfen, ob die Software genau das macht, was sie machen soll. Wichtig für den Kunden: Die Art wie programmiert wird, hat einen maßgeblichen Einfluss auf die Sicherheit, Erweiterbarkeit und Wartbarkeit einer Software Lösung.

Gemeinsam immer besser werden

Willkommen im Team von zdrei.com

Bei der Entwicklung von digitalen Anwendungen ist ein gut eingespieltes und mit den nötigen Werkzeugen ausgerüstetes Team die Voraussetzung für den langfristigen Projekterfolg. Gute Arbeit im Team – auch mit dem Kunden – hat viele Vorteile:

Transparenz, Qualität und Effizienz
sind entscheidende Faktoren bei der
Software-Entwicklung

Um im Team effizient und sicher arbeiten zu können, ist eine zuverlässige Versionsverwaltung unabdingbar. Damit wird die technische Entwicklung eines Projekts bis hinunter zu jeder einzelnen Codeänderung dokumentiert und gespeichert. Notfalls kann so auf frühere System-zustände umgeschaltet werden. Zusammen mit einem Issue Tracking System, über welches bei uns auch die Stundenerfassung stattfindet, wird für alle am Projekt Beteiligten größtmögliche Transparenz hergestellt.

Qualität und Effizienz werden zusätzlich unterstützt durch einen mehrstufigen Veröffentlichungs- bzw. Deployment Prozess: Vor der Live Schaltung einer Codeänderung werden automatisierte Tests durchlaufen. Es findet zudem eine Vorveröffentlichung auf Test oder Staging Servern statt. Änderungen können sowohl automatisiert wie auch manuell überprüft werden, bevor eine Live-Schaltung stattfindet.

Test Driven Development, Automatisiertes Testing, Continuous Deployment, Delivery & Integration sind technische Schlüsselfaktoren für nachhaltige Software Qualität. Werden diese Aspekte vernachlässigt, ist das Chaos im wahrsten Sinn des Wortes vorprogrammiert.

State-of-the-Art der Web Softwareentwicklung

Bei den erwähnten Werkzeugen, Strategien und Prozessen ist es wichtig, auf allgemein anerkannte Standards zu setzen, um offen für neue Teammitglieder, Freelancer und künftige Entwicklungen zu bleiben.

Wir legen darum großen Wert auf aktuelle Software Standards und entwickeln die entsprechenden automatisierten Prozesse an vorderster Front mit. Ein Beispiel ist unsere Entwicklung eines Deployment Tools (builder) zur Automatisierung der Tests und Code Veröffentlichungen, welche in der TYPO3 Community sehr gut aufgenommen wurde.

Immer auf dem aktuellen Stand
mit Continuous Upgrading

Noch einen Schritt weiter gehen wir mit dem von uns entwickleten Continuous Upgrading. Hier sind die Deployment Prozesse so aufgesetzt, dass jede Codeänderung gegen die jeweils aktuellste Version des verwendeten Content Management Systems oder Frameworks getestet werden kann. Diese Strategie ermöglicht unterbruchsfreie Upgrades auf Knopfdruck.