Ich erinnere mich, dass ich meinen ersten WordPress-Blog eingerichtet habe. Ich habe Stunden damit verbracht, Anleitungen online zu folgen, um WordPress herunterzuladen, zu versuchen, es erneut hochzuladen und dann herauszufinden, wie man eine Datenbank einrichtet.
Ich habe einfach jede Änderung per FTP auf den Live-Server übertragen und gehofft, dass der Blog nicht dunkel wird, wenn ich ein Fragezeichen falsch geschrieben habe.
Inzwischen ist WordPress erwachsen geworden. Massive Medienunternehmen verwenden WordPress als ihre wichtigste Art der Kommunikation mit der Welt. Gehen Sie zu Tech Crunch oder zum New Yorker und sehen Sie sich die Quell-HTML an. Sie werden feststellen, dass die Website mit WordPress erstellt wurde. Beyoncé? Jep. Sie gräbt WordPress.
Gleichzeitig hat WordPress diesen schrecklichen Ruf unter Entwicklern. Das Stereotyp ist, dass Skript-Kiddies Dateien per FTP hochladen, keine Versionskontrolle verwenden und im Allgemeinen jedes vernünftige Prinzip der Softwareentwicklung aufgeben, das der Menschheit bekannt ist.
Das ist natürlich keine faire Anschuldigung. WordPress ist erwachsen geworden. Es wird vollwertig REST-API dieses Jahr. Sie können jetzt WordPress und Abhängigkeiten über die Befehlszeile installieren mit WP-CLI.
WordPress-Entwickler und Theme-Designer werden erwachsen. Roots.io ist ein Beispiel für die Behandlung von WordPress-Projekten wie jedes ernsthafte Softwareentwicklungsprojekt. Sie spielen nicht mit Drag-and-Drop-FTP-Uploads herum. Stattdessen verwenden sie git für die Versionskontrolle und capistrano für Bereitstellungen.
Joel von Fog Creek Software schrieb bekanntlich über 12 Schritte zu besserer Software, und einer davon war ein Issue- oder Bug-Tracker. Er hat recht. Es ist schwer, sich an all die verschiedenen Funktionsanforderungen und Fehler im Kopf zu erinnern. Es ist noch schwieriger, sich an alle Schritte zur Reproduktion von Fehlern zu erinnern, was der Benutzer erwartet und was er tatsächlich bekommen hat.
Es gibt nur eine begrenzte Anzahl von Post-it-Notizen, die Sie auch auf Ihrem Schreibtisch haben können. WordPress selbst verwendet Trac als Issue-Tracker. Ich habe mit Redmine gearbeitet, einem weiteren Open-Source-Tool zur Problemverfolgung und Projektmanagement, weil ich bei Planio bin, das gehostetes Redmine- und Git-Hosting anbietet.
Der typische Anwendungsfall eines Issue Trackers
Stellen Sie sich vor, Sie erstellen ein neues Plugin für WordPress. Sie haben ein kleines Team bei der Arbeit – ein oder zwei Entwickler, einen Designer und einen Geschäftsmann.
Sie sind nicht mehr ein Team von nur einer Person. Sie arbeiten nicht alle an einem Ort, denn Remote-Arbeit ist großartig und die nördliche Hemisphäre macht im Winter nicht so viel Spaß.
Ein Benutzer schickt eine E-Mail mit der Nachricht, dass das Plugin „nicht funktioniert“. Wenn Sie wirklich Glück haben, erhalten Sie einen Screenshot mit der Fehlermeldung „funktioniert nicht“.
Sie leiten die E-Mail weiter. Jemand schickt eine E-Mail mit der Frage zurück, welchen Browser er verwendet hat, und plötzlich haben Sie einen Gmail-Thread mit 12 E-Mails. Hier sind einige Probleme zusammengefasst, und Problemverfolgungsfunktionen helfen Ihnen, diese Probleme zu lösen.
Die drei kritischen Teile jedes behebbaren Fehlers
Der erste ist, dass Sie für jeden Fehlerbericht eigentlich drei Dinge benötigen:
- Welche Schritte hat der Benutzer unternommen, die zu dem Fehler geführt haben?
- Was hat der Benutzer erwartet?
- Was hat der Benutzer tatsächlich gesehen?
Sie müssen in der Lage sein, den Fehler zu reproduzieren, da es wirklich schwierig ist, einen Fehler zu beheben, den Sie nicht in Aktion sehen können. Zweitens müssen Sie sicherstellen, dass der Fehler tatsächlich ein Fehler ist oder ob der Benutzer etwas erwartet hat, das Ihre Software nicht bietet.
Hier ist eine andere Möglichkeit, es auszudrücken:
Die Regeln eines Elternteils für die Fehlerberichterstattung:
– Was wollten Sie mit dem Programm?
– Was hast du mit dem Programm gemacht?
– Wie war es für Sie?– Steve Purcell (@sanityinc) 29. Oktober 2015
Und man kann die Person, die den Fehler meldet, nicht mit der klassischen Zeile abspeisen: „Es ist kein Fehler. Es ist eine Funktion!“, wenn Sie nicht wissen, was die Person stattdessen erwartet hat.
Verwenden eines Issue-Trackers wie Redmine bedeutet, dass Sie diese Informationen standardisiert erhalten.
Es gibt eine Möglichkeit, um sicherzustellen, dass eine Aufgabe nie erledigt wird: vage vorgeschlagen, dass das Team etwas dagegen unternehmen sollte. Wenn es nicht einem „Eigentümer“ zugewiesen ist, wird es einfach nicht erledigt.
Issue-Tracker zwingen Sie, ein Issue zu einem bestimmten Zeitpunkt einer Person zuzuweisen, damit Sie immer wissen, wem ein Bug oder eine Aufgabe derzeit gehört. Gleichzeitig durchlaufen Issues einen Workflow mit unterschiedlichen Status wie „In Bearbeitung“, „QA/Testing“ oder „Ready for Deployment“.
Die meisten Tracker geben Ihnen Berichte basierend auf dem aktuellen Status eines Problems, sodass Sie das aktuelle Arbeitsvolumen und die noch zu erledigenden Arbeiten sehen können. Sie können sogar Burndown-Charts erstellen, die in agilen Methoden populär sind.
Integrieren Sie Git eng in Ihren Projektmanagement-Workflow
Wie bereits erwähnt, wird die Verwendung von git in Ihrem WordPress-Entwicklungsprozess Ihr Leben viel einfacher machen, wenn etwas schief geht. Git gibt dir ein Rückspultaste auf Ihrem Code, und Sie können mehrere parallele Versionen Ihrer Site erstellen.
Jedes Mal, wenn Sie neuen Code in Ihrem Git-Repository „committieren“, schaffen Sie einen natürlichen Punkt, um die Änderung an der Codebasis zu diskutieren. Außerdem finde ich es einfacher, Probleme auf der Grundlage von tatsächlich festgeschriebenem Code zu diskutieren, anstatt nur vage Ideen.
Hier glänzen Issue-Tracker, denn Redmine zum Beispiel ist eng mit git oder svn integriert. Sie können schnell sehen, wer was gegen Probleme begangen hat, und dann diese Probleme besprechen.
Erstellen Sie ein System für Ihre WordPress-Entwicklung
Ein Issue-Tracker hilft Ihnen, über sich selbst hinaus zu wachsen. Sie werden sicher sein, dass Probleme nicht durch die Ritzen rutschen.
Bei Planio nutzt die Mehrheit unserer Kunden unser gehostetes Redmine zum Zwecke der Verfolgung von Softwareentwicklungsprojekten, einschließlich WordPress-Projekten. Sie verfolgen Bugs, neue Features und Sprints im Zusammenhang mit der Versionskontrolle.
Redmine ist wie WordPress Open Source, sodass Sie den Vorteil haben, nicht an proprietäre Software gebunden zu sein. Und wie bei WordPress können Sie das Hosting an jemanden wie uns bei Planio auslagern oder es selbst installieren, wenn Sie es vorziehen Redmine.org.
Zu dir hinüber
Also – wie verwalten Sie Ihre Arbeitsabläufe? Hast du Redmine probiert? Wir würden uns freuen, Ihre Gedanken und Kommentare unten zu hören!