Anbindung mobiler Endgeräte
Maßgeschneiderte Software
Zuverlässiger Datenaustausch
Entwicklung von eLearning-Materialien
Software-Entwicklung und neue Technologien
Wie wir Software entwickeln
Womit wir Software entwickeln
Sprachliche Integration von Flüchtlingen
Vom Informations- zum Kommunikationsmedium
Optimierung von Rüstzeiten NC-gesteuerter Maschinen

Kompetenzen

Methoden

In vielen Bereichen entwickeln wir Menschen Methoden, um Probleme zu lösen und Aufgaben effektiv umzusetzen. "Man hat so seine Methode", ein Umzugsauto zu packen, eine mathematische Aufgabe zu lösen oder ein Verkaufsgespräch zu führen. Wissenschaftler entwickeln Methoden, um eine repräsentative Umfrage durchzuführen oder Klimaveränderungen zu analysieren. 

Auch in den Bereichen der Softwareentwicklung existieren solche speziellen Methoden, die man einsetzt um ein Projekt umzusetzen oder ein Software-Produkt zu entwickeln.

Lesen Sie hier, welche Methoden wir in unseren Projekten einsetzen und welche Vorteile dadurch entstehen.

  Agile Entwicklung

Wir entwickeln nach dem Prinzip der agilen Entwicklung.


Das bedeutet, dass wir – anders als bei der klassischen Vorgehensweise – ein neues Projekt nicht bereits vor der Entwicklungsphase bis ins Detail spezifizieren und dann genau diesen Plan umzusetzen. Vielmehr planen wir in allen Prozessschritten die Möglichkeit zur Definition von neuen Anforderungen mit ein. Das bedeutet nicht, dass in agilen Projekten am Anfang der Entwicklung nicht auch eine Spezifikation mit Bildschirm-Entwürfen und Umsetzungsvorschlägen erstellt wird. Wir stimmen aber diese Spezifikation – und noch wichtiger die im Aufbau befindliche Software – während des Projektes kontinuierlich mit unserem Auftraggeber ab.

So können wir flexibel darauf reagieren, wenn sich während des Projektes neue Anforderungen ergeben oder ein Ansatz nicht 100% passt.

Statt der festen Reihenfolge 'Planungsphase - Entwicklungsphase' wechseln sich in unseren Projekten also kurze Planungs- und Entwicklungsphasen ab. Nach Erstellen der Grundspezifikation planen und  entwickeln wir zunächst eine erste Version und nehmen dann in Abstimmung mit Ihnen in mehreren Iterationen alle weiteren Anpassungen vor.

So unterliegt das Projekt während der Projektdurchführung einer ständigen Kontrolle, Fehlentwicklungen werden rechtzeitig erkannt und neue Anforderungen können jederzeit eingearbeitet werden.

  Scrum

Scrum ist eine der bekanntesten agilen Methoden.

 

Dabei teilt sich der Entwicklungsprozess in gleich lange Abschnitte, sogenannte Sprints. Für jeden Sprint werden die zu implementierenden Funktionen definiert und während des Sprints auf Basis der genauen Spezifikation implementiert. Am Ende jedes Sprints wird das fertige Ergebnis präsentiert.  So entsteht ein flexibler aber dennoch sehr gut strukturierter Entwicklungsprozess.

Scrum besticht durch eine einfache Struktur und klar definierte Projektrollen.

  Testgetriebene Entwicklung

Ein weiteres Prinzip, nach dem wir arbeiten, ist die testgetriebene Entwicklung.

 

Das bedeutet, dass wir bereits vor der eigentlichen Entwicklung einer Software-Komponente die entsprechenden Software-Tests erstellen. So stellen wir sicher, dass alle Teile unserer Software durch sinnvolle Tests abgedeckt sind.

  Continuous integration

Das bedeutet, dass unsere Entwickler auf einer gemeinsamen Codebasis arbeiten.

 

Über eine Versionsverwaltung integriert jeder Entwickler die von ihm gemachten Änderungen in regelmäßigen, kurzen Abständen – in der Regel am Ende eines Arbeitstages - ins Gesamtsystem.

Jede Änderung wird vor der Integration automatisiert getestet und erst dann vollständig integriert. Oder umgekehrt ausgedrückt: man darf nur Softwarestände abgeben, die auch lauffähig sind. So wird jederzeit ein funktionsfähiger Quellcodestand garantiert. Ein automatisiertes Reporting sorgt außerdem für einen genauen Überblick über die erfolgten Änderungen, die Testabdeckung und die Qualität des Quellcodes.