Individuelle Softwareentwicklung

Die obersten Ziele der individuellen Softwareentwicklung bei neonBlue sind: 

  • Die von Kundenseite spezifizierten Anforderungen im Hinblick auf Geschäftslogik und technischer Umsetzung vollumfänglich zu realisieren.
  • Die Anwendung schlank und für den Endanwender bedienbar zu halten.
  • Die Entwicklung durch den Einsatz moderner Umsetzungsparadigmen, wie z. B. domain-driven Design, im Aufbau modular und damit kosteneffizient zu halten. Modular aufgebaute Software ist offen für individuelle Erweiterungen und kann damit leichter gewartet werden.

Grundlage unserer Arbeit ist dabei der Einsatz von Open Source Software, die wir an die Bedürfnisse unsere Kunden anpassen und stetig weiterentwickeln.  

Die Entwicklung von Software folgt ganz eigenen Gesetzmäßigkeiten. Es kann trotz sehr guter Planung von Softwareprojekten zu einer hohen Änderungsrate der Anforderungen während des Projektablaufs kommen. Dies kann z. B. daran liegen, dass die Anforderungen zu Beginn nicht genau bekannt sind, da man erst Ergebnisse aus diversen Implementierungsschritten abwarten muss. Meist ist es aber viel trivialer: Kunden können sich durch die Beschreibung von Funktionalitäten in Lasten- respektive Pflichtenheften das spätere Aussehen und die Arbeitsweise einer Anwendung nicht wirklich vorstellen. Selbst der Bezug auf im Vorfeld erarbeitete Prototypen ist dann schwierig.   

Ein Ansatz um diesem Problem zu begegnen sind die Methoden der agilen Softwareentwicklung. Sie stellt dabei ein Gegenkonzept zu klassischen Ansätzen, wie z.B. die des Wasserfall-Modells dar. Die agile Entwicklung basiert auf kurzen Entwicklungsschritten und ist dabei iterativ-inkrementell aufgebaut. Nach einem Teilschritt erfolgt gleich ein Test der Implementierung, Rücksprache mit dem Kunden, Optimierung und gegebenenfalls eine Korrektur der Umsetzung. 

Aufbauend auf diesem Umsetzungsansatz durften wir in der Vergangenheit bereits erfolgreich umfangreiche individuelle Softwareprojekte für unsere Kunden realisieren.

Bei Kundenprojekten steht immer der spätere Nutzer der Software im Mittelpunkt. Anhand einer User-Story erarbeiten wir mit unseren Kunden zusammen die Anforderungen an die spätere Anwendung.  Wir definieren, welche Prozesse und Aufgaben Bestandteil der Funktionen innerhalb des Programmes sind. Damit ist sichergestellt, dass Nutzer und Entwickler auf einer Ebene kommunizieren. Die notwendige Geschäftslogik bilden wir in einem Domänenmodell (abgegrenztes Problemfeld) ab. Die Umsetzung der Businesslogik erfolgt anschließend iterativ und inkrementell nach den Methoden der agilen Softwareentwicklung.

Für die Umsetzung komplexer Software nutzen wir vorrangig das MVC (Model-View-Controller) Pattern (Muster). Es trennt das Datenmodell und die Geschäftslogik (Modell) von der Darstellung im Frontend (View) und der Steuerung durch Benutzerinteraktionen (Controller).  Die Verwendung dieses Patterns garantiert uns und dem Kunden die Erstellung eines flexiblen Programmentwurfs, der sich später sehr leicht warten und auch skalieren lässt. Im TYPO3 Bereich (Extensionentwicklung) setzen wir dafür die Extensions Extbase und Fluid ein. 

  • Kontakt