Der Einsatz von Drupal wird auch in Deutschland immer populärer. Mehr und mehr Agenturen und Entwickler sehen diese Tatsache als Chance an, auf das Drupal CMS zu setzen und Leistungen in diesem Bereich anzubieten. Je größer das Angebot umso schwieriger wird es für Kunden eine Entscheidung zu treffen, wer für ihn persönlich am geeignetsten ist, sein Drupalprojekt umzusetzen.
“Ich habe ein Konzept ausgearbeitet, welches ein Projekt beschreibt, dass auf Basis von Drupal umgesetzt werden soll. Wer kann es für mich umsetzen? Wer kommt dafür in Frage? Welche Kriterien müssen vom Auftragsnehmer erfüllt sein? “
Diese Fragen lassen sich nicht pauschal beantworten, dafür erleichtert der folgende Artikel nicht nur Auftraggebern die Entscheidungsfindung, sondern zeigt auch Auftragsnehmern auf, worauf es bei der Umsetzung von Drupalprojekten ankommen sollte.
Was einen Kunden interessiert
- gute zeitliche und finanzielle Schätzung über den Aufwand
- Kundenverständnis - der Auftragsnehmer sollte verstehen, was der Kunde eigentlich will
- ein fester Ansprechpartner wird vorausgesetzt
- eine komplette Umsetzung aus einer Hand wird bevorzugt (z.B. Entwicklung, SEO Optimierung, Grafikdesign, Schulungen etc.)
Die Anzahl der Projektbeteiligten und ob diese externe oder interne Mitarbeiter sind, ist für den Kunden eher von geringerem Interesse.
Was eine Agentur bieten muss, um ein Drupal Projekt zu erhalten
- Drupal Referenzen (idealerweise mit groben Budgetangaben und dem Umsetzungszeitrahmen zu den einzelnen Projekten)
- Information zum Arbeitsablauf eines Projektes
- ist die Agentur in Kundennähe, ist das in den meisten Fällen von Vorteil
- Kommunikationsfähigkeit des Ansprechpartners zum Kunden
- Erstellung eines Pflichtenheftes
Freelancer vs Agentur
Eine Alternative zu Drupal-Agenturen stellt die Umsetzung eines Projekts durch einen Freelancer (Freiberufler) dar. Bei der Wahl für einen Drupal Professional wird häufig der verfügbare Zeitrahmen ein Entscheidungsfaktor sein. Agenturen haben in dem Fall den Vorteil, dass mehr Leute an einem Projekt arbeiten und dieses in einem kürzeren Zeitraum abgeschlossen sein wird. Große Projekt sind nicht durch einen einzelnen Freelancer umsetzbar. Selbst wenn der Freelancer alles können würde, gibt es noch die zeitliche Komponente.
Wie sieht es mit der Zusicherung eines Zeitplanes aus? Fällt der Freelancer aus (z.B. durch Urlaub oder Krankheit), ist damit auch das Projekt zu Ende. In der Agentur steht für diesem Fall ein möglicher Ersatz bereit. Entscheidet sich der Auftraggeber für einen Freelancer, wird von diesem umfassendes Wissen in allen Bereich rund um die Umsetzung erwartet: Entwicklung, Deployment, SEO, Design, Usability, etc. Es ist jedoch sehr schwer jemanden zu finden, der tatsächlich in all diesen Bereichen gute Kenntnisse vorweisen kann. Gewisse Grundkenntnisse werden zwar von den meisten angegeben, auf Expertenwissen in all diesen Bereichen sollte man jedoch nicht hoffen.
Welche Agentur?
Das Problem mit Agenturen ist, dass die meisten von sich behaupten, alle gefragten Bereiche abdecken zu können. Die meisten Agenturwebseite führen meist Drupal neben anderen CMS Systemen auf. Für den Auftraggeber ist dies dann jedoch nicht wirklich aussagekräftig, dass er bei dieser Agentur wirklich gut aufgehoben ist. In diesem Fall kann man sich aber behelfen, indem man sich ausschließlich Drupal Referenzen geben lässt.
Qualität messen
Wie kann ich nun als Kunden feststellen, ob die Agentur oder der Freelancer qualitativ hochwertig arbeitet und entsprechend hochwertige Ergebnisse abliefert. Folgende Liste soll dabei helfen, die einzelnen Punkte zu identifizieren, die vorhanden sein sollten:
- Erstellung eines Pflichtenheftes In Verbindung mit einem Drupal Projekt ist es immer von Vorteil, wenn man das Projekt mit Hilfe eines Pflichtenheftes umsetzt. Der Auftragsnehmer fertig dieses im Idealfall auf Basis des Lastenheftes an, was der Kunde vorlegt. Ist kein Lastenheft vorhanden, muss der Auftragnehmer die Informationen zusammentragen. Was natürlich wesentlich mehr Zeitaufwand bedeutet. Wenn ein Kunde kein Lastenheft vorlegt gibt es hierfür mehrere Gründe:
- er hat selbst keine Ahnung, wie die Details auszusehen haben
- er erhofft sich dadurch Zeit zu sparen
- Drupal Design und Templates Für die Umsetzung eines Drupal Designs ist viel Erfahrung notwendig. Es setzt nicht nur gutes Drupalwissen voraus, wie Templates erstellt und eingebunden werden, sowie aufgebaut sein müssen. Vor allem im CSS Bereich ist ein umfangreicheres Wissen notwendig, da CSS auch über Drupal Module und Drupal Core gesetzt wird (und nicht nur in den Templates). Der Drupal Designer sollte in engem Kontakt zur Grafikagentur stehen. Diese wiederum sollte nicht nur grafische Erfahrung in der Umsetzung von Printdesigns aufweisen, sondern speziell im Design von Webseiten. Die vorgeschlagenen Designs sollten nicht nur optisch hervorstechen, sondern sich auch auf den Bereich Usability konzentrieren. Vor allem bei umfangreichen Projekten weist Drupal hierbei noch ein paar Schwachstellen im Workflow auf, die sich jedoch designtechnisch gut lösen lassen.
- Drupal Entwicklung / Entwickler Ein Drupal Entwickler muss mit dem Hook System von Drupal vertraut sein. Er muss wissen, welche Funktionalität er über welche Module nicht neu erfinden muss. Sechs Monate wird ein Entwickler mindestens mit Drupal gearbeitet / entwickelt haben müssen, bevor er effektive und qualitativ hochwertige Ergebnisse (die auf den Drupalweg gelöst sind) liefern kann.
- Drupal Architekt Mindestens 1 Person sollte im Team sein, der viel Erfahrung mit Drupal mitbringt. Ist die Agentur kleiner, wird dies meist der Drupal Entwickler selbst sein. Oder es ist ein externer Mitarbeiter, über den das Wissen ins Projekt geholt wird. Er kann entscheiden, welches Modul für welche Funktionalität eingesetzt wird. Er kann bei der Ausarbeitung der Workflows beratend zur Seite stehen. Er kann eine Schätzung über den zeitlichen Ablauf abgeben. Je mehr Wissen diese Person vorweisen kann, desto besser kann sie dieser Aufgaben nachkommen und um so positiver werden die Erwartungen des Kunden erfüllt werden. Projekte ohne eine solche Person enden häufig im Chaos.
- Ausgabe Validierung Die Ausgabeseiten sollten W3C valide sein - sowohl HTML als auch CSS.
- Quellcode Validierung Über das Drupal Modul Coder sollte der Quellcode der Drupal Module auf Drupal Richtlinien überprüft worden sein.
- Einsatz eines Version Control Systems (VCS) Das Projekt sollte über ein VCS verwaltet werden. Hierfür kommen bevorzugt moderne System wie Git, Mercurial, Bazaar in Frage, oder auch Subversion und CVS.
- Projektverwaltung Für den Ablauf des Projekt sollte eine Projektverwaltung zum Einsatz kommen, in dem die Aufgabenverteilung stattfindet und in dem auch die Arbeitsabläufe dokumentiert sind.
- Tests Das Projekt sollte in unterschiedlichen Bereichen getestet werden:
- Drupal Simpletest zur Überprüfung der Quellcode Funktionalität
- Selenium Tests für Funktionstest der Ausgabeseiten
- jMeter Tests um aussagen zum Performance-Verhalten der Seite zu machen
- Sicherheitstests
- Usability Tests
- Deployment Strategie Es sollte eine Strategie ausgearbeitet werden, wie man das Projekt in Betrieb nimmt und was damit alles für Tätigkeiten verbunden sind. Wie wird mit zukünftigen Updates umgegangen? Gibt es eine Test oder Staging Umgebung?
- Projektmanagement Wie wird das Projektmanagement umgesetzt? Kommen Techniken wie Scrum zum Einsatz?
- Schulungen Kann die Agentur Schulungen zum Umgang und den täglichen Arbeiten mit Drupal anbieten. Eventuell wird es auch benötigt, dass die zukünftige Entwicklung Inhouse (beim Kunden) weitergeführt wird - bietet die Agentur Knowledge-Transfer zur weiteren Entwicklung an?
- Experten Wissen Kann die Agentur Experten für einzelne Bereich liefern? SEO, Performance Optimierung, Marketing-Strategien, Usability Optimierung, branchenspezifisches Wissen
- Betreuung des laufenden Projektes Kann die Agentur eine Betreuung des laufenden Projektes anbieten? Der Aufwand zur Betreuung eines Projektes wird von den meisten Kunden unterschätzt. Ein Projekt muss nach dem GoLive sehr sorgfältig beobachtet werden: Dazu gehören Tätigkeiten wie Log-Files nach Fehlermeldungen überprüfen, Benutzerverhalten erfordert eventuell Änderungen am Workflow bestimmter Bereiche der Webseite: diese Bereich herausfinden und diese optimieren. Kommt ein erhöhtes Spam Aufkommen durch User-Generated-Content (UGC) zustande, wie kann man diesen minimieren? </ul> Anhand dieser Punkte kann man die Agentur einstufen, ob sie für ein Projekt in Frage kommt. Für die Analyse über die Tauglichkeit einer Agentur empfiehlt es sich Drupal Experten zu Rate zu ziehen. Eine Umstellung zu einer anderen Agentur oder eines Freelancers ist immer mit finanziellen Aufwand verbunden und mit viel Zeitverlust, was nicht selten das Aus eines Projektes bedeutet.