Hohe Softwarequalität sorgt für nachhaltiges Employer Branding

Zufriedene Entwickler? Was Arbeitgeber wissen sollten
Keine Kommentare

Wie findet man gute Entwickler und wie sorgt man dafür, dass diese langfristig im Unternehmen bleiben? Diese Fragen stellen sich, mit dem Blick auf dem leergefegten IT-Arbeitsmarkt, viele HR-Verantwortliche. Fest steht: Die Arbeitsbedingungen spielen für Entwickler eine große Rolle bei der Arbeitgeberwahl. Insbesondere der Einsatz einer gut gewarteten Software, sollte im Unternehmen nicht unterschätzt werden.

Ohne automatisierte Tests kündigen viele gute Web Developer ihre Jobs. Schon längst werden in der Szene von den Entwicklern selbst die tatsächlichen Zustände bei möglichen neuen Arbeitgebern recherchiert. Programmierer sind untereinander gut vernetzt. Gerade gute Entwickler, die sich regelmäßig auf Community Events treffen, wissen sehr gut wer gerade wo arbeitet und wie es um den Zustand der Software gestellt ist. Dabei ist man mit einer funktionierenden Build Pipeline auch schon auf dem besten Weg nachhaltig zu werden. In diesem Artikel geht es klar um das „Warum“ automatisierte Prozesse unbedingt eingesetzt werden sollten.

Die Welt ohne Continuous Integration

Personelle Engpässe und Ressourcenmangel zwingen immer mehr HR-Abteilungen und Unternehmen zu sehr hohen Ausgaben. Wenn kurzfristig Entwickler gefunden werden müssen, dann kostet das viel Geld. Damit ist aber leider lange noch nicht die Qualität sichergestellt. Dazu kommt natürlich noch eine Einarbeitungszeit für die auch wieder personelle Ressourcen zur Verfügung gestellt werden müssen. Das ist schon alles sehr frustrierend. Deshalb wird in kleineren Agenturen oftmals gar nicht mehr versucht neues Personal zu finden, sondern die Arbeit auf biegen und brechen mit internen Ressourcen gestemmt. Solchen Arbeitsbedingungen machen einfach alles und vor allem die Gesundheit der einzelnen Mitarbeiter kaputt. Das ist nicht nachhaltig.

Bugs sind sehr teuer

Die Kosten für einen Bug können nicht genau beziffert werden, da er sicherlich auch unterschiedlich starke Auswirkungen hat. Werden bei einem Produkt-Import alle Preise vertauscht ist das sicherlich wesentlich härter, als das die Abmeldung bei einem Newsletter nicht funktioniert. Aber das kann natürlich auch viel Ärger machen. In der Entwicklung tauchen natürlich auch immer wieder lästige Fehler auf. Als einfaches Beispiel kann hier ja eine E-Mail Validierung in einem Formular herhalten. Wenn der Entwickler seine Arbeit beendet hat wird diese ohne Continuous Integration mit einer Vielzahl von anderen Änderungen einem Test-Team, oder den Projektmanagern zur Verfügung gestellt. Diese führen dann Anhand von Listen Klick-Tests durch. Das ist natürlich alles sehr zeitaufwändig und kostenintensiv. Wird jetzt ein Bug gefunden muss dieser in einem Ticket-System mit Beschreibung und Screenshot angelegt und dem Entwicklungsteam wieder vorgelegt werden. Der Entwickler muss jetzt seine aktuelle Arbeit unterbrechen oder es vergeht weitere Zeit bis er die Arbeit wieder aufnehmen kann. Alles in allem vergehen so Tage, bis der kleine Fehler behoben ist. Sowas kann natürlich Pläne zerstören und über Bord werfen. Das geht viel besser und schneller. Abgesehen davon ist die Stimmung hier sehr schnell im Keller. Das drückt die Motivation nach unten und es entsteht Software ohne Leidenschaft. Damit verliert man im Wettbewerb den Anschluss, da der Unterhalt extrem teuer wird.

Testabdeckung ist eine hohe Motivation

Bei dem Begriff der Testabdeckung geht es nicht unbedingt um die mit Tests erreichten Codezeilen. Das wäre eine Code Coverage und sagt leider nichts über die Qualität eines Tests aus. Vielmehr geht es darum, alle Anforderungen – Features – an eine Software mit Tests abzudecken und deren Richtigkeit zu überprüfen. Dadurch können sich alle Entwickler vor jedem Release absolut sicher sein, dass alles richtig funktioniert. Und das macht Teams mit der Zeit stolz auf ihre Arbeit. Auf dieser Grundlage identifizieren sich die Teams mit ihrer persönlichen Arbeit und haben zusammen ein gemeinsames Ziel. Das wird natürlich als Team viel besser erreicht, als als Einzelkämpfer. Ab diesem Zeitpunkt macht die Arbeit Spaß. Und Spaß bei der Arbeit bedeutet einen zusätzlichen und kräftigen Schub an Arbeitsleistung.

Nachhaltiges Employer Branding durch Continuous Integration

Nachhaltigkeit bedeutet, die vorhandenen Ressourcen zu schonen und ein gesundes Wachstum ohne hohe Aufwände und Anstrengungen zu bekommen. Das ist nur möglich, wenn man wiederkehrende Prozesse automatisiert und nicht langsam und fehleranfällig durch die eigenen Mitarbeiter ausführt. Das spart unter Umständen mehr als die Hälfte der Zeit. Genau diese Prozesse sind langwierig, langweilig und nervig. Daher sind sie auch recht fehleranfällig. Ein weiteres Problem ist die fehlende Dokumentation dieser sehr wichtigen und am Ende elementaren Schritte. Geht es doch darum, das eigene fertige Produkt live zu bringen und dadurch zu verkaufen. Folgerichtig bringt ein verkürzter Prozess hier schneller Geld. Voraussetzung sind aber Tests. Denn fehlerhafte Produkte machen auch dann Probleme, wenn sie schneller live sind. Natürlich sind Korrekturen dadurch auch schneller deployed, aber das kann nicht das Ziel einer nachhaltigen Software-Entwicklung sein. Wenn man diese Continuous Integration Build Pipeline aber einmal hat, dann ist das auch ein echtes Argument für ein sehr gutes Employer Branding. Denn jetzt kann man auch über seine Entwicklungsumgebung und die damit verbundenen Arbeitsbedingungen mit stolzer Brust berichten. Das kann im eigenen Blog passieren, als Gastbeitrag in anderen Blogs, in Fachmagazinen. Man kann hierzu YouTube-Videos veröffentlichen und natürlich seine Entwickler als stolze Speaker zu den Meetups, Usergroups und Konferenzen schicken.

Glückliche Web Developer bringen neue und gute Entwickler

Die beste Werbung für neue Mitarbeiter sind die eigenen Mitarbeiter. Das gilt auch vor allem für Entwickler und die sind wie gesagt untereinander extrem gut vernetzt. Mittlerweile gibt es unglaublich viele Meetups, Usergroups und Konferenzen. Daneben gibt es aber auch viele aktive Gruppen im Internet. Und am Ende bekommt man bei XING auch schnell die Information darüber wen man aus dem aktuellen Kollegenkreis kennt. Noch spannender sind aber auch die XING-Kontakte, die dort nicht mehr arbeiten. Hier kann man dann noch so viel Gutes in die Stellenausschreibung schreiben oder sogar erfinden. Das fällt ganz schnell auf. In der Regel arbeiten gerade PHP-Programmierer in weit überholten Arbeitsbedingungen. Ein Grund dafür wird immer wieder beim Kunden gesucht: Geringe Wertschätzung. Das ist leider mehr als nur ein Vertriebsproblem und eine Antwort darauf wird nicht schnell gefunden werden. Aber natürlich ist es auch eine ganz große Chance. Und es ist ein Selbstläufer.

Aktuelle Software bringt aufgeweckte Entwickler

Auch die Software ist im Wandel. Lange wurde und wird sich um aktuelle Software gedrückt und Probleme ausgesessen. Wichtige Updates und auch aktuelle Komponenten nicht durch- und eingeführt. Die geltende Devise lautet „Das ist bei den anderen auch so“. Die Folge ist Resignation. Typische Symptome sind hier große Unzufriedenheit und alle negativen Folgen. Ein solches Arbeitsumfeld ist pures Gift für neue und motivierte Mitarbeiter. Aber auch für die bestehenden Mitarbeiter ist es schwierig diese Bedingungen auf Dauer zu akzeptieren. Denn sie verlieren ihren Wert im Arbeitsmarkt. Der hat bekanntlich aktuelle Ansprüche, auch wenn die manchmal nur falsche Versprechen in Vorstellungsgesprächen sind. Gute Entwickler beschäftigen sich allerdings viel in ihrer Freizeit und eigenen kleinen Projekten mit aktuellen Technologien. Bei ihnen ist Programmieren eben eine große Leidenschaft. Sie arbeiten gerne und gut. Genau solche Mitarbeiter wünscht man sich. Da es heute gängig ist, einen Probearbeitstag zu machen und der von guten Web Developern auch eingefordert wird, werden die schnell merken wie der tatsächliche Zustand ist und dass sie diese alleine nicht ändern können. Anders herum läuft die Geschichte aber von ganz alleine. Denn gute Software mit aktuellen Komponenten spricht sich in der Szene rum und bringt einen dann auch die richtigen Mitarbeiter. Entwickler die Spaß an ihrem Job haben können eine ganze Menge Erfahrung mitbringen und sich auch schnell das richtige Wissen für spezifische Situationen aneignen. Sie sind sehr gut vernetzt und wissen ganz genau, wie man Dinge richtig und nicht nur schnell implementiert.

Die Antworten liefert das Team

Aller Anfang ist schwer und der Schlüssel zu einem erfolgreichen Turnaround liegt auf jeden Fall darin, Dinge nicht länger unter den Teppich zu kehren. Probleme brauchen also Sichtbarkeit und müssen erfasst werden. Das kann sehr schmerzhaft sein. Es ist halt die Wahrheit und genau das wird gerne ausgeblendet und auch versucht auszusitzen. In Agenturen, in denen Support-Stunden verkauft werden, legt man sogar großen Wert darauf. Aber das ist nicht zeitgemäß und auch nicht im Interesse des Kunden. Natürlich gibt es hier viele Probleme. Vor allem Legacy Code und nicht aktuelle Komponenten stehen hier im Weg. Hier kann man nur mit automatisierten Tests in die Richtung von einem ersten Ziel gehen. Eine Build Pipeline kann innerhalb von vier Tagen als PHP-Training mit einem Team aufgesetzt werden. Ab dann kann der Turnaround beginnen. Code kann aufgeräumt werden und das verbessert die Software sehr schnell. Die Motivation im Team wird sich auch stark steigern und das Team-Gefühl fördern. Vertrauen und Selbstführung sind hier wichtig. Die Zeit für dieses Wissen im Team aufzubauen und in das Projekt zu implementieren beträgt mindestens zwei Monate. Das Team muss hier die Schritte eigenständig und agil planen. In einer ersten Phase bietet sich auch Pair-Programming oder Mob-Programming an.

Softwarequalität ist für alle gut

Nicht nur das sich Team- und Arbeitsbedingungen verbessern, Software-Qualität wirkt sich auch auf alle anderen Abteilungen positiv aus. Denn zuverlässige und aktuelle Software hilft vor allem den Kunden. Kunden, die das verstanden haben, sind bereit bis zu 20 % Geld mehr in Wartung zu investieren und den Kosten / Nutzen Faktor schnell zu erkennen. Aber nicht nur die finanzielle Anerkennung und der steigende Umsatz alleine sind hier mögliche Anreize neue Wege zu gehen. Zufriedene Kunden sind auch bereit in neue Features zu investieren und haben ein deutlich größeres Vertrauen in die Entwicklungskompetenz. Dadurch kann man sich also angenehm von dem Niedrigpreis-Segment absetzen. Und das sollte ja auch im Interesse aller Beteiligten sein und allen wieder viel mehr Spaß in die Arbeit bringen.

International PHP Conference

Migrating to PHP 7

by Stefan Priebsch (thePHP.cc)

A practical introduction to Kubernetes

by Robert Lemke (Flownative GmbH)

Starre Strukturen sind anfällig und tragen ein hohes Risiko in sich Urlaubsvertretungen, Krankheit und Kündigungen bedeuten in starren Strukturen mit Wissensinseln ein sehr hohes Risiko. Gilt auf Entwicklerseite die Weisheit, dass jeder ersetzbar ist, hat es die Arbeitgeberseite da schon deutlich schwerer. Wird dagegen in einem Team als Team gearbeitet kann mit dem verteilten Wissen ganz einfach auf Ausfälle reagieren. Das bedeutet auch, dass sich Entwickler viel Zeit sparen können. Sie brauchen sich nicht mehr so lange in andere Tasks einzuarbeiten und können von sich aus auch viel mehr Neues übernehmen. Dadurch wird die Meeting- und Absprachezeit auch deutlich reduziert. In starren Strukturen lastet die Verantwortung auch immer auf einzelnen Personen. In der Regel müssen diese auch gleich selber den Aufwand schätzen. Hier entsteht zusätzlich eine große Fehlerquelle und eine gesundheitlich ganz gefährliche Situation. Der Druck der hier entsteht – wenn etwas nicht so klappt wie man es sich vorgestellt hat – kann zu einem plötzlichen gesundheitlichen Ausfall führen. Spaß macht das auf jeden Fall keinem und das ist in der heutigen Zeit aber für jeden Entwickler auch sehr gefährlich. Gute Jobs werden nicht mehr so leicht erreicht wie vor ein paar Jahren. Fehlendes aktuelles Know-How ist hier ein Defizit. Es gibt also gleich mehrere Gründe dafür, seine Entwickler als Team arbeiten zu lassen. Am Ende wird dadurch auch die Softwarequalität besser.

Ohne Softwarequalität wenden sich die User, die Entwickler und die Kunden ab

Schlechte Softwarequalität, also Legacy Code, wirkt sich mehrfach negativ aus. Als erstes merken natürlich die User, dass hier was nicht stimmt. Gerade im Bereich des E-Commerce kann das ein Vertrauensverhältnis zwischen User und Webseitenbetreiber entscheidend stören. Denn wer will hier seine Bankdaten und auch seine persönlichen Daten hinterlassen. Aber auch bei Kampagnen für Landingpages können nicht richtig funktionierende Formulare enorme Kosten und Rückschläge verursachen. Das ärgert natürlich den eigenen Kunden, egal ob intern oder extern. Und natürlich wird die Schuld dafür bei den Entwicklern gesucht. Da die aber ganz genau über den Zustand der Software Bescheid wissen, werden sie sich das nicht mehr lange bieten lassen.

Fazit zu Software-Qualität und Arbeitsbedingungen

Im Wettbewerb ist es wichtig professionell zu sein und das wirkt sich positiv auf alles aus. Gute Software macht Kunden zufrieden, Mitarbeiter glücklich und User zufrieden. Sich gegen Softwarequalität auszusprechen hingegen, bringt in der Regel sehr große Probleme hervor. Die Arbeitsbedingungen im eigenen Unternehmen sinken, der psychische Druck wird deutlich spürbar. Gute Entwickler verlassen das Unternehmen und neue Entwickler werden unter diesen Bedingungen abgeschreckt. Das hat extreme Kosten zur Folge. Externe Ressourcen müssen aktiviert und die eigenen voll ausgeschöpft werden. Vollgas im Stillstand ist die Folge. Man hält sich nur noch über Wasser und verliert natürlich den Anschluss zu aktuellen Technologien und damit zum Wettbewerb. Ein Turnaround aus Legacy-Projekten gelingt, wenn man auf sein Team vertraut und setzt. Dazu muss man den Rahmen mit automatisierten Prozessen und Continuous Integration bilden. Das ist allerdings nicht so schwer und die ersten Schritte können schnell aufgebaut werden.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -