Rogoit Webdesign Duisburg

Webdevelopmet Blog

Clean Code, PhpStorm Tricks, TYPO3, Codeception, Command Line Interface, Software-Qualität und vieles mehr.
Webdevelopment Blog
 

Softwarequalität wird nicht bezahlt

#NCADiskussion
#NCADiscussion Kunde vs Coder

Softwarequalität wird nicht bezahlt

Web-Design-Agenturen haben es bei dem Thema Software-Qualität nicht gerade leicht. Und am Ende drücken sie sich gegenseitig im Preis und lassen sich in diesem Zusammenhang viele technische Fehlentscheidungen von den Kunden diktieren. Dabei gibt es dazu im Markt keine Not und die eigenen guten Entwickler machen das auch nicht mehr länger mit. Sie brechen immer mehr aus schlechten Arbeitsbedingungen aus und lassen Legacy-Code-Höllen hinter sich. Das verbleibende Team muss das oft sehr schmerzhaft kompensieren, denn wer seine Leute ziehen lässt, hat eine falsche Einstellung und die bringt auch keine neuen Leute. Ab dann bestimmen nur Druck und Frust den Alltag in einer Branche, die sich eigentlich Kunden und Preise aussuchen kann. Ein Teufelskreis, der auch die Gesundheit angreift. Wir hatten auf Facebook eine Diskussion mit einem erstaunlichen Ergebnis.

Scheiß auf das Logo – Der Hintergrund vom Marktführer

Scheiß auf das Logo - Der Hintergrund vom Marktführer

Scheiß auf das Logo – Der Hintergrund vom Marktführer

Agenturen leben von ihren Referenzen. Lufthansa, Daimler, Porsche, Henkel sind hier heiß begehrt. Allerdings hat irgendwie auch jeder mal was für die gemacht, auch wenn es nur ein Flyer für die Weihnachtsfeier war. Diese großen Kunden werden oft mit allen Mitteln „gehalten“: kostenlose Angebote, aufwendige Pitches, interne Präsentationen, aktuelle Zahlen und vieles mehr wird hier als unbezahlte Serviceleistung regelmäßig geboten. Von den Fahrkosten und den zeitlichen Aufwänden vor Ort einmal ganz zu schweigen. Das Ziel ist ein langfristiger Auftrag und eine hohe Planungssicherheit. Beides hat man übrigens auch einfach im Markt, wenn man in der Lage ist schnell und zuverlässig Software zu produzieren. Aber dann hat man vielleicht auch Kunden, die nicht einfach nur im Internet sein müssen, sondern damit Geld verdienen und ihr Geschäftsmodell online haben. Wenn also so ein Marktführer seit 30 Jahren im Internet ist, dann hat er natürlich eine Software, die auf der einen Seite historisch gewachsen ist und auf der anderen Seite aber auch mit anderen und vielleicht noch älteren Software-Komponenten kommuniziert. Hier wären also schnell Investitionen im mittleren sechsstelligen Bereich nötig und die brauchen natürlich mehr als eine kleine Bastel-Agentur mit Profilneurose. Und wenn so Software richtig alt ist, dann macht das natürlich auch infrastrukturelle Probleme. Der langjährige Marktführer in der Tourismusbranche setzte immer noch auf eine selbstgeschriebene PHP 5.3 Applikation auf einem Hetzner-Server. Und der Billig-Hoster hatte viele E-Mails geschrieben diese Server zu einem gewissen Zeitpunkt aus Sicherheitsgründen abzustellen. Und das passierte dann auch. Die Seite war eine ganze Woche lang off. Am Ende fand sich dann ein Hoster, der das ganze wieder zum Laufen brachte. Der Admin hatte sogar ernste Probleme die Version für das Aufsetzen eines Servers zu finden und es am Ende nur mit sehr vielen Stunden geschafft. Die hat er auch bezahlt bekommen. Spaß hat das aber nicht gemacht und ihn auch nicht glücklicher oder im Leben weitergebracht. Es war sogar Nachts Thema an der Theke. Auf meinen Developer-Tagebuch auf Instagram habe ich darüber berichtet. Eine Erfolgsgeschichte wäre uns wirklich lieber gewesen.

Admins at night – Build Pipeline und Code Reviews als Service Das erste Quartal neigt sich dem Ende und wir haben wieder mal das #devops getroffen. Diesmal wieder einmal zu ungewöhnlichen Zeiten. Aber die bringen die besten Ergebnisse. Wir haben in den letzten Wochen gemeinsam ein neues Produkt entwickelt. Wir sehen ein großes Problem und einen akuten Markt. Dafür haben wir dann auch eine passende Lösung. Auch wenn es noch keinen Namen gibt so geht es doch darum, daß Kunden wieder Herr ihrer Daten werden und Kontrolle über die Arbeit von externer Web Entwicklung bekommen. Dafür bieten wie ein Enterprise Hosting mit GitLab und Rancher. Ähnlich wie in Open Source Projekten werden alle Dienstleister Contributor, die ihre Arbeit als Pull Requests einreichen. Diese gehen dann nach verschiedenen automatischen Tests und Prüfungen zum persönlichen Code Review durch uns und unser Netzwerk aus Freelancern. Wir werden bald ausführlich über unser neues Produkt berichten. Vielleicht fällt euch ja ein Name ein 😉 #dailydesign #dailyui #websites #webdesign #webdesigner #designer #websitedesign #ui #ux #uiux #uidesign #uxdesign #uitrends #uxdesigner #userinterface #userexperience #interface #interfacedesign #digitaldesign #trending #graphicdesign #graphicdesignui #wireframe #interactiondesign #dribbble #python #ncaevent #nevercodealone

Ein Beitrag geteilt von Webdeveloper Tagebuch (@nevercodealone) am

Wer kommt für den Schaden im Internet auf?

In der Recherche zu dem Thema und bei den ersten Gesprächen zu der doch sehr harten Grafik wurde sehr schnell klar, dass sich hier niemand auf die Seite der Entwickler schlagen würde und die das auch nicht öffentlich diskutieren würden. „Ich werde das nicht öffentlich kommentieren, finde es aber sehr gut, dass du es offen ansprichst!“ war die einheitliche Reaktion unter den im Vorfeld befragten Entwicklern. „Bei uns läuft genau die Scheiße ab und wird auch so bleiben.“ war dann auch die schnelle Begründung. Das öffentlich zu kritisieren hätte sich und hat sich später auch keiner getraut. Mit Geschäftsführern und technischen Leitern war der Dialog zu dem Thema schon qualifizierter, aber Facebook leider das falsche Forum. „Der Kunde will das nicht und dem kannst du das auch nicht erklären.“ ist hier das ernüchternde Fazit. Es gibt also tatsächlich Kunden, die von Sicherheitslücken und ihren möglichen Folgen wissen und sogar spezielle Verträge unterschreiben, dass sie alleine die Verantwortung für Schäden übernehmen. Aber was ist mit den Schäden, die durch diese Arbeitsbedingungen an den Entwicklern entstehen. Diese unübersichtlichen Applikationen, die keine moderne Entwicklungsgrundlagen besitzen, sind der blanke Horror. Ständig funktionieren Dinge nicht mehr und man braucht Stunden für die einfachsten Änderungen. Das macht weich im Kopf und führt zu psychischen und auch körperlichen Problemen. Ist das vielleicht ein Thema für die Krankenkassen? Dazu gibt es aktuell einen Talk der Entwicklungshilfe NRW „Software-Qualität === Gesundheit“, der u.a. dieses Jahr als Keynote der Clean Code Days in München gehalten wird. Entwickler fallen mittlerweile reihenweise und immer öfter für große und lange Zeiträume aus. Abgesehen davon, dass alles so oder so schon keinen Bock mehr macht. Das Thema steht daher eng im Zusammenhang zu Arbeitsschutz und Arbeitssicherheit. Warum übernehmen Geschäftsführer von Agenturen hier keine Verantwortung und streichen sich einfach mehr Geld an ohne das an die Mitarbeiter auszuzahlen? Und wenn wir ehrlich sind wollen wir ja kein Schmerzensgeld, sondern einfach nur gute Arbeitsbedingungen.

Legacy Code – Die Wahrheit will in der PHP-Welt keiner sehen

Die agile Transformation ist echter Schmerz“ ist sich Joachim Fischer CEO von der Kontrast GmbH sicher und er weiss wovon er redet. „Dinge die sonst unter den Teppich gekehrt wurden, kommen auf einmal ans Licht“ und das schmeckt keinem. Dinge wie Testing, Wartung, Refactoring und auch Pair Programming werden eben nicht bezahlt. Schlimmer noch, wer sich dafür einsetzt wird sogar abgemahnt. Und das ist leider kein Einzelfall. Aber was war hier passiert? Ein finanziell wirklich stark bezuschusstes Startup hat eine Applikation in Auftrag gegeben, die überwiegend Formulare verarbeitet. Die Applikation ist keine 18 Monate alt, seit etwas über einem Jahr im Markt und soll jetzt mit sehr hohem Druck weiter entwickelt werden. Ein frischer und motivierter Entwickler kam neu in das Projekt und hat schnell bemerkt, dass die Pflichtfelder in der ganzen Applikation nicht richtig funktionieren. Das lag vor allem daran, dass er nicht stumpf alle Formulardaten aus dem Browser immer wieder verwendet hat. Genau das tat aber der verantwortliche Senior Entwickler, der sich seit Anfang des Jahres auch als Lead Developer ausgeben darf. Der Kunde selbst zahlt übrigens 10% Zuschlag für bessere Arbeitsergebnisse. Da auf der anderen Seite aber die Stunden in dem Projekt ausschließlich vom Lead Developer geschätzt werden, kommt es hier regelmäßig zu sehr starken Fehleinschätzungen. Die 10% Arbeitszeit sind aber nicht geschützt und gehen einfach in der Masse der verbrauchten Stunden unter. Da der Kunde aber nicht in den Code guckt und sich eine zweite Meinung einholt, wird fleißig weiter geflickt. Hier wird ganz klar mit der Zukunft und der gesamten Existenz des Unternehmens gespielt. Wir haben hierfür ein Produkt entwickelt, das Kunden vor solchen miesen Zuständen gezielt schützen kann. Hier geht es zu #NCAPaaS. Allerdings spekuliert die Geschäftsführung auch hier darauf einfach noch mehr Stunden für Refactoring verkaufen zu können und will den Kunden mit in die Verantwortung nehmen. Ab einem bestimmten Punkt soll dann eine „große strukturelle Veränderung“ verkauft werden. Das Geld soll hier also doppelt zurückgeholt werden. Allerdings wittert der Kunde schon länger die offensichtlichen „Code Smells“ und ergreift erste, wenn auch unzureichende Maßnahmen. In dem Team sind dann auch drei Entwickler gegangen. Zwei haben gekündigt und einer hat das Projektteam intern gewechselt. Die aktuelle Stellenausschreibung spricht dabei eine ganz andere Sprache von einem hochmotivierten Team in einem agilen Arbeitsumfeld. Gute Entwickler fallen da aber nicht mehr so einfach drauf rein und deshalb ist das Recruiting in der ganzen Branche auch wesentlich teurer geworden. Deshalb müssen Agenturen besser miteinander kooperieren und nicht einfach immer noch mehr Schaden anrichten.

Schmerzensgeld ist doch keine Lösung

Irgendwann kommt der Punkt, an dem wird das Projekt dann vielleicht doch mal aufgeräumt, neu geschrieben oder eingestellt. In den beiden ersten Fällen wird das nicht die Agentur machen, die es verbockt hat. Hier gibt es einen professionellen Markt, in dem sich auch Never Code Alone mit zwei ersten Produkten etablieren will. Also ist der große Plan und das Big Picture sich als Dienstleister alleine zu positionieren vom Grundsatz her falsch. Immer weniger Startups fallen auch auf die infrastrukturellen Fallen der „Full-Service-Agenturen“ rein. Natürlich ist es auch hier einfacher wieder „Herr seiner Daten“ zu sein, als sich von Agenturen abhängig zu machen. Jetzt geht es hier aber gerade um beratungsresistente Kunden, die jeden Fortschritt ablehnen. Hier wird direkt oder indirekt „Schmerzensgeld“ bezahlt. Denn jede Entwicklung dauert natürlich viel länger, weil es in der Regel absolut schlechte Projekte mit extrem viel Legacy Code sind. Hier dauern auch einfache Änderungen Tage. Allein die Bereitstellung auf Staging-Systemen ist hier eine totale Katastrophe, bei der gute Leute weder gefordert noch gefördert werden. Also müssen gute Mitarbeiter in schlechten Arbeitsbedingungen arbeiten und das definitiv ohne Hoffnung auf Besserung. Ein aussichtsloser Teufelskreis. Aber für Geld? Wenn man Entwickler aus dem Web-Umfeld fragt ist ihnen Geld nicht so wichtig, abgesehen davon, dass festangestellte Entwickler hier eh keinen Cent von sehen. Nahezu alle anderen Programmierer in anderen Programmiersprachen und Einsatzgebieten werden übrigens deutlich besser bezahlt, als PHP-Entwickler. Wenn ein Programmierer also gutes Geld verdienen will, dann kann er nicht mit PHP-Legacy-Code-Webseiten entwickeln. Und so gelingt natürlich auch kein Turnaround und Deutschland bleibt weiter ein Entwicklungsland für Web-Design.

Ja, aber der Kunde bezahlt das einfach nicht

Das liegt auf der einen Seite auf jeden Fall an der schlechten Art, wie sich die IT verkauft und an dem ihrem Standing. Darauf gehe ich im nächsten Abschnitt auch gerne ein. Kunden bezahlen also nur Features, die Live sind. Und wenn Zeit Geld ist, dann heißt es das ein schnelleres Live bringen Zeit spart und damit direkt Geld bringt. Also ist Zeitersparnis wichtig. Da ja auch immer wieder Stunden bei der Kalkulation mächtig gedrückt und die Entwicklung auch zu langsam ist gibt es also recht viel Zeit, die effektiver genutzt werden kann. Stichwort Agilität. Toyota hat damals die Bänder eine Woche angehalten und Arbeitsschritte optimiert. Sehr mutig. Entwickler tun das nicht. Ganz im Gegenteil. Wer sich um Verbesserungen kümmert bekommt sogar Probleme. Gute und motivierte Entwickler werden gesucht – aber wofür?

Große Räder drehen sich auch schneller

Symfony 4, TYPO3 9, PHP 7, Bootstrap 4, Angular 6 – die großen Räder haben längst fahrt aufgenommen und bedienen globale Top Player. Sprünge bei Major Releases sind immer mit Migrationen verbunden und passieren auch immer öfter. Wenn dann noch mehrere Komponenten betroffen sind, dann ist das oft ein Update-Todesschuss. Ab da fängt dann das lange Leiden des Wartens an. Wer keine regelmäßigen Wartungen durchführt, der ist hier verloren. Und Wartungen kosten natürlich auch schon richtiges Geld. Denn selbst wenn man einen Tag Arbeit, was auf jeden Fall zu wenig ist, auf das ganze Jahr verteilt hat man natürlich schon deutlich höhere Kosten allein für den Unterhalt am Bein. Kosten zu denen natürlich niemand eine Internetseite unterhalten möchte, erst recht nicht Kunden mit Billighostern. Aber das trifft nicht nur auf Kunden zu. Bei einer sehr guten Agentur fragte ich als externer Freelancer während der Entwicklung einer neuen Seite nach einem Revision Update für Symfony. Das würde man mal für den kommenden Monat einplanen und den Kunden mit 12 Stunden in Rechnung stellen. Das wurde dann allerdings auch dem Kunden zu bunt. Die Folge: kein Update. In großen Strukturen gibt es nachweislich 30% zu viel Arbeit, allein durch die Größe. Das muß dann auch noch irgendwie bezahlt werden und da bieten sich solche Phantasiepreise eben an. Und wenn man das dadurch erfolgreich abwendet, hofft man ja schon auf das große Bling Bling beim großen Knall.

Fazit zu schädlichen Kundenwünschen

Arbeitsschutz ist wichtig, damit Arbeiter keinen Schaden nehmen. In der IT werden aber immer wieder völlig unzumutbare Arbeitsbedingungen akzeptiert und das ausschließlich auf Kosten der Programmierer. Diese leiden zunehmend unter dem ständig steigendem Leistungsdruck mit schlechten Voraussetzungen Topleistung abrufen zu müssen. Zusätzlich schaden sie auch ihrer eigenen beruflichen Qualifikation, da sie in einem technischen Beruf nicht zeitgemäß arbeiten. Und das alles nur um einen Kunden zu halten, oder mehr Stunden verkaufen zu können. Das kann nicht der Antrieb sein. Hier müssen Reißleinen gezogen und Änderungen durchgezogen werden. Das große Problem ist hier vor allem die fehlende Vertriebsfähigkeit auf Seiten der Agenturen. Denn natürlich bringen bessere technische Voraussetzungen messbare Erfolge. Geschwindigkeit, Sicherheit, effizientere Entwicklung und die Fähigkeit flexibel am Markt reagieren zu können sind hier nur einige. Wir dürfen Kunden nicht mit irgendwelchen Versionsnummern und überholten Vergleichen aus anderen Branchen kommen. Eine Internetseite ist kein Auto und braucht auch einfach kein Öl und kann keinen Motorschaden bekommen. Lasst uns gemeinsam nach vorne gehen und unsere Branche besser verkaufen und einfach mal Erfolgsgeschichten schreiben. Wir suchen genau die.

Erfolgsgeschichten – Glücklicher Kunde glückliche Agentur

Wir suchen echte Helden in der Szene, die das Web rocken. Meldet euch und wir berichten über euch. Kontakt nevercodealone@gmail.com.

Roland Golla

Initiator von Never Code Alone, Geschäftsinhaber Rogoit, Blogger, Autor, Speaker, Dozent und Senior Webdeveloper rolandgolla.de

2 Comments

Post a Comment

Comment
Name
Email
Website

This site uses Akismet to reduce spam. Learn how your comment data is processed.