Methodologie
Mit der Unterkategorie der Dienstleistungen nach Methodologie wollen wir Ihnen verschiedene benutzte Frameworks vorstellen, die zum Strukturieren, Planen und Kontrollieren des Entwicklungsprozesses des Informationssystems benutzt werden. Das Codespring Team entscheidet sich je nach Projekttyp, nach technischen Anforderungen und nach betrieblichen Bedürfnissen für die eine oder andere der vorhandenen Entwicklungsvorgehensweisen.
Im Weiteren stellen wir Ihnen einige im Detail vor:
1. Das V-Modell
Definition & Gebrauch
Wie wohl bekannt, besteht das V-Modell im Wesentlichen darin, dass die Entwicklung in den gepaarten Schritten von “Definition” und „Überprüfung“ gemacht wird (jeweils die ab- und aufsteigende Linien des V), mit dem Implementationszyklus in der Mitte. Gewöhnlich beginnt die Definition mit der Analyse der Anforderungen und mit dem Erstellen der Anforderungsspezifikation, gefolgt von der Funktionalen Spezifikation und schließlich von der detaillierten Design-Spezifikation. Nach der Implementation unterstützen wir die Einheitstest der ersten Stufe, die Integrationstests und schließlich die Systemüberprüfung- und Validierung. Jeder Schritt wird anschließend von einem anderen Fachkollegen begutachtet (nach dem 4-Augen-Prinzip), um sicherzustellen, dass die Entwicklung in die richtige Richtung geht. Manchmal wird das erweiterte V-Modell benutzt, bei dem der allererste Schritt im Erarbeiten eines Konzepts der anstehenden Arbeit besteht und der allerletzte Schritt die Benutzerbetreuung und die Wartung darstellt.
Theoretisch deckt dieses Modell die Konzeptionslücken frühzeitig auf und stellt sicher, dass die angebotenen Lösungen den Bedürfnissen wie erwartet entsprechen. Ferner erlaubt dieses Modell gute Einschätzungen noch vor Beginn der Entwicklungsarbeit, und erweist sich den Vertragspartnern als hilfreich beim Aushandeln von Festpreis-Abkommen.
Der Codespring Ansatz
Das Qualitätsmanagementsystem von Codespring lässt sich mit dem V-Modell gut vereinbaren, obwohl auch andere Entwicklungsmodelle gut passen. Wir glauben, dass bei gut definierten Projekten, das V-Modell die Projektrisiken mindern, die Qualität sichern und die Projekt-Lebenskosten reduzieren kann. In den Fällen jedoch, in denen die Anforderungen nicht gut definiert sind und sich oft verändern, kann die Anwendung des V-Modells sich als zu aufwändig erweisen.
2. Agile Softwareentwicklung
Die Agile Vorgehensweise ist ein Projektmanagementansatz, der von der Softwareentwicklung übernommen wurde. Agile Methoden werden als Reaktion auf Unvorhersehbarkeit eingesetzt, oder dort, wo die Anforderungen unklar sind oder sich sehr oft verändern.
Der größte Vorteil dieses Ansatzes ist, dass die gesamte Arbeit in kleine Schritte aufgeteilt wird – gewöhnlich in zweiwöchige – nach denen das Team die Anforderungen aufs Neue beurteilt und die Richtung somit jederzeit gewechselt werden kann.
Hier bei Codespring arbeiten wir gewöhnlich in zweiwöchigen Schritten, in einem homogenen Team bestehend aus Entwicklern, Testern, QA Ingenieuren, die jederzeit bereit sind, positiv zu reagieren auf Änderungsanträge, die vom Markt oder vom Produktinhaber angeregt werden. Die gesamte Arbeit wird in User Storys (Benutzergeschichten) eingeteilt, die in ideale Story-Points abgeschätzt werden, für die oft die Planning-Game oder Planning-Poker Methode angewendet wird. Wir sind bemüht, in enger Verbindung zu den Produktinhabern zu arbeiten, sie so viel wie möglich in die User-Storys-Abschätzung einzubeziehen. Nach der Ermittlung der Teamgeschwindigkeit ist es uns leicht, einen Zeitplan aufzustellen und die Meilensteine für jede Iteration zu bestimmen.
3. Extremprogrammierung
Extremprogrammierung oder kurz XP ist eine Agile Programmierungs- und Softwareentwicklungsvorgehensweise, die gute Ergebnisse in der Verbesserung der Softwarequalität und eine schnelle Reaktionsfähigkeit auf die sich schnell verändernden Bedürfnisse und Anforderungen der Kunden erzielt.
Dieser Ansatz ist vorteilhaft, da Extremprogrammierungsabläufe häufige Produktfreigaben erlauben und es dem Kunden ermöglichen, neue Feature-Anforderungen zu bestimmen Die Freigaben werden in kurzen Iterationen gemacht, im Gegensatz zu anderen Entwicklungsvorgehensweisen. XP schließt eine intensive Kommunikation zwischen den Kunden und den Entwicklern zwecks Erreichung eines besseren beidseitigen Verständnisses der Auswirkungen der auftretenden Probleme.
Codespring hat sich diese Vorgehensweise angeeignet, da wir für Kunden arbeiten, die neue Produkte entsprechend den Marktbedürfnissen entwickeln – was die positiven Aspekte der herkömmlichen Programmierung ins Extreme treiben kann. Dieser Ansatz ist durch die Idee berechtigt, dass, wenn ein bisschen gut ist, mehr nur besser sein kann.
Obwohl die Freigabefristen öfter eingehalten werden müssen als bei anderen Vorgehensweisen, ist Codespring in der Lage, sehr gut geplante Zeitpläne und Fristen vorzulegen und in einem konstanten Rhythmus zu arbeiten. Wir schaffen es, mit den schnellen Veränderungen und dem reichhaltigen Ideenfluss der Kunden Schritt zu halten, und bieten Qualitätsfeedback darüber, wie Kundenanforderungen in Programmierspezifikationen umgesetzt werden können.
Wir verfügen über Extremprogrammiererfahrung mit Vico Software – ein Kunde, der sich diese Vorgehensweise angeeignet hat. Codespring entwickelt das Vico-Office-Produkt, das eine sehr innovativer Satz von Anwendungen ist, wie CAD-Erweiterungen, Scheduling-Anwendungen, integriertes 3D-Modellieren in die heutigen auf das BIM-Modell basierenden Bauprozesse. Vico Software sind die Urheber des 5D-Modells, ein sehr neues Konzept auf dem heutigen Markt, das außer der 3D-Achse der visuellen Modellierung von Gebäuden auch die Achsen der Zeit und Kosten mitberücksichtigt. Bei solch einer Vielzahl an innovativen Ideen und unbegangener Wege müssen die Entwicklungsabläufe mit den sich häufig verändernden Entscheidungen und Zeitpläne und den vielen Experimenten Schritt halten. In vielen Fällen fehlen die Spezifikationen – was ein Merkmal von Extremprogrammierung ist – aber ausführliches Brainstorming wird häufig eingesetzt und die Programmierer können auf diese Weise ihre Ideen und Einsichten einbringen.

