Best Practices

Weltweit scheitern jährlich ca. 80% aller Softwareprojekte. Nur einige Gründe dafür sind:

nicht eingehaltene Termine,

Kosten, die das ursprünglich zur Verfügung stehende Budget übersteigen,

fehlende Funktionalitäten im Endprodukt oder

der Umstand, dass der Kunde nicht das erhält, was er sich zu Beginn des Projektes vorgestellt hat.

Erfahrungen, die in Projekten gewonnen werden, müssen in Folgeprojekten berücksichtigt werden. Auf diese Weise können in der Vergangenheit begangene Fehler in der Zukunft vermieden werden, während positive Erfahrungen weiterhin angewandt und wenn möglich verbessert werden können.

„Best Practices“ beruhen auf Erfahrungen die in der doch recht jungen Disziplin der Softwareentwicklung von Mitarbeitern weltweit gemacht werden. Es handelt sich dabei um Empfehlungen, Tools, Frameworks Vorgehensweisen oder Lösungswegen, die es Projekten ermöglichen Fehler und Problemsituationen zu vermeiden und den Entwicklungsprozess weitestgehend zu vereinfachen.

Im Softwareentwicklungsprozess muss die Vorgehensweise mit dem Unternehmen, der Unternehmenskultur, den Mitarbeitern und dem zu erstellenden Produkt harmonieren. Dabei kann es sich um eine Vorgehensweise wie RUP (Rational Unified Process), SCRUM oder XP (Extreme Programming) handeln. Die Entscheidung welche Vorgehensweise die geeignete ist, hängt von den oben genannten Faktoren ab.

Die Architektur sowie das Design der Software muss sowohl mit der Geschäftslogik als auch mit der Umgebung auf der die Software betrieben wird abgestimmt sein. Während der Durchführung unserer Projekte kommen, je nach Phase des Projektes, entsprechende „Best Practices“ zum Einsatz:

Framework Auswahl und Evaluierung

SW Entwicklung

Code Notation und Policies

Transaktionshandling

Persistenz (OR-Mapper wie etwa Hibernate oder JPA, aber auch JDBC)

Separation of concerns

Dependency injection

Reviews

Qualitätssicherung

Datenmigration

Operations