Nach unserer Auffassung gibt es nicht den Software-Entwicklungsprozess. Vielmehr hängt es von der konkreten Situation ab (Best Practice). Wie groß ist das Projekt und welchen Hintergrund haben eventuelle andere Projektteilnehmer? Handelt es sich um eine Neuentwicklung oder um die Modernisierung eines existierenden Systems? Die Flexibilität und Beweglichkeit (Agile Development) stehen bei uns im Vordergrund.
Dabei muss zu Beginn eines Projektes immer die grundlegende Frage beantwortet werden: Welcher Geschäftsprozess muss durch das System unterstützt werden? Denn es gilt dem Endanwender Arbeit abzunehmen und nicht durch ein neues, schlecht bedienbares System die Arbeit zu erschweren. Demnach messen wir der Anforderungsanalyse größte Bedeutung bei.
Hier spielt die Erarbeitung von Use Cases eine zentrale Rolle, um die genauen Arbeitsschritte des Endanwenders zu analysieren und darzustellen. Sie bilden den Rahmen, der über die gesamte Projektlaufzeit die gemeinsame Basis für alle Beteiligten darstellt.
In der Entwicklungsphase setzen wir auf kurze Zyklen und ständiges Feedback der zukünftigen Benutzer. So erreichen wir markt- bzw. kundenorientierte Ergebnisse.
Um die Qualität und damit Ihre Investition zu sichern, ist das "Testen von Anfang an" der zentrale Bestandteil in unserer Vorgehensweise. In der Konzeptionsphase wird dies durch konsequentes Reviewing gewährleistet, in der Implemetierungsphase durch Modul- und Regressionstests.
Ein weiteres wichtiges Qualitätsmerkmal ist der Einsatz von Bewährtem. Dabei kann es sich sowohl um das Heranziehen von kompletten existierenden Lösungen oder Teillösungen handeln, als auch um den Einsatz von Design- und Architektur-Patterns. Denn warum sollten Sie dafür zahlen, dass wir das Rad nochmal neu erfinden?