
Projektmanagement in Droptica
Bei Droptica ist Remote-Arbeit etwas ganz Normales. Seit dem ersten Tag hatten wir zwei Büros in Wrocław und Gdańsk. Kürzlich haben wir auch unser drittes Büro in Rzeszów eröffnet. Jeden Tag arbeiten Entwickler, Tester, Grafikdesigner und andere Spezialisten in jeder dieser Lokationen zusammen. Darüber hinaus kommen 90 % unserer Kunden aus dem Ausland, ähnlich wie bei den meisten Softwarehäusern. Im Laufe der Jahre haben wir Methoden der effektiven und effizienten Zusammenarbeit in einem verstreuten Team entwickelt. Wir verbessern ständig unser Arbeitsmodell, testen neue Werkzeuge und Arbeitsmethoden. In diesem Artikel erfahren Sie, wie unser System heute funktioniert
System zur Unterstützung des Projektmanagements
Seit Beginn der Droptica-Existenz verwenden wir Redmine. Redmine hatte mehrere Add-ons, darunter das Backlogs-Modul, das die Arbeit im Scrum-Modell unterstützt. Heutzutage verwenden wir Jira, da es noch besser mit Scrum funktioniert. Beide Systeme helfen uns, die Projekte zu kontrollieren. Jedes Projekt ist in Sprints unterteilt, und jeder Sprint ist weiter in spezifische Aufgaben unterteilt. Alle Informationen über die Realisierung jeder Aufgabe werden in Jira gespeichert. Unsere Kunden haben auch Zugriff auf unser Jira für vollständige Transparenz. Unserer Meinung nach ist ein solches System eine Notwendigkeit. Ohne es wäre es schwierig, wenn nicht unmöglich, die Kontrolle über die Projekte zu behalten, besonders bei Projekten, die über viele Monate laufen. Die Kommunikation per E-Mail ist für diesen Zweck völlig ungeeignet
Zwei Geschwindigkeiten der Kommunikation
Projektmanagement-Unterstützungssysteme sind sehr nützlich, aber nicht ausreichend für die effiziente Umsetzung des Projekts. Teammitglieder müssen bequem und schnell kommunizieren können. Wenn das Team in einem Büro arbeitet, reicht es aus, einfach mit jemandem zu sprechen und zu fragen. Im Falle eines verstreuten Teams wird dieses Problem ziemlich komplex. Eine E-Mail zu schreiben oder ein Ticket in Jira hinzuzufügen, um eine schnelle Frage zu stellen, kostet Zeit. Meistens müssen Sie Folgendes tun:
- Jira öffnen;
- ein Projekt finden;
- die richtige Aufgabe finden;
- einen Kommentar hinzufügen;
- nach einiger Zeit überprüfen, ob es eine Antwort gibt;
Dieser Prozess dauert oft viel länger als einfach die Frage zu stellen und eine Antwort zu erhalten, besonders wenn es eine „Ja/Nein“-Frage ist.
Bei Droptica lösen wir dieses Problem, indem wir über Slack kommunizieren. Dank dieser Anwendung arbeitet unser verteiltes Team, als ob alle Mitglieder in einem Büro wären. Wir kommunizieren schnell und effizient. Wir eliminieren überflüssige E-Mails, Telefonanrufe und Videokonferenzen. Die Anzahl der Kommentare zu Aufgaben in Jira geht ebenfalls stark zurück – das ist hilfreich, da sie oft die Analyse des Arbeitsstatus einer bestimmten Aufgabe erschweren.
Slack bei Droptica
Wir richten für jedes Projekt mehrere Channels ein. Channels werden genutzt, um so viele Benachrichtigungen und so viel Kommunikation per E-Mail wie möglich zu eliminieren und Nachrichten thematisch zu trennen.
Am häufigsten richten wir die folgenden Chat-Channels ein:
- projektname chat – ein Channel für die interne Kommunikation bezüglich des Projekts. Dieser Channel wird vom gesamten Entwicklungsteam sowie vom Projektunterstützungsteam (DevOps, Tester, etc.) genutzt;
- projektname client - ein Channel, der für den Kunden und das Entwicklungsteam verfügbar ist. Dieser Channel ist ein Ort für die Kommunikation mit dem Kunden, das Stellen von schnellen Fragen zu Aufgaben, das Festlegen von Terminen für Meetings, Anrufe, etc;
- Channels mit Benachrichtigungen aus den in Verbindung mit einem bestimmten Projekt verwendeten Systemen wie Jira, Jenkins, GitHub, Bitbucket, etc. In der Regel erhält jedes System seinen eigenen Channel. Jede Person kann Channels beitreten, die für sie wichtig sind und Benachrichtigungen eliminieren, die nicht wichtig oder redundant sind, zum Beispiel muss ein Grafikdesigner keine GitHub-Benachrichtigungen lesen.
Vor Slack benutzten wir Gruppenchats auf Skype, dann wechselten wir für eine Weile zu HipChat. Wir haben festgestellt, dass Slack die beste Lösung ist, die unseren Bedürfnissen perfekt entspricht und wir planen nicht, bald auf eine andere Lösung umzuziehen. Es ist auch wichtig, dass unsere Kunden oft bereits Slack verwenden, was es ihnen erleichtert, unseren Channels als eine weitere Organisation beizutreten.
Weitere Werkzeuge zur Unterstützung von Remote-Arbeit
Daily Scrum
Es gibt kein Scrum ohne Daily Scrum. In einem verstreuten Team ist es notwendig, einmal am Tag eine Videokonferenz durchzuführen. Manchmal werden solche Anrufe auch von Vertretern des Kunden besucht, der oft Hunderte oder Tausende von Meilen von unseren Büros entfernt ist. Wir führen diese Meetings mit verschiedenen Tools durch, je nach den Vorlieben des Teams oder unseres Kunden. In der Regel verwenden wir Google Hangouts Meet, manchmal greifen wir auch auf Zoom.us und Skype for Business zurück.
Scrum-Retrospektive
Zu diesem Zweck verwenden wir ein einfaches Google Docs-Tabellenblatt. Wir haben ein Blatt mit den folgenden Spalten:
- drop - was wir aufhören sollten, wenn es möglich ist;
- keep - was gut ist und was wir beibehalten sollten;
- improve - was verbessert werden muss;
- add - was wir hinzufügen müssen, um die Arbeit am Projekt besser durchzuführen.
Das Arbeitsblatt enthält eine Geschichte aller Retrospektiven in einer Form, die leicht zu betrachten und zu bearbeiten ist. Das Dokument ist für alle Teammitglieder unabhängig von ihrem Standort verfügbar. Dies funktioniert für uns sehr gut.
Code-Review
Wir überprüfen den Code auf GitHub oder Bitbucket, je nach Projekt. Diese Systeme ermöglichen es uns, den Code einfach durchzublättern und Kommentare zu ausgewählten Skriptzeilen hinzuzufügen. Es ist nicht erforderlich, dass eine Person zu einem anderen Schreibtisch kommt, um die Qualität des Codes zu prüfen.
Wir haben auch mehrere interne Tools und Skripte zur Automatisierung von Tests, die die Drupal-Entwicklung unterstützen.
Gute Praktiken für Remote-Arbeit
Meiner Meinung nach ist es nicht möglich, sich nur auf die Kommunikation via E-Mail oder Jira zu verlassen. Videokonferenzen und Telefonate sind notwendig, um sich besser zu verstehen. Das verbessert die Kommunikation innerhalb des Entwicklungsteams und zwischen dem Kunden und dem Team erheblich. Man könnte sagen, dass das Arbeiten nach der Scrum-Methodik uns dazu zwingt. Jeden Tag führen wir Daily Scrum in Form eines Videochats durch. Wir haben auch oft Videotelefonate mit Kunden, beispielsweise während des Sprint-Review oder während der Backlog-Refinement. Hin und wieder treffen wir uns auch mit dem Kunden in unserem Büro oder machen einen Besuch bei ihnen.
Es ist auch wichtig, dass der Kommunikationsprozess so funktioniert, dass andere nicht zu oft gestört werden. Slack ist ein sehr nützliches Tool, kann aber auch zu vielen unnötigen Nachrichten führen, die ablenkend sind und die Arbeit unterbrechen. Das Team sollte sich dessen bewusst sein und Slack nur verwenden, wenn es notwendig ist, und Nachrichten nur an diejenigen senden, die sie benötigen. Wir versuchen, niemals Personen einzubeziehen, deren Anwesenheit in einem bestimmten Fall nicht erforderlich ist.
Ist Remote-Arbeit besser als das Arbeiten in einem Büro?
Wenn das gesamte Team in einem Büro arbeitet, macht dies die Kommunikation sicherlich einfacher. Es hat jedoch auch Nachteile – zum Beispiel macht es das auch viel einfacher, jemanden mit unnötigen Diskussionen zu stören, was manchmal die Produktivität reduzieren kann.
Bei Droptica kombinieren wir Remote-Arbeiten mit Büroarbeit, was es uns ermöglicht, die Vorteile beider Modelle zu nutzen. Wenn nötig, bilden wir Teams, die nur in einem Büro arbeiten. Mehr als ein Standort gibt uns einen Wettbewerbsvorteil, da wir Zugang zu mehr Spezialisten aus drei Städten und deren Umgebung haben. Dies ermöglicht es uns, großartige Entwicklungsteams für unsere Kunden aufzubauen.
Die Tatsache, dass Droptica mehrere Büros hat, zwingt alle unsere Teammitglieder, zu lernen, wie man remote arbeitet. Deshalb wissen alle unsere Experten sofort, wie man mit einem Remote-Kunden arbeitet.
Zusammenfassung
Bei Droptica haben wir ein Remote-Arbeitssystem entwickelt, das für uns sehr gut funktioniert. Ich denke, dass ein solches Modell keineswegs schlechter ist als die Arbeit in einem Büro und bietet zusätzlich viele Vorteile. Wenn Sie ein Team von Drupal, PHP, Symfony oder ReactJS Experten suchen, helfen wir Ihnen gerne und zeigen Ihnen, dass die Kommunikation mit einem Remote-Team auch hervorragend sein kann