-

Chaos in der Webentwicklung? Tools zur Optimierung von Projekten in Ihrem Unternehmen

Gut gewählte Werkzeuge und Prozesse in einem Webentwicklungsunternehmen sind einer der Hauptfaktoren, die die Kundenzufriedenheit beeinflussen. Ohne diesen Aspekt zu berücksichtigen, werden Projekte oft verzögert, die Qualität wird nicht gehalten und die Kunden sind unzufrieden. Sehen Sie, wie wir bei Droptica, basierend auf mehr als einem Jahrzehnt Erfahrung, Werkzeuge ausgewählt haben, um Webanwendungen und Websites zu erstellen. In diesem Blogbeitrag finden Sie eine fertige Liste von Lösungen, die Sie sofort in Ihrem Unternehmen umsetzen können

Inhaltsverzeichnis

Bestimmen Sie zunächst das Ziel der Implementierung eines Webentwicklungstools

Die Entscheidung, ein Werkzeug auszuwählen oder einen Prozess zu implementieren, sollte mit der Erreichung eines bestimmten Ziels verbunden sein. Bevor Sie also beginnen, die Lösungen aus diesem Artikel in die Praxis umzusetzen, überprüfen Sie die unten stehende Liste der Zwecke und überlegen Sie, ob das Werkzeug Ihnen helfen wird, eines dieser Ziele für Ihre Organisation zu erreichen. Wenn Sie das Ziel nicht klar festlegen, werden Sie nie den Punkt erreichen, an dem die Implementierung als Erfolg betrachtet werden kann

Beispiele für die Ziele der Implementierung von Werkzeugen zur Unterstützung der Arbeit eines Webentwicklungsunternehmens:

  • Verkürzung der Zeit zur Fertigstellung von Aufgaben (es ist am besten anzugeben, welche Art von Aufgaben dieses Ziel betrifft)
  • Erhöhung des über die Zeit gelieferten Werts für den Kunden, z.B. für Kunden, die regelmäßig monatlich für Arbeitszeit zahlen (z.B. wenn sie ein 40-Stunden-Paket gekauft haben, wie können wir ihnen in dieser Zeit mehr Aufgaben/Funktionen liefern oder mehr Fehler beheben, usw.)
  • Verbesserung der Pünktlichkeit bei der Projektdurchführung.
  • Optimierung der Kommunikation. Es ist nützlich, zu definieren, wie ein solches Ziel gemessen werden kann, z.B. durch die Reduzierung der Anzahl von Kundenanfragen, die nicht im Projekt abgeschlossen wurden, oder durch die Messung der internen Kommunikation mit einer Umfrage und der Wiederholung der Umfrage nach der Implementierung des Werkzeugs.

Gute Ausstattung verkürzt die Arbeitszeit

Werkzeuge sind nicht nur Software. Hardware ist ebenso wichtig. Bei Droptica haben wir unsere Hardware von Anfang an so ausgewählt, dass die Arbeit damit kein Engpass wird (z.B. lange Wartezeiten beim Erstellen eines Projekts oder langes Laden einer großen Grafikdatei)

Projekte mit einer umfangreicheren Datenbank (zehn oder hundert Gigabyte Daten) sind gute Beispiele dafür

Wenn wir die Importzeit der Datenbank von 30 Minuten auf 15 Minuten reduzieren und ein Programmierer einen solchen Import einmal pro Woche durchführt, sparen wir in einem Jahr 15 Minuten x 50 Wochen = 750 Minuten (12,5 Stunden). Wenn wir 10 Programmierer haben, sind das 125 Stunden pro Jahr, was fast einem ganzen Monat Arbeit für eine Person entspricht. 

Mit einigen Hardwareänderungen konnten wir Verbesserungen beim Importieren und Erstellen von Projekten von 60 Minuten auf 30 Minuten erzielen, und das sind sogar noch höhere Zahlen

Bei Droptica verwenden wir derzeit zwei Arten von Laptops:

  1. Macbook Pro 14 (derzeit der neueste Prozessor ist M3 Pro oder M3 Max) mit 32/36 GB RAM,
  2. HP Elitebook (derzeit die neueste Serie ist G11) mit 32 GB RAM und einem AMD-Prozessor

Unsere Entwickler im Unternehmen können wählen, ob sie lieber auf macOS oder Ubuntu arbeiten möchten und erhalten die passende Hardware basierend darauf.

Bei Droptica verwenden Entwickler derzeit zwei Arten von Laptops - ein Macbook Pro 14 und ein HP Elitebook.


Im Falle des HP Elitebook empfehlen wir den AMD-Prozessor, da er sich weniger erhitzt als Intel. Die Ventilatoren sind nicht allzu laut, und Sie können lange nur mit dem Akku arbeiten (unsere Tests ergeben 5-8 Stunden nur mit dem Laptop).

Zusätzlich zum Laptop verwenden wir zusätzliche Monitore - zwei Full-HD-Monitore oder einen größeren (27-Zoll-4K oder 34-Zoll-Ultrawide).

In unserem Intranet-System tragen wir die Geekbench Multicore-Punktzahl für jeden im Hardware-Inventar aufgeführten Laptop ein. Wir überprüfen regelmäßig, welche Laptops die niedrigste Punktzahl haben, und tauschen sie gegen neuere Modelle aus.

Eine einzige Informationsquelle zur Optimierung der Kommunikation

Heutzutage ist das hybride oder remote Arbeitsmodell in vielen Organisationen Standard. Unternehmen haben viele Online-Kommunikationswerkzeuge und verwenden sie. Manchmal gibt es allerdings so viele davon (E-Mail, Projektmanagementsystem, Text-Messenger, Video-Messenger, Online-Dokumente usw.), dass Informationen an zu vielen Orten verstreut sind und es schwer ist, sich zu merken, was wo gespeichert und festgelegt wurde.

Deshalb ist es wichtig, einen Hauptkommunikationskanal während eines Projekts festzulegen. Dieser Kanal sollte allgemeine Informationen über den Projektstatus und detaillierte Informationen über jede laufende Aufgabe liefern. Bei Droptica ist solcher Ort Jira.

Wenn wir etwas in einem Videoanruf, einer E-Mail oder einem Slack besprechen, wird es letztendlich immer in Form einer Aufgabe in Jira widergespiegelt. Sobald eine mit einer auszuführenden Aktion verbundene Aufgabe im Jira-System ist, führen wir alle damit verbundenen Diskussionen dort. Dies gilt auch für die Kommunikation mit dem Kunden.

Die Festlegung eines primären Kommunikationssystems und zusätzlicher Systeme hilft, das Kommunikationschaos zu kontrollieren. In einer Situation, in der beispielsweise vier Personen auf der Seite von Droptica und drei Personen auf der Kundenseite in einem Projekt sind, wird die Kommunikation sehr geschäftig. 

Projektmanagement in Jira, um alles unter Kontrolle zu halten

Bei Droptica haben wir Jira für Projektmanagement aus zwei Gründen gewählt:

1. Dies ist ein System, das vielen unserer Kunden vertraut ist
2. Es gibt viele Möglichkeiten, Jira an die Bedürfnisse eines Unternehmens oder eines bestimmten Projekts anzupassen

Zu 1.

Wir führen Projekte in Jira durch und laden dort unsere Kunden ein, um genau zu sehen, was während des Projekts passiert. Wir organisieren unsere Arbeit so, dass sie immer transparent ist (was wir tun und wer konkret an den Aufgaben arbeitet). Wenn der Kunde bereits mit dem System vertraut ist, müssen wir ihm nicht erklären, wie das Werkzeug funktioniert. Dadurch sparen wir eine Menge Zeit zu Beginn eines Projekts und es ist eine große Hilfe für Kunden, wenn sie hören, dass sie mit uns in Jira kommunizieren können.

Zu 2.

Jira bietet eine enorme Menge an Konfigurationsoptionen. Meiner Meinung nach ist das wichtigste JQL, eine Abfragesprache, die Aufgaben aus der Jira-Datenbank abruft. JQL-Abfragen können als Filter gespeichert und später verwendet werden, um dedizierte Dashboards oder Boards im Projekt zu erstellen.

Projektstruktur in Jira

Wir teilen Projekte in Jira auf verschiedene Weise auf. Jedes Projekt ist einem Kunden zugeordnet und der Projektname enthält den Namen des Kunden, wie z.B. "[Acme] Intranet-System" oder "[Droptica] Marketing." Wie Sie sehen können, haben wir auch interne Projekte. Alle Aktivitäten bei Droptica sind um Projekte in Jira organisiert

Solche Bezeichnungen erleichtern die Navigation durch die Projektliste und das Finden von Projekten, die einem bestimmten Kunden zugewiesen sind (oft setzen unsere Kunden mehrere Websysteme mit uns um, und jedes hat sein eigenes Projekt in Jira).

Workflow im Backlog

Standardmäßig hat ein Projekt in Jira Aufgaben in einem offenen Sprint und einem Backlog. Im Backlog-Abschnitt können Sie zukünftige Sprints erstellen und Aufgaben planen. Wir nutzen diese Funktionalität, um Aufgaben in mehrere Gruppen zu unterteilen, um zukünftige Sprints besser zu planen. Wir haben diese Aufteilung in den meisten Projekten und auch in internen Aktivitäten.

Abschnitte im Backlog in Jira:

  • Bereit zum Start / geschätzt - Aufgaben hier haben eine vollständig vorbereitete Beschreibung und Zeitbewertung. Alle Aufgaben, die in einen Sprint gehen, müssen eine bewertete Fertigstellungszeit haben, um gut zu planen, wie viele Aufgaben wir in den Sprint aufnehmen können.
  • Weitere Informationen benötigt - hier haben wir Aufgaben, deren Beschreibung nicht vollständig ist und zusätzliche Fragen beantwortet werden müssen, um zu verstehen, was getan werden muss und die Zeit gut einzuschätzen
  • Zu schätzen - in diesem Abschnitt befinden sich Aufgaben, die das Projektteam bewerten oder zusätzliche Fragen stellen und in den Abschnitt "Weitere Informationen benötigt" verschieben sollte
  • Eisfach - hier bewahren wir die Aufgaben auf, die wir momentan nicht erledigen wollen, vielleicht aber in der Zukunft wieder darauf zurückkommen
  • Backlog - dieser Abschnitt wird als Eingang behandelt und wir versuchen, ihn regelmäßig zu bereinigen (vorzugsweise einmal am Tag), indem wir Aufgaben in einen der anderen Abschnitte verschieben.
Abschnitte im Jira-Backlog, einem Projektmanagementsystem, machen die Planung von Aufgaben in Sprints einfacher.


Dashboards in Jira

Jeder Projektmanager hat zwischen 10 und 20 Kundenprojekte unter seiner Betreuung. Mit Projekt meinen wir hier sowohl Projekte, die von einem Vollzeit-Team durchgeführt werden, als auch Wartungsprojekte, bei denen der Kunde ein monatliches Stundenpaket hat (z.B. 40 Stunden). 

Wir verwenden bei Droptica hauptsächlich zwei Arten von Dashboards:

1. Dashboard pro Projektmanager: auf einem Dashboard sammeln wir Informationen aus all ihren Projekten.
2. Dashboard pro Projekt: auf einem Dashboard sammeln wir Informationen nur aus einem bestimmten Projekt

Der Zweck von Dashboards besteht darin, schnell Informationen zu erhalten:

  • Welche Aufgaben sollten als nächstes implementiert werden?
  • Welche Aufgaben müssen analysiert und geschätzt werden (Backlog)?
  • Gibt es Aufgaben, die im Vergleich zur Schätzung überzogen werden?
  • Gibt es Aufgaben, die zu lange laufen (über das im Task angegebene Fälligkeitsdatum hinaus)?
  • Burndown-Diagramm, um zu überprüfen, ob die Aufgabe gemäß dem Plan ausgeführt wird

Abhängig vom Projektmanager und dem Projekt sowie den spezifischen Anforderungen des Kunden werden die Dashboards mit zusätzlichen Informationen erweitert. Am Ende dieses Artikels finden Sie Beispiel-Dashboards.

Boards in einem Projekt in Jira

Die Standard-Boards in einem Projekt in Jira zeigen Aufgaben, die nach Zuweisung an Personen gruppiert sind. Abhängig vom Projekt ändern wir diese Einstellung und organisieren Aufgaben meistens nach dieser Reihenfolge:

  • P1 - kritische Fehler vom Typ P1
  • Überfällig - Aufgaben mit überfälligem Abschlussdatum für die Aufgabe
  • Höchste Priorität - Aufgaben mit der höchsten Priorität
  • Hohe Priorität - Aufgaben mit hoher Priorität
  • Vor X+ Tagen erstellt - Aufgaben, die vor X Tagen erstellt wurden (stellen Sie den Wert abhängig vom Projekt ein, z.B. für 15, 30, 60 Tage)
  • Mittlere Priorität
  • Niedrige Priorität
  • Niedrigste Priorität

Diese Aufteilung ermöglicht es dem gesamten Team zu sehen, was derzeit im Projekt am wichtigsten ist zu tun und worauf sich das Team konzentrieren muss. Der Projektmanager muss die Prioritäten nicht erklären. Alles ist im Board in Jira sichtbar.

Plugins für Jira

Die beiden Haupt-PluginsTimesheets Tempo - hauptsächlich zum Anzeigen und Erstellen von Berichten zu erfassten Arbeitsstunden.

  • Activity Timeline - um die Arbeit des Teams für die kommenden Tage und Wochen zu planen.
  • Wir haben auch eine benutzerdefinierte Anwendung in Symfony geschrieben. Eine Beschreibung ihrer Funktionalität finden Sie im Toolkit am Ende des Artikels.

    "Inbox Zero" im Posteingang reduziert die Zeit zur Bearbeitung von E-Mails

    Wie in Jira haben wir auch eine Methode festgelegt, um E-Mails im Posteingang zu verwalten. Wir streben einen Zustand von "Inbox Zero" an.

    Wir sortieren eingehende E-Mails in 3 Ordner:

    • 01 Handlungsbedarf - hier sind E-Mails, die eine Antwort erfordern, aber es dauert mehr als 2 Minuten;
    • 02 In Wartestellung - hier sind E-Mails, bei denen wir auf eine Antwort von jemandem warten;
    • 03 Irgendwann - hier sind E-Mails, um "irgendwann" zu tun, keine dringenden Aufgaben.

    Wir verwenden auch Filter, um E-Mails automatisch zu kategorisieren. Die häufigsten Filter sind dies:

    • Pro Kunde - um alle E-Mails eines bestimmten Kunden an einem Ort zu haben.
    • Benachrichtigungen von Jira.
    • Kalenderbenachrichtigungen (z.B. jemand hat die Teilnahme an einem Meeting bestätigt).
    • E-Mails, bei denen wir im CC- oder BCC-Feld sind.
    • E-Mails an allgemeine E-Mail-Adressen (z.B. an [email protected]).

    Filter und "Inbox Zero" ermöglichen es uns, E-Mails effizienter und schneller zu verwalten.

    Slack - ein Hub für schnelle Kommunikation im Remote-Arbeitsumfeld

    Wir haben Slack kurz nach seinem Erscheinen als Zentrum unserer textbasierten Kommunikation gewählt. Zuvor haben wir die inzwischen eingestellte HipChat-App von Atlassian verwendet

    Slack war einerseits eine einfache Textkommunikationsanwendung (wenn Sie sich an IRC erinnern, ist das allgemeine Konzept von Kanälen und privaten Nachrichten ähnlich hier). Andererseits sah es hübscher aus, war angenehmer zu arbeiten und hatte die Möglichkeit, Integrationen hinzuzufügen, deren Anzahl stetig wuchs.

    Heute können wir uns unsere tägliche Arbeit ohne Slack nicht mehr vorstellen. Es dient uns nicht nur für die Kommunikation über Kundenprojekte. Es ist auch der Hauptweg der Kommunikation über interne Projekte sowie nicht-arbeitsbezogene Gespräche (z.B. um über Serien, Autos, Elektronik usw. zu sprechen).

    Slack hat Integrationen mit zahlreichen Drittanbieteranwendungen in unserem Unternehmen, sodass wir wichtige Benachrichtigungen im Messenger erhalten können. Sehen Sie das Ende des Beitrags für Details.

    Ohne Videoanruf keine perfekte Kommunikation - Google Meet

    Wir verwenden Google Meet für Videoanrufe. Wir haben die Regel, dass jedes Meeting mit eingeschalteter Kamera stattfinden muss. Beim Arbeiten in einem verteilten Team sorgt dies dafür, dass sich dessen Mitglieder besser verstehen und effizienter arbeiten.

    Für die meisten Projekte haben wir jeden Tag Videoanrufe. Diese sind in der Regel kurze Meetings von 5-15 Minuten. Für längere Meetings verwenden wir oft die tldv.io-App, die später Textnotizen des Meetings für uns erstellt.

    Google Workspace ergänzt die anderen Tools perfekt

    Bei der Arbeit greifen wir auf die Google Workspace-Suite zurück. Neben Gmail und Google Meet verwenden wir auch täglich Textdokumente und Tabellenkalkulationen aus der Suite von Google.

    Wir haben eine Reihe von Dokumentvorlagen vorbereitet, die für die Projektarbeit verwendet werden, einschließlich:

    • Projektabschätzungen (Zeit, Kosten, Ressourcen, Zeitplan)
    • Projektbudgetkontrolle;
    • Besprechungsagenda und Meeting-Notizen;
    • Definition of Done, Sozialvertrag;
    • PDCA-Dokumente für Projekte, Teams und das Unternehmen (Zielplanung und Zielkontrolle).

    Wir haben viele weitere Vorlagen. Wir verbessern sie auch regelmäßig, da sie unsere Arbeit organisieren und die Zeit zur Erfüllung von Aufgaben verkürzen.

    Code schnell erstellen mit guten Werkzeugen

    Code-Entwicklung ist die Aufgabe, die in unserem Unternehmen am meisten Zeit in Anspruch nimmt, daher wirken sich Verbesserungen hier auf die Menge und Qualität des Codes aus, die wir an Kunden liefern. Das primäre Werkzeug für die Code-Entwicklung ist ein IDE/Texteditor. Bei Droptica benutzen die meisten Menschen PHPStorm, und einige verwenden Visual Studio Code. Wir haben eine Liste empfohlener Plugins und Erweiterungen für beide Anwendungen, die die Code-Entwicklung noch effizienter machen. Eine Zusammenfassung finden Sie am Ende des Artikels.

    Seit Beginn der Erstellung von Github Copilot verwenden wir es regelmäßig, um uns bei der Code-Erstellung zu unterstützen. Nach unseren Schätzungen beschleunigt das Werkzeug die Arbeit je nach Projekt und Art der zu erstellenden Anwendung um 20-40%.

    Wir haben auch ein Repository von universellen Modulen und Klassen, die in vielen Projekten verwendet werden können. Dieses Repository wächst ständig, was es unseren Kunden ermöglicht, schneller und kostengünstiger mehr Anwendungen zu entwickeln.

    Ein solch umfangreiches fertiges ist unser Open-Source-Projekt Droopler - SEO- freundlicher Website-Builder. Wir verwenden es als Starter für die meisten Unternehmenswebsite-Projekte. Es spart uns Hunderte von Arbeitsstunden und bietet den Kunden ein viel besseres Angebot als den kompletten Aufbau von Grund auf. 

    Wir verwenden auch andere fertige (sogenannte Drupal-Distributionen), je nach Bedarf des Kunden. Für Verlage und Medien verwenden wir Thunder CMS, für Intranets und Online-Communities verwenden wir OpenSocial, und für E-Commerce-Systeme verwenden wir Drupal CommerceSylius oder Magento, um die Plattform speziell anzupassen.

    Wir verwenden DDEV, um lokal zu arbeiten. Dieses sehr schnell weiterentwickelte Tool ermöglicht es dem Entwickler, sich auf die Erstellung von Code zu konzentrieren, anstatt auf die Probleme der lokalen Projektbereitstellung. Das Starten eines Projekts oder das Hinzufügen eines neuen Entwicklers zu einem Projekt dauert sehr wenig Zeit. Ohne DDEV haben wir viel Zeit für nicht-programmierende Aufgaben verschwendet...

    Turbo-drupal ist eine weitere Verbesserung, die Zeit der Entwickler verkürzt.  Es ist ein Starter für neue Projekte auf Drupal, welches DDEV, Werkzeuge für automatisierte Codeüberprüfung, automatische Updates für Drupal und Module sowie Integration mit Platform.sh enthält.

    Platform.sh ist unsere Haupt-Hosting-Plattform. Es ist nicht nur ein einfaches Hosting, sondern eine gesamte Plattform mit großen Konfigurationsoptionen, der Möglichkeit, mehrere Instanzen hinzuzufügen, Verwaltung über die Konsole (CLI) und vielen anderen Optionen. Der Wechsel zu Platform.sh war eine weitere Verbesserung, die die Zeit, die wir für die Anwendungsentwicklung aufwenden, verkürzt hat.

    Sehen Sie die vollständige Liste der Website-Entwicklungstools, die bei Droptica verwendet werden

    Zusätzlich zu diesem Artikelhaben wir ein Diagramm mit einer vollständigen Liste der Werkzeuge vorbereitet, die wir derzeit bei Droptica für die Webentwicklung verwenden. Wir haben Plugins für PHPStorm und Visual Studio Code, Beispiel-Jira-Dashboards, JQL-Beispiele in Jira für Dashboards und Boards sowie ein Beispiel für ein PDCA-Dokument beigefügt.

    Ein Banner, das Sie auffordert, alle Werkzeuge zu entdecken, die die Webentwicklung auf dem Diagramm erleichtern.


    Füllen Sie das Kontaktformular aus, um eine E-Mail mit einem Link zu einem Diagramm und einer Liste von Werkzeugen zu erhalten um die Prozesse Ihres Unternehmens zu verbessern.

     

    Website-Entwicklungstools - Zusammenfassung

    Unser Satz von Anwendungen und Prozessen ändert sich regelmäßig. Die Auflistung der Lösungen, die wir heute verwenden, wird wahrscheinlich in einem Jahr anders aussehen, da wir ständig entwickeln und nach neuen Verbesserungen suchen. Basierend auf mehr als zehn Jahren Erfahrung haben wir jedoch bereits Werkzeuge und Prozesse entwickelt, die potenzielle Probleme beim Erstellen von Webanwendungen verhindern und deren Lieferzeit verkürzen. Wir teilen sie oben.

    Es ist definitiv einen Versuch wert, in Ihrer Organisation zu testen und zu experimentieren - zu überprüfen, was funktioniert und was gar nicht. Bei Droptica haben wir Erfahrung im Zusammenarbeiten mit digitalen Agenturen, sodass wir Ihnen dabei helfen können, die richtigen Lösungen zu wählen. Und wenn Sie in Ihrer Organisation spezifische Software und Hardware verwenden, zögern Sie nicht, Ihre Toolkits oder Prozesse in unseren Social-Media-Beiträgen (auf Facebook, Linkedin oder X) über diesen Artikel zu teilen. Es wird sicherlich anderen Lesern nützlich sein.

    -