Entwicklungsprozess
Unser Vorgehensmodell verfolgt einen iterativen und inkrementellen Ansatz. Unabhängig vom Modell der Zusammenarbeit wir in kurzen Iterationen (in der Regel 1-2 Wochen) entwickelt. Im Idealfall erzeugt jede Iteration ein getestetes funktionsfähiges Release. Diese Vorgehensweise ermöglicht uns eventuelle Probleme frühzeitig zu erkennen und anzugehen, den Entwicklungsprozess den Projektgegebenheiten entsprechend feinzustimmen, regelmässig zu liefern und dadurch den notwendigen Feedback vom Kunden erhalten, um sicherzustellen dass der Kunde die gewünschte Funktionalität erhält.
Kommunikation ist der Schlüssel zum Erfolg in jedem Software Projekt. Gerade in der Zusammenarbeit über Grenzen hinweg ergibt sich die Notwendigkeit einer optimalen Kommunikation untereinander. Die Sprachbarriere lösten wir indem wir Englisch als ofizielle Projektsprache einführten. Für einen formalisierten Austausch innerhalb und zwischen den Projekten verwenden wir standardisierte Dokumente (open documents) und Projekt Sites. Die Doku Engine (Contentmanagement Lösung für die Projekt Sites) ermöglicht die Pflege der Projektdokumentation mit minimalen Aufwand zeitgleich mit der Entwicklung zu betreiben. Sie bietet standardisierte dennoch erweiterbare Vorlagen sowie eine mehrfach bewährte Dokumentationsstruktur. Durch die Einhaltung von Code Conventions stellen wir die Lesbarkeit und Verständlichkeit der Quellcodes sicher. Eine weitere bewährte "best practice" ist das tägliche Stand-Up Meeting; kurze 10-15 Minuten lange Sitzungen in welchen die täglichen Tasks besprochen, geplant und verfolgt werden.
Wir sind der Meinung dass die Qualität die Bedingung für erfolgreiche langfrisitge Kundenbeziehungen ist. Daher wird jedes Produkt gemäss dem XP-Ansatz umfangreich getestet. Unser Prinzip lautet kein Produktions Code ohne die entsprechenden Tests abzuliefern. Eine weitere produktionssteigernde und qualitätssichernde Praxis ist Continous Integration; mehrmals am Tag wird automatisch integriert und getestet, mit dem Ziel stets ein lauffähiges System zu haben. Damit werden auch Probleme im Code frühstmöglich entdeckt und beseitigt. Regelmässige Reviews (Code, Design und Architektur), einfaches Design und kontinuierliches Refaktoring stellen eine optimale Wartbarkeit des Systems sicher.
Für das Konfigurations Management verwenden wir eine standardisierte Verzeichnisstruktur (Project Template), Versionskontroll Systeme (CVS, VSS) und automatisches Scripting (ANT). Das Project Template zentralisiert alle alle Ressourcen des Projektes.

