Softwarequalität in der Webentwicklung hat viele Faktoren. In der Artikelreihe Produktivitätskiller bei Programmierern kann ich hier einige Themen leider nur sehr oberflächlich behandeln. Leider kann ich auch nur deuten, was der Autor der Präsentation sagen wollte. Ich gehe mal davon aus, daß man beim Circus Environment immer wieder überrascht wird und sehr viel Show erlebt. Leider muß ich mich hier zu einem Vorurteil treiben lassen. Programmierer, die Tests ablehnen, können die einfach nicht schreiben und für Tests programmieren. Tests sind wichtig und Fehler kosten sehr viel Geld. Dazu kommen IDEs für Webprogrammierer. Ich möchte hier jetzt keinen Glaubenskrieg lostreten. Alle führenden kostenlosen und kostenpflichtigen IDEs sind in meinen Augen gut drauf. Was die eine hat, fehlt bei der nächsten und umgekehrt. Und doch kann man da einiges falsch eingestellt haben. Nach PHP Coding Standards werden Spaces statt Tabs benutzt. In den default Einstellungen ist das aber nicht immer so voreingestellt. Auch die Code Guidelines der einzelnen Editoren sind hier unterschiedlich eingestellt. Gängig ist sicherlich der PSR-2 Standard. Der macht aber auch noch keinen sauberen Code, sondern legt Wert auf Code Formatierungen. Gerade bei arbeiten in Teams ist das hier sehr wichtig und verbindet das Team auch. Über den Code hinaus gibt es dann noch Entwickler auf MAC , Linux und Windows Systemen. Letztere haben immer mit allem Probleme. Symlinks, Verzeichnisstrukturen, Zeichencodierung und vieles mehr. Viele der starken Helfertools wie Vagrant, Composer, NPM Installer und vieles mehr funktionieren hier nicht bis eingeschränkt. Als Frontend Coder mit der Absicht für den Internet Explorer harte Arbeitswege zu gehen kann ich das verstehen. Ein Backend Entwickler kann heute zu Tage nicht mehr auf Windows setzen. Das schränkt einfach ein. Ein nächster Auftritt im Circus der Entwicklungskuriositäten gehört natürlich der Versionierung. Git hat sich völlig zurecht durchgesetzt und Git-Flow ist eine tolle Art Software zu entwickeln. Aber auch hier bringt es nichts eine Software einzusetzen und nicht zu verstehen. „Ich benutze Sourctree, daß macht das alles!“ Natürlich erkennt Git Unterschiede in Versionen eines Files. Das hat aber nichts mit ihrer Richtigkeit zu tun. Man kann aber vor einen Git Commit den Php Codesniffer laufen lassen und auch die Unit Tests abfeuern. Das spart einem schon eine ganze Menge Git-Hotfixes. Die kosten Zeit, Geld und Ehre. Alles das und vieles mehr sind Teile eines großen Circus Environment.
Fazit zu Circus Environment
Internetentwicklung wird immer anspruchsvoller und komplexer. Alle Facetten sind wie die vielen Darbietungen in einem Zirkus. Bildliche Vergleiche kann man hier jetzt mal ausklammern. Alles spielt bei professioneller Software Entwicklung eine Rolle. Bei allem kann man sehr viel falsch machen. Das schöne in der Welt der Webentwicklung „es funktioniert“ steht unter vielen haarsträubenden Entwicklungen und Prozessen. Immer wieder rede ich mit Entwicklern in führenden oder weniger führenden Positionen und muß mich sehr oft wundern, was hier alles im argen liegt. Gerade bei Senior Entwicklern und sonstigen Lead- und Head of- Titelträgern wundere ich mich über gewaltige Wissenslücken. Die Tage war im T3 Magazin ein Artikel über die Vorraussetzungen als Entwickler bei Google. Sie legen Wert auf eine schnelle Auffassungsgabe für neue Techniken. AIch habe mich in den letzten 2 Jahren extrem weiterentwickelt. Auch weil ich bei einem langsamen Unternehmen gegangen bin. Zum zweiten mal in meinem Leben. Unterfordert. Ich kann jedem nur raten, bleibt dran. Rennt zu den User Groups. Tauscht euch mit anderen Entwicklern über Best Practice aus. Entwickler haben Werkzeuge. Mehr als nur eine IDE. Es sind komplexe Prozesse. Wie bei einem Formel1 Team in der Werkstatt. Schärft eure Werkzeuge, haltet alles sauber und fordert euch immer wieder kritisch selber. Be like water my friend hat Bruce Lee gesagt. Und genauso muß man in einer agilen Welt sein und bleiben. Like water.