Die technische Basis als Erfolgsfaktor
Business-Anwendungen müssen heute in kürzester Zeit und ohne hohen Initialaufwand entwickelt und sowohl sehr sicher, robust, aber auch flexibel und wartungsarm sein und sollen dabei immer komplexere Prozesse im Unternehmen abbilden. Bei der Entwicklung geht es dann darum, die sehr hohen Ansprüchen an die Software-Qualität eingehalten und kontinuierlich die Kompatibilität zu den Schnittstellen und eine einfache Wartbarkeit sicher zu stellen. Als einzelner Entwickler ist dieser Workload daher meistens nur durch selbst gecodete Lösungen nicht mehr oder nur sehr schwer zu bewerkstelligen und so geht es auch darum, sich mit Möglichkeiten zur Reduzierung der zu programmierenden Bestandteile beschäftigen.
Insbesondere bei Standardroutinen lohnt es sich, auf Libraries und Frameworks z. B. aus der Open-Source-Community zu setzen. Als FOSS-Enthusiast kommen mittlerweile in gut 80 % meiner Projekte Software auf Open-Source-Basis zum Einsatz. Doch welche Kriterien sind für mich bei der Wahl meines Stacks entscheidend?
Die richtige Technologie als Erfolgsgrundlage
Bei einem neuen Web-Projekt ist es essenziell, ausreichend Zeit für die Konzeption, Planung und Auswahl der richtigen technische Grundlage zu investieren.
Eine vermeintlich kostengünstige und schnell umsetzbare technische Basis kann langfristig zu erhöhtem Aufwand und Projektkosten führen.
Notwendigkeit & Skalierbarkeit
Wird die Technologie zur Lösung des Problems wirklich benötigt oder ist eine im Projekt bereits vorhandenen Technologie geeignet das gewünschte Ziel zu erreichen. Zudem evaluire ich ob die Technologie auch noch in einem größeren Kontext bzw. bei der Skallierung des Projektes immer noch problemlos einsetzbar ist oder es Limitierungen gibt die beachtet werden müssen.
Planbarkeit & Weiterentwicklung
Wer steht eigentlich genau hinter dem Projekt, wie ist der aktuelle Stand der Entwicklung und mit welchen Changes ist in Zukunft zu rechnen bzw. ist die Betreuung und Weiterentwicklung für die nächsten Jahre sichergestellt? Hier prüfe ich sehr genau ob es aktuell sinnvoll ist auf diese Technologie zu setzen oder doch eine Alternative gefunden werden muss.
Sicherheit & Dokumentation
Ein weiteres wichtiges Entscheidungskriterium ist für mich die allgemeine Sicherheit der Technologie, hier schaue ich mir an, ob es offensichtliche Sicherheitslücken oder veraltete Abhängigkeiten gibt und ob die Kernbereiche mit Tests abdeckt sind. Eine ausführliche, aktuelle und leicht zugängliche Dokumentation ist für mich ebenso ein wichtiges Kriterium.
Planungssicherheit
Um in den Projekten meiner Kunden möglichst Overhead, technische Schulden und Legacy Code zu vermeiden, führe ich vor der Realisierung auch immer eine langfristige Einschätzung der Rentabilität und möglicher Problemstellungen durch.