Professionelle Webentwicklung und Frickelbuden

Als erfahrener Websoftware­­entwickler werde ich immer wieder mit mitunter seltsamen Anforderungen und Anfragen konfrontiert. Oft ergibt sich hier bei einem Sondierungs­gespräch die Frage, was ich denn mit “Professioneller Webentwicklung” meine. Hier dazu eine Erklärung:

Was bedeutet
“Professionelle Webentwicklung”?

  • eine klare und in Schriftform definierte Produkt- und Technologie­strategie, die unternehmens­übergreifend auf allen Ebenen unterstützt und durchgesetzt wird. (Beispiel siehe unten)
  • Versionierung mit Branches und festgelegten Regeln für Releases
  • Coding Standards und Formatierungs­regeln deren Einhaltung automatisch mit den entsprechenden Werkzeugen geprüft wird
  • Test first / TDD (Test Driven Development) : Die Entwicklung von Tests ist für jede entwickelte Klasse und Funktion Pflicht
  • One-Click Deployment / “Auslieferung mit einem Klick” : Der Auslieferungs­prozess und zugehörige Rollbacks für Software sind standardisiert und automatisiert
  • CI Continuos Integration / Fortlaufende Integration : Der Build-, Test- und Kompilierprozess für Software ist mit standardisierten Werkzeugen vollständig normiert und automatisiert
  • Ein fortlaufend gepflegter und stets aktueller Zeit- und Projektplan
  • Ein durch die Projektleitung und Kundenbetreuung in Zusammenarbeit mit den Entwicklern fortlaufend gepflegtes dokumentiertes und versioniertes Glossar und Objekt­modell
  • Projektmanager und Kundenbetreuer kennen den Unterschied zwischen einem Client und einem Server und den Unterschied zwischen Google und dem Web.
  • Versionierung von Projekt­dokumenten
  • Entwickler haben ruhige Arbeitsbedingungen und sind keine Telefonzentrale und keine Paket­annahme­stelle

Hier ein Beispiel für eine klare und in Schriftform definierte Produkt- und Technologiestrategie:

>> Wir sind die Webagentur “Web Extraschick”. Unsere Kern­plattform für Kunden­projekte ist Typo3 in der aktuellen LTS Version auf PHP 7+ und nginx. Alle Funktionen und Software­komponenten werden entweder als Typo3 Extension oder als Typo3 Theme entwickelt. Als Frontend­framework verwenden wir Angular in der jeweils neuesten Version, CSS wird in LESS programmiert und unser Buildsystem beruht auf Gulp. Versionierung erfolgt mit Git, alle zentralen Repos liegen auf einem Firmenkonto bei Github.com, Builds und automatische Auslieferung erfolgen mit den Diensten von deployhq.com (Premium Firmenkonto). E-Commerce Anforderungen werden ausschließlich mit der Community Edition von Magento abgebildet, weiterführende E-Commerce und Schnittstellen­entwicklung erfolgt in Zusammenarbeit mir unserem Partner­unternehmen “Masters of Magento”. <<

Für eine professionelle Webentwicklung ist die Technologie erstmal nur nachrangig

Wichtig zu beachten ist hierbei, dass die Technologie oft nur eine nachrangige Rolle spielt. Viel wichtiger ist eine klare Strategie, wie oben als Beispiel angeführt. Erfahrene Software­entwickler achten eher auf diese als denn auf eine spezielle Software oder einen bestimmten Software­baukasten. Stimmen die Rahmen­bedingunen, kann ein Experte sich auch schnell in Software­pakete einarbeiten, die einem vielleicht nicht so sympatisch oder geläufig sind.


Was ist eine Web Frickelbude?

Im Gegensatz zu dem oben beschriebenen Typus gibt es auch die von mir und einigen meiner Berufs­kollegen so genannte “Frickelbude”. Da sieht die “Webentwicklung” und “Geschäfts­strategie” dann etwa so aus:

  • 2,5 Entwickler bedienen Projekte für 3-4 verschiedene Softwaresysteme
  • keine klare und schriftlich festgelegte Produkt- und Technologie­strategie (Beispiel siehe unten)
  • keine Versionierung­strategie oder nur “alles in einem Branch”
  • keine fortlaufend gepflegten Zeit- und Projektpläne
  • manuelle Auslieferung via FTP
  • Redakteure können das hausinterne Redaktions­system nicht bedienen
  • Projektmanager, die folgende Begriffe nicht erklären können: Versionierung, Client, Server, Glossar, Objektmodell, fortlaufend gepflegter Zeitplan

Hier ein Beispiel für eine Produkt- und Technologie­strategie, die keine ist und aus der sich abstruse Anforderungen und sinnfreie Technologie­listen ergeben, die man in der Webentwicklung und in Anfragen, Stellen­anzeigen und Projekt­beschreibungen leider immer noch zu oft antrifft:

>> Wir machen mit einem Kernteam von drei Leuten Typo3, WordPress, Drupal, Joomla, WooCommerce, Shopware, Magento und zwischen­durch auch ein bißchen jBoss. Und was sonst noch unserem Kundenbetreuer an Softwares­ystemen über den Weg läuft. <<

Schluss mit Frickelbude!

Wer sich und sein Team / sein Unternehmen eher in der zweiten Beschreibung wiederfindet, kann beruhigt sein. Es gibt Abhilfe. Das Mittel um den Frickel­buden­charakter einer Webagentur oder eines vergleichbaren Unternehmens auszumerzen ist keine technische Lösung, sondern schlicht die Klärung der folgenden Fragen auf der Ebene der Geschäfts­führung:

  1. Was ist unser Kernprodukt bzw. unsere Dienstleistung?
  2. An welcher Stelle wirkt in der Bereitstellung des Produktes/ der Dienstleistung die Webentwicklung mit?
  3. Ist Webentwicklung in unserem Unternehmen nur eine Kostenstelle oder Teil einer Geschäfts­strategie?
  4. In wie weit ergibt es in diesem Zusammenhang Sinn, intern eine Webentwicklung aufzubauen und wenn ja, wie muss diese aussehen?
  5. Können wir die Frage #4 wirklich selbst beantworten oder brauchen wir zu dieser Frage und diesem Thema eine externe Beratung?

Und warum?

Der Weg ist nicht immer deutlich, weil man beim Thema Softwareentwicklung keinen so direkten Einblick hat wie z.B. beim Brötchenbacken oder Fliesenlegen. Wer sich aber die Zeit nimmt, diese Fragen für sich klar zu beantworten und dann gemäß gewonnenen Erkenntnisse zu Handeln oder weitere Informationen zu beschaffen ist auf dem guten Weg die Welt der Frickelbuden hinter sich zu lassen. Mit dem wunderschönen “Nebeneffekt”, dass Projekte deutlich seltener aus der Spur laufen, die Kunden und Mitarbeiter zufrieden sind und die ausgelieferte Software am oberen Ende der Qualitätsskala rauskommt. Und es auch deshalb mit weniger Arbeit und besseren Lösungen obendrein noch schöner und häufiger in der Kasse klingelt! Das ist doch mal was feines, oder?

Viel Erfolg!