Einleitung
Charakter
Die Smart Software Factory (SSF) ist eine ganzheitliche und auf modernen Erkenntnissen des Software Engineerings, der Komplexitätsforschung und der Managementtheorie beruhende Lösung. Man kann sie verstehen als Prozeßtemplate mit Unterstützung durch konkrete Tools. Für einen konkreten Anwendungsfall (wie im Beispiel “larasch.de”) umfasst die SSF dazu aufeinander abgestimmte Methoden und Prozesse, Tools sowie die Architektur der zu entwickelnden Anwendung mit der Zielstellung, den Kunden und Anwendern “kontinuierlich wertvolle Software” zu liefern.
Die SSF ist ein flexibles System. Jede Installation wird individuell an die konkreten Bedingungen und Anforderungen eines Kunden angepasst (“Tailoring-Prozess”). Diese Herangehensweise wird durch die Bereitstellung typischer Ausprägungen, wie z.B. ein konkretes Subsystem “Deployment-Pipeline” für Java-basierte Web-Anwendungen, unterstützt.
Fundament
Die SSF beruht auf den in den letzten Jahrzehnten in der praktischen Softwareentwicklung gesammelten, nicht immer positiven Erfahrungen und den daraus gewonnenen Erkenntnissen,
insbesondere hinsichtlich des Einsatzes
• einer revisions-basierten Quell-Code-Verwaltung,
• einer aufgabengesteuerten Entwicklung und
• einer mehrstufigen Qualitätssicherung
Säulen
Ausgewählte Assets, Erkenntnisse und Praktiken aus den Bereichen
• Prozesse und Methoden,
• Werkzeuge (Tools) und
• (Anwendungs-) Architektur
bilden aufbauend auf dem Fundament die 3 Säulen der SSF.
Aus dem Umfeld der agilen Methoden und Management 3.0 werden Prozesse und Herangehensweisen verwendet und entsprechend der konkreten Anforderungen ausgewählt und ggf. angepasst.
Basis ist ein umfassender flexibler Feedbackprozess, der im Sinne von “Plan-Act-Measure” die Grundlagen für eine effektive und effiziente Arbeit schafft.
Die Werkzeuge (Tools) der SSF unterstützen die am Entwicklungsprozess beteiligten Teams bei der Umsetzung der genannten Prozesse und Methoden sowie bei der Beherrschung der im eigentlichen Entwicklungsprozess entstehenden Artefakte und Informationen.
Die mit Unterstützung der SSF entwickelten Anwendungen benötigen bestimmte Eigenschaften, um kontinuierlich hochwertige Ergebnisse (Feature) ausliefern und mit den verwendeten Prozessen, Methoden und Tools der SSF interagieren zu können. Die Gesamtheit dieser Eigenschaften nennen wir “SSF-kompatible Anwendungsarchitektur”.
Aufgrund der Bandbreite der Einsatzmöglichkeiten moderner Software, angefangenen von energie-effizienten “eingebetteten” Sensor- bis zu verteilten Systemen analog Amazon und Google, stellt die SSF für die unterschiedlichen Anwendungfälle jeweils angepasste Lösungsvarianten bereit.