Special Report:
Das Gratis-Tool, mit dem Facebook, Salesforce und eBay (und wir) die Zeit fürs Bugfixing um 80% reduzieren.

Hier kommt ein Geheimtipp für alle Entwickler. Mit einem einzigen Tool (ok, Toolstack) brauchen wir fürs Bugfixing mittlerweile nur noch Minuten statt Stunden. Nicht immer, zugegeben, aber doch angenehm häufig. Damit haben wir viel mehr Zeit fürs ‚wirkliche‘ Entwickeln.
Wie das funktioniert? Erklären wir in diesem Artikel.

Worum geht es in diesem Report:

  • Unsere Story, wie wir die Zeit fürs Bugfixing dramatisch reduziert haben
  • Was das eigentliche Problem ist – und warum es immer schlimmer wird
  • Mit welchem Tool wir das in den Griff bekommen haben
  • Wie das funktioniert
  • Wie Sie das bei sich einsetzen können
  • Was wir dazu beitragen können

Hallo Entwickler!

Alles hat mit einem Experiment gestartet. Wir haben also dieses Tool installiert. Obwohl wir eigentlich keine Zeit dafür hatten. Und um ehrlich zu sein – viel haben wir uns nicht davon erwartet.

Für alle, die es nicht wissen: Wir hier bei openForce sind spezialisiert auf Software-Entwicklung im High-Performance Bereich. Und wir sind auf der Mission, Open Source Software für uns und unsere Kunden so produktiv wie möglich nutzbar zu machen. Deswegen wagen wir immer wieder ähnliche Experimente und berichten von unseren Erfahrungen.

Irgendwann im nächsten Sprint gab es dann diesen Aha-Moment

Franz, Product Owner bei einem unserer Kunden zu einem unserer Entwickler:

F: „Nochmal: Die Bugs sind schon gefixed?“

E: „Ja, sag ich doch.“

F: „Alle???“

E: „Ja, alle. Ach ja, zwei stories hab ich auch noch erledigt.“

In diesem Moment wussten wir, dass wir auf was wirklich Cooles gestoßen sind, um die Velocity zu steigern.

Was ist da passiert?

Software-Entwickler verbringen oft 50% und mehr Ihrer Zeit mit dem Beheben von Fehlern – statt mit der Entwicklung neuer Features.

Eine Recherche in unserer Entwickler-Community zeigt: Viele Programmierer verbringen 50% ihrer Zeit in Fehlersuche, Bugfixing und Maintenance.
Manche sind praktisch den ganzen Tag nur damit beschäftigt, in Logfiles zu wühlen, um Ursachen für Fehler zu finden.

Vermutlich kennen Sie das selbst: Die Zeit, die für die Fehlersuche draufgeht, fehlt natürlich für die Arbeit an Stories, Refactoring und Architektur. Viele würden sagen: für die wirklichen Entwickler-Aufgaben.

Warum geht für die Fehlersuche überhaupt so viel Zeit drauf?
Schließlich sind die meisten Fehler mit wenigen Zeilen Code in ein paar Minuten gefixed.

Natürlich. Wenn man endlich weiß, wo der Fehler liegt. Und genau das ist das Problem.

Heute: die Fehlersuche ist eine Schnitzeljagd

Ticket-Mania zwischen Entwickler und IT-Ops:

Entwickler: Ich brauche die Log-Daten vom Login-Service für einen bug-fix. Alles seit gestern 12:00.

IT-Ops: Hab sie Dir auf den Fileshare in Deinen Ordner kopiert.

E: Das sind nicht alle Daten. Da fehlen noch die Daten aus dem App-Data-Folder.

O: Das sind 180 GB!! Seit gestern Mittag?? Was loggt ihr da alles? Das hat auf dem Fileshare nicht Platz. Hab sie Dir hierhin kopiert: (Link)

E: Danke. Ich brauch dort Schreibrechte, sonst kann ich die Daten nicht auswerten.

O: (2 Stunden später) Sorry, war in einem Workshop. Hast jetzt Schreibrechte für 24 Stunden.

E: Problem liegt an der Schnittstelle zum User-Management-Service liegt. Entweder an unserem eigenen Service oder an der 3rd-party-app in der cloud. Bitte alle Logs schicken.

O: @#!!&#!

Das Problem: In Zukunft werden Entwickler noch mehr Zeit im Bugfixing verbringen

Das Problem wird in Zukunft noch schlimmer weil:

  • Software wird immer häufiger cross-environment, cross-technology, cross-system entwickelt.
  • Je länger Software in Betrieb ist, desto größer die technical debt.
  • Je umfangreicher eine Software ist, desto mehr Fehler treten auf.
  • Software wird immer stärker mit 3rd-party-apps integriert, die Schnittstellenprobleme erzeugen.
  • Immer häufiger arbeiten mehrere Teams unabhängig voneinander an einem System. Das gibt Abstimmungsprobleme.

Der Teufelskreis: Durch das ganze Bugfixing, bleibt für neue Anforderungen keine Zeit mehr.  Auch Refactoring und Softwarearchitektur bleibt auf der Strecke – und es gibt in Zukunft noch mehr Probleme. Ab diesem Zeitpunkt wird Entwicklung zur Selbstbeschäftigung.

Welcome to Bugfixing Hell

Die gute Nachricht:

Die meisten Fehler sind in wenigen Minuten mit ein paar Zeilen Code behoben. 90% des Aufwands ist, das Problem zu finden.

Und genau dieser Teil geht heute viel schneller.
Nicht 20% schneller …
Sondern: In vielen Fällen fixen wir Bugs heute in Minuten, statt wie früher in Stunden.

Und hier ist das Tool, mit dem das so fantastisch funktioniert: Elastic Stack

Es gibt 4 Applikationen, die großartig aufeinander abgestimmt sind:

  • Beats erledigt die Datensynchroniation. Regelmäßig, damit die Daten im Bedarfsfall bereits vorhanden sind
  • Logstash ist das Repository, in dem Daten mit völlig unterschiedlichen Formaten einheitlich abgelegt werden.
  • Elasticsearch ist die Suchmaschine, die mit Queries ganz gezielt sucht, filtert, segmentiert.
  • Kibana ist die grafische Benutzeroberfläche, in der die Daten visualisiert werden.

L

So funktioniert der Elastic Stack

Elastic Stack ist Ihre eigene Datengrabber-Bot Armee, die Sie losschicken, um ratzfatz genau die Daten zu holen, die Sie brauchen. Und diese danach so zu präsentieren, wie Sie wollen.

dancing dave minionLauft los, meine Minions. Und holt mir meine Daten!

Voher: So sehen Logfiles aus:

Nachher: Die Daten aufbereitet im Kibana, dem Analyse- und Visualisierungstool des Elastic Stack:

Auf einen Blick: Hier ist das Problem!

Alle Daten unter Kontrolle.
Mit Filtern, Queries, Segmenten, logischen Verknüpfungen.

z.B: „timestamp:[160000 TO 160500] AND errorcode: 73

I’m the master of my data 🙂

In diesem kurzen Video zeige ich den Vergleich zwischen der Fehlersuche in Logfiles und im Elastic Stack (ELK):

Und das Allerbeste ist: Der ganze Toolstack ist kostenlos. 

Weil Open Source.
Wer will, kann es sich einfach von GitHub herunterladen.

Und wo ist jetzt der Haken?

Das hört sich alles viel zu gut an, stimmt’s?

Super Tool, super Resultat und kostet nichts?
Das ist eben Open Source. So wie Linux oder Apache.

Aber klar, natürlich gibt es auch beim Elastic Stack ein paar Tücken

Auch wir haben am Anfang das Setup nicht optimal gewählt. Das hat uns viel Zeit und Nerven gekostet.

Insbesondere:

  • Alle Apps sind flexibel, können umfangreich konfiguriert werden und es gibt jede Menge an Plugins.
  • Mit dem falschen Setup macht man sich viel Freude und Produktivität kaputt.
  • Und wie häufig bei Open-Source Tools gibt es zwar viel Info, aber wenig hands-on Unterstützung.
  • Außerdem haben nicht alle Zeit und Lust, sich mit den Tools soweit auseinander zu setzen, dass eine problemlose Implementierung im Produktivitätssystem auf Anhieb klappt.

Natürlich: Es ist schwierig, darauf einfache Antworten zu geben, die für alle passen. Für jede Umgebung. Für jede Anforderung. Für jedes Team.

Aus diesem Grund haben wir bei openForce entschlossen, interessierte Teams hands-on zu unterstützen. Mit unserem Elastic-Stack Velocity Booster 60 Minuten-Kurzworkshop.

Und wie funktioniert das?

1. Wir klären telefonisch, ob Elastic Stack für Sie, Ihr Unternehmen, Ihre IT Vorteile bringt.

2. Sie bekommen einen Fragebogen, um alle Infos zu sammeln, die wir brauchen, um effektiv arbeiten zu können. Dann treffen wir uns zum vereinbarten Termin (in der Regel bei uns).

3. Wir erarbeiten gemeinsam in einem Kurzworkshop (60-90 Minuten) das für Sie beste Setup und Konfiguration.

4. Wir skizzieren einen passenden Aktionsplan, den Sie dann umsetzen können.

Damit bekommen Sie alles, was Sie brauchen, um loszulegen.

Und jetzt die gute Neuigkeit: Dieser Workshop ist KOSTENLOS.

Ja genau. Kostet Sie gar nichts.

Warum machen wir das?

1. Weil wir Open-Source lieben (liegt uns in der DNA, sprich Firmennamen). Für besonders gute Tools setzten wir uns mit besonders viel Energie ein und fördern diese (so wie für Elastic Stack). Wir machen dies regelmäßig in der Wiener Open-Source-Community. Außerdem zeigen wir gerne her, womit wir uns beschäftigen 😉

2. Der administrative Aufwand für Angebot und Verrechnung ist bei so einem kurzen Workshop unverhältnismäßig groß.

3. Außerdem lernen wir damit als netten Nebeneffekt immer wieder interessante Unternehmen kennen. Manchmal ergeben sich daraus später gemeinsame, schöne Software-Entwicklungsprojekte.

Für eine realistische Erwartungshaltung:

Nachdem wir diese Unterstützung kostenlos anbieten, müssen wir uns diese Zeit neben unserem Hauptgeschäft (Softwareentwicklung im High-End-Bereich) gut einteilen. Wir können diese Workshops daher nicht in beliebiger Zahl anbieten. Vor allem wenn unsere ELK-Profis gerade bei einem Kundenprojekt in der heißen Phase sind, müssen wir um etwas Geduld bitten.

Interessiert? So kommen Sie zu Ihrem Info-Paket für den Elastic Stack Workshop:

Tragen Sie sich hier mit Ihrer geschäftlichen E-Mail Adresse ein.

Dann schicken wir Ihnen sofort eine E-Mail mit dem Info-Paket zu.

Was ist in dem Paket alles drin?

  • Checkliste: Wie gut passt Elastic Stack zu Ihrem Unternehmen.
  • Ausgewählte Video-Ressourcen – dort sieht man die Power von Elastic Stack direkt
  • Eine umfangreiche FAQ zu Elastic Stack, der Implementierung, Kosten, Risiken, etc.
  • Genaue Infos, wie unser kostenloses Elastic-Stack-Workhop Programm abläuft.

Dort gibt es dann auch gleich eine Anmelde-Möglichkeit für interessierte Teams.

Alles klar? Dann los:


Vielen Dank fürs Vorbeischauen und Mitlesen!
Wir sehen uns

Gerhard Hipfinger, CTO openForce