Gantt-Diagramme zum Leben erwecken: Die Entwicklerperspektive
Wie stellen Sie sich die Entwicklung eines neuen Software-Feature vor? Wahrscheinlich glauben Sie, dass dieser Prozess in einem Vakuum vor sich geht: Sie stellen einige Anforderungen zusammen, senden sie an die Entwickler, und dann nach Wochen oder Monaten der Stille bekommen Sie eine Benachrichtigung: „Okay, wir sind fertig!“
Bei der Entwicklung von Redbooths neuen Gantt-Fähigkeiten war der Entwicklungsprozess aber intensiv und kooperativ – und durchgehend auf die Bedürfnisse der Redbooth-Kunden ausgerichtet. Und genau wie ein Entwicklungsteam, das Produktivitätssoftware erstellt, bauten die Redbooth-Entwickler ebenfalls Prozesse und Best Practices in ihren Arbeitsablauf ein, um die Effizienz zu steigern.
Dies ist der dritte Beitrag in unserer Reihe, die den Erstellungsprozess unserer benutzerfreundlichen und unglaublich nützlichen Gantt-Diagramm-Funktionalitäten für alle Redbooth Benutzer begleitet (Sie können den ersten und zweiten Beitrag nachlesen, falls Sie sie noch nicht kennen).
Lesen Sie weiter, um zu erfahren, wie sich das Redbooth Gantt-Entwicklungsteam in Barcelona in die Anforderungen der Anwender vertieft und auf Kommunikation und Iteration konzentriert hat.
Sie werden auch 5 Best Practices entdecken, die es ihnen ermöglichen, effizienter zusammenzuarbeiten – und Sie werden erfahren, wie Sie diese auf Projekte anwenden können, an denen Sie gerade arbeiten.
Verstehen, was Redbooth-Benutzer wollen
Die Entwickler, die an Gantt arbeiten, hatten wichtige Einblicke in die Bedürfnisse und Erfahrungen der Kunden erhalten, die die Redbooth Gantt-Funktion anwenden würden. Produkt-Leiter Irwin Kwan und Product Designerin Sarah Tanner erfassten und verteilten Interviews, die sie durchgeführt hatten, so dass das Entwicklungsteam genau sehen konnte, welche Nutzer Gantt anwenden würden und was für sie wichtig war.
„Gerade Kundenvideos fühlten sich wie eine Erinnerung an das an, wofür wir Gantt bauen“, so Backend-Entwickler Pau Pérez. „Wir sind dabei, ein Tool zu bauen, das tiefgreifende Auswirkungen auf die tägliche Arbeit unserer Anwender haben wird.“
Das Betrachten von Kundenvideos gab uns aber auch einen Einblick in die einzigartigen Anforderungen von Unternehmen in unterschiedlichen Branchen, ergänzt Frontend-Entwickler Jorge Morante.
„Zum Beispiel ist in einem Bauunternehmen die Dauer der Projekte im Vergleich zu unserer Branche enorm – wir sprechen hier über mehrjährige Projekte“, meint er. „Das ist also etwas, das wir während der Entwicklung des neuen Gantt im Hinterkopf behalten müssen“.
„Das Betrachten der Videos hat mir geholfen, die Bedürfnisse der Nutzer in Redbooth – und die Gründe, warum wir Gantt bauen – besser zu verstehen“, fügt Jorge hinzu. „Diese globale Perspektive des gesamten Prozesses bei der Entwicklung von Funktionen ermöglicht es uns, als Team an einem Strick zu ziehen.“
Das Team arbeitete auch daran, den Kunden die bestmögliche User-Erfahrung zu gewährleisten. Zum Beispiel erhielt Redbooth Full Stack Entwickler Ilya Zayats eine klare Botschaft aus der Beobachtung der aufgezeichneten Kunden-Interviews: Weniger ist mehr.
„Der Haupteindruck, den ich aus den Videos gewonnen hatte, war, dass die meisten der aktuellen Gantt-Diagramm-Tools auf dem Markt Benutzer durch ihren riesigen Funktionsumfang überfordern“, sagt Ilja.
„Daher war ich von Anfang an sehr skeptisch und versuchte, jedes kleine Teil der Gantt-Funktionalität und seine Notwendigkeit in Frage zu stellen. In meiner idealen Welt sollten wir ein wirklich stabiles MVP (Minimum Viable Product ) abliefern und dann schnell im Laufe des Feedbacks unserer tatsächlichen User iterieren. Und genau so machen wir es.“
Und da Redbooth-Anwender ungeduldig darauf warten, die Gantt-Diagramm-Funktionen so bald wie möglich benutzen zu können, war es wichtig, dass das Team koordiniert war und zügig arbeitete. Die Art und Weise, wie das Entwicklungsteam seine Arbeit gemeinsam anging, spielte dabei eine besonders wichtige Rolle.
Arbeit koordinieren und schnell iterieren
Als Irwin und Sarah im Dezember Kundeninterviews führten, wartete das Entwicklungsteam noch auf die Resultate dieser Forschungsarbeit. In der Zwischenzeit trafen sie die Vorbereitungen für einen technischen Rahmen, der eine schnelle Iteration unterstützen würde.
„Auch in diesem sehr frühen Stadium konnten wir bereits genug Annahmen machen, um die Technologie hinter Gantt zu untersuchen“, erzählt Jorge. „So konnten wir sagen, ‚OK, wir wissen, dass wir uns bunte, coole Boxen wünschen, diese nach Datum platzieren wollen – und das Drag-and-Drop Erlebnis muss perfekt sein!‘“
Ein schneller – und früher – Iterationsprozess war unerlässlich.
„Das Team entwickelte Wegwerf-Prototypen, noch bevor die ersten Mockups erstellt wurden,“ berichtet Ilya. „Das war der Schlüssel für die zukünftige Parallelisierung unserer Arbeit, da wir mit diesem Ansatz schon alle zugrunde liegenden Ideen und Basisdaten an Ort und Stelle hatten und das Team bei der Beschreibung von Konzepten mit Gantt-Bezug „eine Sprache“ sprach.“
Regelmäßig in Verbindung zu bleiben war ebenfalls wichtig, sowohl innerhalb des Entwicklungsteams in Barcelona als auch bei Irwin und Sarah in Kalifornien. Tägliche Team-Meetings waren ein wichtiger Bestandteil in diesem Prozess.
„Jeder Morgen beginnt für das Team mit einem schnellen Team-Meeting, in dem wir erklären, was wir am Vortag gemacht haben und was wir für heute planen. Mit einem Wort: Kommunikation,“ sagt Frontend-Entwickler Andrés Gutiérrez.
Und das Morgenmeeting war nur der erste Kontaktpunkt des Tages, was für den iterativen Prozess besonders wichtig war. „Bei solch großen Projekten ist es wichtig, in kleinen Stücken zu iterieren “, fügt Andrés hinzu.
„Wir haben uns mehrmals täglich aktiv miteinander synchronisiert", berichtet Ilya. „Wir kommunizierten im dedizierten Gantt-Arbeitsbereich in Redbooth mit Irwin und Sarah und miteinander in unserem eigenen Team-Arbeitsbereich, nur um sicher zu sein, dass wir koordiniert blieben.“
Sobald die Entwickler in Barcelona neue Herausforderungen und Chancen erkannt hatten, begann ein lebhafter Dialog mit dem Produktteam im Silicon Valley (mit Redbooths integrierter Videokonferenz-Funktion, selbstverständlich!). Anstelle eines Top-down-Prozesses brachte die Kombination fachübergreifender Erkenntnisse das Beste aus unterschiedlichen Welten in den Prozess der Integration von Gantt innerhalb Redbooth mit ein.
„Die Debatten versetzten uns in eine gute Lage“, berichtet Produkt-Leiter Irwin Kwan. „Gerade wegen dieses gegenseitigen Ideenaustausches, gemeinsam mit der Fähigkeit, mit frühen Prototypen zu „spielen“ und so von Anfang an ein echtes Gefühl für das Produkt zu erhalten, waren wir in der Lage, das wiederzugeben, was wir von unseren Kunden hörten. Das heißt, wir konnten dafür sorgen, dass wir auch aus einer technischen Perspektive liefern konnten.“
5 Produktivitätsprozesse, die einen Unterschied machen
Das Team nutzt weiterhin eine Vielzahl von Techniken zur Maximierung der Effizienz und Produktivität im gesamten Entwicklungsprozess. Sie brauchen kein Software-Produkt zu entwickeln, um von diesen Erkenntnissen inspiriert zu werden. Auch wenn Sie an einem ganz anders gearteten Projekt arbeiten, gibt es hier wahrscheinlich eine Strategie, die für Sie funktioniert.
[1] Lassen Sie sich nicht durch die Details ablenken
Durch Straffung des Prozesses des Code Reviews konnte sich das Team auf das Gesamtbild konzentrieren anstelle auf kleine Details.
„Wir haben gegenseitig unseren Code gelesen, und wir haben strenge interne Regeln darüber, wie Pull-Anforderungen beschrieben werden sollten – und einen noch strengeren Stapel von Tools, welche die gängigsten Entwickler-Fehler vollautomatisch prüfen“, erzählt Ilja. „So brauchen wir uns nicht auf die Lokalisierung falsch platzierter Kommas oder Klammern zu konzentrieren, sondern auf den Versuch, die zugrunde liegende Idee und Argumentation hinter dem Code zu verstehen.“
Zusammenfassung: Setzen Sie mentale Energie frei – durch die Automatisierung möglichst vieler Prozesse. Wenn Sie von trivialen Details abgelenkt werden, können Sie sich nicht auf große Entscheidungen konzentrieren.
[2] Halten Sie Sprints kurz und gezielt
In einem Entwicklungs-Workflow, der auf einem Scrum-Ansatz beruht, sind „Sprints“ Zeiträume, in denen sich das Team einer spezifische Arbeit an vordefinierten Zielen widmet. Am Ende eines jeden Sprints versammeln sich die Teammitglieder, reflektieren über ihre Fortschritte, setzen klare Ziele für den nächsten Sprint und integrieren Feedback. Für das Gantt-Entwicklungsteam machte die Dauer der Sprints einen großen Unterschied.
„Kurze Sprints haben wirklich geholfen“, meint Ilja. „Jedes Sprint-Planungsmeeting war sehr kurz: Wenn das Team wirklich versteht, was es aufbaut, dann sind keine großen Diskussionen notwendig.“
Zusammenfassung: Arbeiten Sie mit einem Team? Wählen Sie die Zeitspanne, die bis zum Review und Debriefing verstreicht, wohl überlegt aus. Wenn Sie Neues erschaffen, kann es hilfreich sein, sich häufiger zu treffen.
[3] Lösen Sie Probleme frühzeitig – mit „Spikes“
Einen Funktionsentwurf in eine voll funktionierende Funktion zu verwandeln, ist immer ein komplizierter Prozess, und die Gantt-Entwickler wussten, dass sie mit Überraschungen rechnen mussten. Von technischen Zwängen bis zu Kompatibilitätsproblemen: Es war in jedem Fall hilfreich, einen Prozess zur Hand zu haben, der offensiv versucht, diese Herausforderungen zu beleuchten, so dass sie frühzeitig angesprochen werden konnten.
„Den Vorgang, solche Themen anzugehen, nennen wir in unserem Team ‚Spikes‘“, sagt Full Stack-Entwickler Eduardo Lanchares.
„Ein Spike ist ein Konzeptnachweis zur Machbarkeit einer Funktion. Mit dieser Untersuchung erfassen wir Erkenntnisse zu der Funktion, damit wir dann mögliche Einschränkungen oder Probleme angehen können. Diese Informationen werden dann mit dem Produkt- und Design-Team geteilt, damit die Teams über eine alternative Lösung nachdenken oder mehr Zeit für eine bessere technische Lösung finden können. Es geht um Teamarbeit: Wir alle versuchen, zwischen dem, was wir möchten und dem, was möglich ist, eine Balance herzustellen.“
Zusammenfassung: Bevor Sie in eine neue Idee eintauchen, prüfen Sie sie und liefern Sie eine Rückmeldung. Wenn alle Beteiligten offen bleiben, können ernste Probleme frühzeitig und mit einem Minimum an verlorenen Kosten erkannt werden. Der Prozess kann sogar zu kreativen Lösungen führen, die besser funktionieren als das ursprüngliche Konzept.
[4] Teilen sich die Arbeit strategisch ein
Die Aufteilung eines großen Projektes in kleinere Teile erlaubte es den Mitgliedern des Gantt-Teams, mehr zu leisten – aber nur, weil sie darauf achteten, die einzelnen Arbeitsschritte selbstbestimmt anzugehen, damit auch im weiteren Verlauf potenzielle Konflikte verhindert werden konnten. Eine Größenanpassung sorgte dabei auch dafür, dass die Arbeitsbelastung überschaubar blieb.
„Paralleles Arbeiten ist der Schlüssel zur schnelleren Entwicklung“, sagt Andrés. „Es kommt darauf an, welche Technik Sie verwenden und wie Sie den Code strukturieren. Wenn Ihr Code gut organisiert ist und sich in unabhängige Komponenten aufteilen lässt, können Sie an Teilen der Funktion arbeiten, während ihre Teammitglieder sich mit anderen Teilen befassen“.
Die Auswahl der Technik, die diesen Ansatz unterstützt, macht die effiziente Implementierung deutlich einfacher.
„Wir verwenden ein Framework namens React.js, das die Idee isolierter Komponenten unterstützt, die Sie selbst zusammenstellen können“, berichtet Ilja. „Daher lösen wir kein Labyrinth auf – es ist mehr wie das Arbeiten an einem Baum: Jeder berührt andere Äste, aber es gibt einen zentralen Stamm.“
Zusammenfassung: Gehen Sie die Aufteilung der Arbeit mit Bedacht an. Viele Teams teilen Projekte spontan in Meetings auf – „Okay, Sie machen dies, und ich werde das erledigen.“ Nehmen Sie sich ausreichend Zeit, um sicherzustellen, dass die Art der Arbeitszuweisung sinnvoll ist und koordiniert bleibt.
[5] Erklären Sie das „Warum“, nicht nur das „Was“
Das Team behielt immer eine klares Bild davon, warum es Gantt entwickelte. Man wusste, dass die Beachtung des Zwecks keine Nebensache ist, wenn es darum geht, das Engagement und die Zielstrebigkeit eines Entwicklungsteams wach zu halten. Das Verständnis der Auswirkungen eines Projekts ändert alles.
„Es ist unglaublich zu sehen, wie groß der Anteil der Motivation bei der Entwicklung ist – und der Erfolg – einer neuen Funktion“, sagt Pau. „Diese machen es möglich, Herausforderungen wie die Verwendung völlig neuer Technologie und den Aufbau von UX Interaktionen zu überwinden und die anvisierten Meilensteine wie geplant zu erreichen.“
Zusammenfassung: Besonders wenn Sie es mit zweckgerichteten Teammitglieder zu tun haben, präsentieren Sie das „Warum“ klar und überzeugend. Bei einigen Leute hilft es, personalisieren zu können, was sie tun, bei anderen ist das Verständnis des technischen „Warum“ wertvoll. Es kann verlockend sein, diesen Schritt zu überspringen und einfach nur loszulegen – aber es ist eine hervorragende Gelegenheit zur Erhöhung der Effizienz von Anfang an.
Wann können Sie Gantt ausprobieren?
Die Funktionen „hinter den Kulissen“, welche das Gantt-Feature für den Anwender intuitiv machen, sind überraschend komplex und reichen weit über Gantt selbst in die Plattform hinein, die alle vier der wichtigsten Anwendungen von Redbooth antreiben (Browser, Desktop, iOS und Android). Die Redbooth Entwickler arbeiten hart daran, sicherzustellen, dass alles reibungslos und intuitiv funktioniert.
Derzeit planen wir eine Closed Beta innerhalb der nächsten Wochen, um weiter zu testen und Feedback einzuholen. Wann wird die Gantt-Diagramm-Funktion für Redbooth für alle Kunden verfügbar sein? Wir planen einen Release im Frühling. Genauere Details zum Timing werden veröffentlicht, sobald wir uns dem tatsächlichen Datum nähern. Bleiben Sie dran am Blog und lesen Sie die kommenden Beiträge, die Sie über Gantts Fortschritt auf dem Laufenden halten!
Illustrationen von Sarah Tanner