projekt-fast-track-github-travis-ci-feedback-loop

Beschleunigung des Feedback-Loops: Projekt „Fast Track“

Die Dynamik im Markt und damit auch in unseren Systemen multipliziert sich. Unternehmen, aber auch das individuelle Leben, bieten Multioptionen und Multikomplexität, die sich auch im Konsumverhalten niederschlagen.

Die Entwicklung von Software ist demzufolge bei Weitem nicht mehr so langfristig und gesichert planbar, wie es früher der Fall war und es sich die meisten Manager noch immer wünschen. Oftmals entsprechen die Vorgaben am Anfang eines Releases im weiteren Verlauf der Umsetzung nicht mehr Ihren Wünschen/Zielen, da der Markt uns immer wieder dazu zwingt, schnell und unkompliziert zu handeln, Prioritäten zu ändern oder auch kleinteilige Änderungen auszurollen.

Zusätzlich erhöhen kleine Verbesserungen Konversionsraten und damit den Umsatz. Nicht immer ist es für alle Beteiligten klar, ob Maßnahme x oder Maßnahme y zu einem höheren Erfolg führt. Auch aus diesem Grund sollten neben großen geplanten Entwicklungspunkten ständig parallel laufende Verbesserungen bzw. Anpassungen möglich sein, ohne auf die Fertigstellung von großen und testintensiven Entwicklungspaketen warten zu müssen.

Oftmals betreten Anforderungen auch nicht in schöner Reihenfolge unsere Welt, sondern erfolgen zeitgleich und von verschiedenen Anforderungsgebern. Moderne E-Commerce-Systeme werden wöchentlich bis täglich verbessert, um optimale Vertriebsergebnisse zu erzielen.

Unsere Kunden möchten das Beste für Ihre Webseitenbesucher: Ein möglichst fehlerfreies Portal. Kontinuierliche Verbesserungen, sowie neue Features in allen Bereichen gehören hier ebenso dazu, wie die permanente und spezifische Ausrichtung auf den Endkunden in Sachen User Experience (UX). Um dies möglichst kosteneffizient zu ermöglichen, reflektieren wir bei Complex die eigene Vorgehensweise in kurzen Zyklen und lernen aus vergangenen Entscheidungen immer wieder aufs Neue.

Insbesondere agile Vorgehensweisen und Methoden helfen dabei, diese Ziele zu erfüllen.

Das Complex-„Fast Track“-Konzept für eine schnellere time2market

Complex hat in den letzten Monaten viele interne Entwicklungsprozesse bis ins Detail hinterfragt, um diesen komplexen Anforderungen gerecht zu werden. Dabei ist das „Fast Track“-Konzept entstanden, mit dem wir das erreichen wollen:

  • Features sollen zur Verfügung stehen, sobald die Abnahme des Auftraggebers eingegangen ist. Kein Warten auf andere Funktionalitäten oder länger andauernde Projekte.
  • Aufgetretene und unkritische Fehler sollen nicht in langen, teuren Testphasen identifiziert, sondern kurzfristig behoben werden, sobald sie zutage treten. Diese sollen auch parallel zu laufenden Entwicklungen und ohne kostenintensive organisatorische Aufwände ausgeliefert werden können.
  • Das Feedback von Endkunden und Auftraggebern soll in schnellen Iterationen in das bestehende Produkt eingearbeitet werden, um so noch schneller den Marktbedürfnissen zu folgen.
  • Auftraggeber und Konsumenten sollen Entwicklungen auch schon im Prototypenstadium ausprobieren und erleben dürfen.
  • Releases sollen weniger umfangreich ausfallen, sodass manuelle Tests mit weniger Zeitaufwand durchgeführt werden können.
  • Statt nur weniger Releases im Jahr möchten wir Auslieferungen wöchentlich und in letzter Konsequenz sogar täglich ermöglichen (Continuous Deployment).
  • Große Teile der QA-Maßnahmen sollen automatisiert werden.
  • Die Auslieferung der Software auf die Produktivumgebungen muss weitestgehend automatisiert mit nur minimalem, manuellem Aufwand möglich sein. Dies verbessern wir bereits in vielen Projekten, um Ausfallzeiten und damit Umsatzverluste an Installationsterminen zu minimieren.
  • Projekte sind nicht länger eine Black-Box. Mittels Dashboard wird die Transparenz in laufende Entwicklungen verbessert und Prioritäten von eingeplanten Aufgaben sichtbar.

Um das alles zu ermöglichen, tauschen wir das Fundament unseres Entwicklungsprozess aus. Die bisherige Lösung zur Verwaltung des Quellcodes wird abgelöst und die sog. Repositories zu GitHub umgezogen, einer spezialisierten Development-Plattform. Das große Ökosystem, das sich um GitHub herum gebildet hat, möchten wir nutzen, um den Grad der Automatisierung weiter anzuheben.

Github Logo
Travis CI Logo

Continuous-Integration-Prozesse der Firma Travis CI unterstützen die Arbeit der Entwickler, um Fehler im Prozess möglichst früh zu entdecken und so kosteneffizient zu beheben.

Ebenso unterstützen unterschiedliche Arten von Robotern den Prozess, um den Anforderungen an die Anwendungen bzgl. Sicherheit, Performance, Aktualität und Stabilität gerecht zu werden. Mögliche Fehlerquellen werden reduziert und unnötige manuelle Kleinstarbeiten/Nacharbeiten vermieden.

Auch bei der Einführung dieser neuen Technologien arbeiten wir agil. Wir lernen täglich dazu und möchten diese Technologien und Prozesse demnächst unseren Kunden zur Verfügung stellen.

Wir sind uns sicher, dass wir mit diesem Weg eine kürzere time2market erreichen und dass so die Budgets in weitere Features und Optimierungen investiert werden können und so die Kosteneffizienz steigt. Mit einem Pilot-Kunden haben wir die ersten Maßnahmen bereits umgesetzt und freuen uns die weiteren Schritte zu finalisieren.