1. AnforderungenAnforderungen werden schriftlich mit ihrem Verantwortlichen erfasst. Damit nachher keiner sagen kann: "Das habe ich doch gesagt!", "Das habe ich aber anders gesagt!" oder "Das habe ich gar nicht gesagt!". 2. AbnahmekriterienDas sind fachliche Testfälle. Mit ihrer Hilfe kann objektiv entschieden werden, ob eine Anforderung erfüllt ist oder nicht. Deshalb gibt es zu jeder Anforderung mindestens ein Abnahmekriterium. 3. TestplanEs gibt einen schriftlichen Testplan, der dokumentiert, was von wem mit welchem Erfolg getestet wird bzw. wurde. Das gibt Sicherheit, dass alles "wie geplant" getestet wurde. 4. ModellFür Ihre Software erstellen wir einen Bauplan - heute in der Regel in UML. Warum? Gegenfrage: Lassen Sie Ihr Haus bauen, ohne dass ein Architekt vorher einen Bauplan angefertig hat? 5. Software-ArchitekturEs gibt eine definierte, generierungsfähige Software-Architektur als Fundament der Softwareentwicklung. Und auf das Fundament verwenden wir besondere Sorgfalt. 6. GenerierungProgrammcode entsteht zum Großteil über MDA aus den Modellen. Ein wichtiger Vorteil ist die Zeitersparnis, aber es sprechen auch konstruktive Qualitätskriterien für einen Generierungsansatz. 7. Forward EngineeringEine Änderung der Programmquellen ist die Folge einer Änderung des Bauplans - und nicht umgekehrt. Denn Sie sollen einen jederzeit aktuellen Bauplan haben und eine leistungsfähige Grundlage für die Generierung. |
 |
8. RichtlinienDurch Entwurfs- und Codierrichtlinien haben Entwurf und Implementierung eine einheitliche "Handschrift". Richtlinien dienen nicht nur der Fehlervermeidung, sondern erleichtern auch die Lesbarkeit durch Kollegen, die Einarbeitung neuer Mitarbeiter und die Pflege Ihrer Software. Sie sind ein wichtiges Element konstruktiver Qualitätssicherung. Und gute Richtlinien schränken die Kreativität Ihrer Mitarbeiter nicht ein. 9. VersionsverwaltungAlle Elemente ("Artefakte", "Zwischenprodukte") der Softwareentwicklung werden in einem Versionsverwaltungssystem gepflegt. Jeder (definierte) Entwicklungsstand ist reproduzierbar; es werden identifizierbare Releases definiert. 10. RegressionstestsKomponententests und Integrationstests werden reproduzierbar mit Hilfe von Testframeworks durchgeführt. Von großem Vorteil sind dabei automatisierte Tests, die immer wieder ausgeführt werden können, damit jede kleine Änderung und Weiterentwicklung sofort getestet wird. Dann weiß man am Ende jeden Tages, dass das, was heute entwickelt wurde, wirklich richtig ist. 11. Inkrementelles VorgehenDie Entwicklung läuft in kleinen Schritten mit lauffähigen Zwischenversionen. Dabei ist die Dauer der Iteration von Art und Umfang des Gesamtvorhabens abhängig. 12. AktivitätenmanagementEin Gesamtvorhaben bzw. Projekt wird in Arbeitspakete (Aufgaben) zerlegt. Diese Aufgaben werden Personen zugeordnet und mit Termin versehen. Der Grad der Zielerreichung wird regelmäßig gemessen. Einzelne Aufträge (Bugs, Neuanforderungen, Änderungen etc.) werden ebenfalls als Aktivitäten oder Aktivitätenbündel definiert und eingeplant. Im Endeffekt: eine professionelle Softwareentwicklung, gekonnt gemanagt und mit allen notwendigen Freiheiten. Free your work! |