Web-Development Guide Part 1 – Ein Cheatsheet zum Projektstart

0
460

Heute möchte ich euch kurz meine Vorgehensweise zum Projektstart eines Web-Projekts zeigen.

Über meine Person

Schon früh lernte ich das Web kennen und lieben und konzentrierte mich sehr früh auf die Programmiersprache PHP. Neben meinem Studium damals zum Medieninformatiker habe ich bereits freiberuflich Onlinegänge begleitet oder geplant und umgesetzt.

Nach meinem Studium habe ich mein Hobby zum Beruf gemacht und bin aktuell bei der 1&1 Internet AG als Web-Developer beschäftigt. Dort zählt neben der Umsetzung von umfangreichen internen wie externen Projekten auch die fachliche Leitung der Entwickler zu meinen Aufgaben.

In diesem Artikel möchte ich nun meine Vorgehensweise, die ich im Laufe der Jahre für mich als sinnvoll herausgestellt hat, vorstellen.

Wichtiges zum Projektstart

Wenn mein Team und ich ein neues Projekt erhalten, werden grundsätzliche Anforderungen vorab geklärt. Anbei eine Scheckliste:

  • Wir arbeiten agil mit der Scrum Methode. Dies bedeutet auch, das wir folgendes vorab geklärt haben sollten:
    • Wer ist Scrum Master?
    • Wer ist Product Owner?
    • Wer ist technischer Leiter, der die Entwicklung im Blick hat – und die Tickets / Tasks in die richtige Reihenfolge bringt
  • Wer sind die Anforderer?
    • Hier empfiehlt es sich, bei größeren Gruppen zu dezimieren. Ziel ist es, aus jedem Bereich mindestens 3 Anforderer einzubeziehen. Hier gehe bei dem gleich folgenden Beispiel näher auf die Punkte ein
  • Welche Rollen muss das Projekt abdecken?
    • Wenn wir feststellen, dass Anforderer aus verschiedenen Bereichen kommen – werden wir mehrere Benutzerrollen im System haben. Diese müssen festgehalten werden.
  • IST-Zustand klären -> Das Projekt verstehen!
    • Bei den meisten Projekten haben wir Glück – denn wir müssen das Rad nicht neu definieren.
      Entweder wird ein bestehender Prozess abgelöst / digitalisiert oder wir können auf Erfahrungen zurückblicken. Letzteres ist dann der Fall, wenn jemand schon ein ähnliches Projekt umgesetzt hat. Ein klassisches Beispiel wäre ein Blog – da hier die grundsätzlichen an einem Blog bekannt sein sollten.
  • SOLL-Konzept erstellen -> Wie stellen sich die Anforderer das Ergebnis vor?
    • Soll der IST-Zustand oder der Prozess abgelöst werden, können sich hierdurch Anforderungen ergeben, die den Anforderer „unbewusst“ klar sind. Grundsätzlich muss man über bewusste und unbewusste Anforderungen sich im Klaren sein. Eine bewusste Anforderung wäre „Das Frontend soll Name und Nachname einer Person X speichern können“. Unbewusst könnte man hier ableiten, dass das System irgendwann eine Export-Funktion benötigt um die gespeicherten Personen als Exceldatei zur Verfügung zu stellen.
    • Somit beugen wir Fragen zu nicht gestellten Anforderungen wie „Also, es war doch klar, das wir dies auch exportieren müssen“ vor.
  • Externe Schnittstellen klären!
    • Liegen uns alle Quell- und Zieldaten vor? Benötigen wir beispielsweise zu einem Frontend, dass von internen Angestellten bearbeitet wird, die Angetelltendaten damit wir eine eindeutige ID speichern können – die über das gesamte Projekt eindeutig ist?
    • Von welchen Systemen müssen wir welche Daten importieren?
    • Zu welchen Systemen sollen die Daten in welchem Format später exportiert werden?
  • Datenschutz beachten!
    • Denken sie immer an die DSVGO! Speichern und verarbeiten sie wirklich nur die Daten, die für den Zweck notwendig sind? Ein einfaches Beispiel ist der Newsletterversand. Zum Eintragen fordern sie von den Benutzern E-Mail Adresse und Telefonnummer. Die Telefonnummer dürfen sie allerdings nicht einfordern, da die E-Mail Adresse für diesen Verwendungszweck ausreichend ist – und sie einen Newsletter per E-Mail nicht an eine Telefonnummer versenden können
  • Formulieren sie die funktionalen Anforderungen
    • Funktionale Anforderungen legen fest, was das System leisten soll
    • Beispiele:
      • Als Administrator möchte ich mir alle bisher versandte Newsletter mit Anzahl der Empfänger E-Mail-Adressen anzeigen lassen um deren Reichweite zu kennen
      • Als Benutzer möchte ich mich mit Name und E-Mail-Adresse zu einem Newsletter anmelden können, um diesen später per E-Mail erreichen zu können
      • Als Benutzer möchte ich mich vom System abmelden können, um keine weiteren Newsletter zu erhalten
      • Als Administrator muss ich Benutzer löschen können, damit diese keine Newsletter mehr erhalten
    • Formulieren sie immer: Als BENUTZERROLLE möchte ich FOLGENDE TÄTIGKEIT AM SYSTEM durchführen, um EIN GEWISSES ZIEL ZU ERREICHEN
  • Prüfen sie nicht-funktionale Anforderungen
    • Nicht funktionale Anforderungen beschreiben nicht das Projekt selbst, sondern eher das System bzw. Randbedingungen. Da sie mit der Qualität des Produkts stark zusammen hängen (Geschwindigkeit der Auslieferung von Webseiten, Systemstabilität, etc) fasse ich diese meist mit in die nicht-funktionalen Anforderungen.
    • Beispiele:
      • Das Projekt muss Newsletter binnen 24 Stunden versenden können
      • Die Anmeldung des Benutzers muss binnen 20 Sekunden im System (technisch) abgeschlossen sein
      • Das System muss 24/7 erreichbar
      • Es soll möglich sein, bis zu 100.000 Newsletter zu versenden
      • Das Projekt muss intuitiv bedienbar sein
      • Das Projekt muss verständlich dokumentiert sein…
      • Das Projekt muss sich einfach auf Fremdsystem deployen lassen
  • Abnahmekriterien bereits vor der Implementierung festhalten!
    • Nicht oft kommt es vor, dass ein Kunde die Abnahme verweigert, weil bestimmte Funktionen fehlen – die nicht dokumentiert bzw. implementiert wurden, da dies im Auftrag nicht formuliert war
    • Definieren sie klar, wann ein Projekt abgenommen werden kann / muss
    • Beispiele:
      • Das Projekt kann abgenommen werden, wenn folgende Kriterien erfüllt sind:
      • Benutzer können sich für den Newsletter anmelden
      • Administratoren können Benutzer deaktivieren
      • Benutzer können sich für den Newsletterversand abmelden
      • Benutzer können ihre Stammdaten, wie auch die E-Mail-Adresse jederzeit ändern
      • Die Newsletter werden dem Benutzer per E-Mail zugestellt

Wir stellen euch im Anhang kostenfrei eine PDF-Datei zur Verfügung, als Vorlage für Eure Projekte.

Fehlt euch etwas – oder möchtet ihr euch einfach nur bedanken ,-) Lasst es mich doch über die Kommentare wissen.

Kostenlos laden:

Noobis_Cheat_Sheet_v1_0