Als erfahrener Websoftwareentwickler werde ich immer wieder mit mitunter seltsamen Anforderungen und Anfragen konfrontiert. Oft ergibt sich hier bei einem Sondierungsgesprä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 Technologiestrategie, 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 Formatierungsregeln 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 Auslieferungsprozess 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 Objektmodell
- Projektmanager und Kundenbetreuer kennen den Unterschied zwischen einem Client und einem Server und den Unterschied zwischen Google und dem Web.
- Versionierung von Projektdokumenten
- Entwickler haben ruhige Arbeitsbedingungen und sind keine Telefonzentrale und keine Paketannahmestelle
Hier ein Beispiel für eine klare und in Schriftform definierte Produkt- und Technologiestrategie:
>> Wir sind die Webagentur “Web Extraschick”. Unsere Kernplattform für Kundenprojekte ist Typo3 in der aktuellen LTS Version auf PHP 7+ und nginx. Alle Funktionen und Softwarekomponenten werden entweder als Typo3 Extension oder als Typo3 Theme entwickelt. Als Frontendframework 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 Schnittstellenentwicklung erfolgt in Zusammenarbeit mir unserem Partnerunternehmen “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 Softwareentwickler achten eher auf diese als denn auf eine spezielle Software oder einen bestimmten Softwarebaukasten. Stimmen die Rahmenbedingunen, kann ein Experte sich auch schnell in Softwarepakete 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 Berufskollegen so genannte “Frickelbude”. Da sieht die “Webentwicklung” und “Geschäftsstrategie” dann etwa so aus:
- 2,5 Entwickler bedienen Projekte für 3-4 verschiedene Softwaresysteme
- keine klare und schriftlich festgelegte Produkt- und Technologiestrategie (Beispiel siehe unten)
- keine Versionierungstrategie oder nur “alles in einem Branch”
- keine fortlaufend gepflegten Zeit- und Projektpläne
- manuelle Auslieferung via FTP
- Redakteure können das hausinterne Redaktionssystem 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 Technologiestrategie, die keine ist und aus der sich abstruse Anforderungen und sinnfreie Technologielisten ergeben, die man in der Webentwicklung und in Anfragen, Stellenanzeigen und Projektbeschreibungen leider immer noch zu oft antrifft:
>> Wir machen mit einem Kernteam von drei Leuten Typo3, WordPress, Drupal, Joomla, WooCommerce, Shopware, Magento und zwischendurch auch ein bißchen jBoss. Und was sonst noch unserem Kundenbetreuer an Softwaresystemen ü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 Frickelbudencharakter 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äftsführung:
- Was ist unser Kernprodukt bzw. unsere Dienstleistung?
- An welcher Stelle wirkt in der Bereitstellung des Produktes/ der Dienstleistung die Webentwicklung mit?
- Ist Webentwicklung in unserem Unternehmen nur eine Kostenstelle oder Teil einer Geschäftsstrategie?
- In wie weit ergibt es in diesem Zusammenhang Sinn, intern eine Webentwicklung aufzubauen und wenn ja, wie muss diese aussehen?
- 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!