Lorixen.

Wiederkehrende Aufgaben in einer Web-App: Was bedeutet „jeden Monat“ genau?

Für regelmäßige Wartungen, Kontrollen oder interne Aufgaben brauchen Sie eine vereinbarte Regel für jeden einzelnen Termin. „Monatlich“ reicht als Anforderung nicht aus. Derselbe Kalendertag, der letzte Tag des Monats und ein gleichbleibender Zeitabstand sind unterschiedliche Zusagen. Lassen Sie vor dem Aktivieren einer Serie die nächsten konkreten Termine anzeigen. Klären Sie außerdem, was bei einer einzelnen Verschiebung oder einem ausgefallenen Programmlauf passiert.

Hier geht es um die Planung einer Aufgabenserie, nicht um die Anzeige von Buchungszeiten, Erinnerungen oder automatische Abrechnungen. Die vorgeschlagenen Geschäftsregeln sind Empfehlungen. Der zitierte iCalendar-Standard beschreibt bestimmte Kalenderregeln, garantiert aber keine Funktionen einer konkreten Anwendung.

Erst die erwarteten Termine, dann die Regel

Bitten Sie die verantwortliche Person, einige kommende Termine aufzuschreiben, darunter einen in einem kurzen Monat. Benennen Sie anschließend die Regel, die genau diese Ergebnisse liefert.

Ein erfundener Wartungsplan könnte „am letzten Kalendertag jedes Monats“ vorsehen. Ein anderer meint „am letzten Montag bis Freitag des Monats“. Das ist noch nicht zwingend der letzte Arbeitstag: Auch auf einen Wochentag können Feiertage oder Betriebsschließungen fallen. Falls diese berücksichtigt werden müssen, legen Sie den maßgeblichen Kalender, seine Pflege und die Reaktion fest. Wird vorgezogen, nach hinten verschoben oder eine manuelle Entscheidung verlangt?

Ersetzen Sie eine kalendarische Regel nicht stillschweigend durch eine feste Zeitspanne, nur weil sich das einfacher programmieren lässt. Soll die Aufgabe tatsächlich vom letzten Abschluss abhängen, gehört auch das ausdrücklich ins Briefing. „Einen Monat nach der letzten erledigten Wartung“ ist etwas anderes als eine Serie, deren monatliche Solltermine unverändert bleiben.

Was passiert, wenn es den Tag nicht gibt?

Bei einer Serie am 31. ist die Frage nach dem Februar unvermeidlich. Soll der Monat entfallen, der letzte vorhandene Tag gelten oder jemand einen Ersatztermin wählen? Jede Variante führt zu anderen fälligen Arbeiten.

RFC 5545, Abschnitt 3.3.10 schreibt vor, ungültige Datumswerte und nicht existierende lokale Uhrzeiten aus einer Wiederholungsregel zu ignorieren und nicht mitzuzählen. Für den Austausch von iCalendar-Daten ist das wichtig. Es bedeutet aber nicht, dass Ihr Betrieb auf eine monatlich zugesagte Wartung verzichten muss. Wenn die Anwendung jeden Monat einen Termin verspricht, muss ihre Regel diesen auch erzeugen. Ein Export muss die vereinbarten Termine entsprechend erhalten.

Verlangen Sie eine Vorschau über kurze Monate und gegebenenfalls Zeitumstellungen hinweg. Eine angezeigte Zeitzone beantwortet noch nicht, ob ein problematischer Termin entfällt, verschoben oder zur Prüfung markiert wird.

Serie und Einzeltermin auseinanderhalten

Wer einen einzelnen Besuch verschiebt, sollte dadurch nicht unbemerkt die ganze Serie ändern. Verlangen Sie getrennte Aktionen für „nur diesen Termin“ und „die Serie ab einem vereinbarten Zeitpunkt“. Lassen Sie erklären, was dabei mit bereits bestätigten oder erledigten Terminen geschieht.

Der Standard liefert ein nützliches Identitätsmodell. Nach Abschnitt 3.8.4.4 bezieht sich die Kennung eines verschobenen Serientermins auf seinen ursprünglichen Zeitpunkt. Wird eine Besprechung von Freitag auf Donnerstag verlegt, bleibt für diese Kennung der ursprüngliche Freitag maßgeblich. Ihre Oberfläche muss dieses technische Feld nicht zeigen. Der verschobene Besuch sollte aber als derselbe Termin erkennbar bleiben und nicht zusätzlich zur alten Planung auftauchen.

Eine Absage sollte als Ausnahme erhalten bleiben. Nur die sichtbare Zeile zu löschen, verhindert nicht zuverlässig, dass die Serienerzeugung sie erneut anlegt. Abschnitt 3.8.5.1 beschreibt für iCalendar den Vorrang ausgeschlossener Termine vor eingeschlossenen. Ob ein abgesagter Besuch ersetzt werden muss, ist davon unabhängig und gehört in Ihre Geschäftsregel.

Geplant ist nicht erledigt

Legen Sie fest, wann konkrete Aufgaben entstehen und wie weit die Vorschau reicht. Eine langjährige Serie braucht keine endlose Liste auf dem Bildschirm. Sie braucht jedoch verständliche Unterschiede zwischen geplant, angelegt, abgesagt und abgeschlossen.

Auch für einen unterbrochenen Erzeugungslauf muss es eine Entscheidung geben: Sollen überfällige Aufgaben nachträglich angelegt, zur Prüfung gesammelt oder nur zukünftige Termine fortgesetzt werden? Nicht jede überfällige Arbeit sollte sofort automatisch ausgeführt werden. Zuverlässige externe Benachrichtigungen und andere automatische Nebenwirkungen benötigen eine eigene Zustellungs- und Abgleichlogik; dieser Artikel sagt sie nicht zu.

Die Vereinbarung praktisch abnehmen

Nehmen Sie folgende Beispiele in Ihre Abnahmekriterien auf:

  • Ein kurzer Monat liefert genau das vereinbarte Ergebnis, keinen unerklärlich fehlenden Termin.
  • Eine einzelne Verschiebung behält ihre Identität und verändert die übrigen Termine nicht.
  • Eine Absage bleibt auch nach erneuter Erzeugung bestehen.
  • Eine Serienänderung zeigt ihren Gültigkeitsbeginn und schreibt erledigte Arbeit nicht um.
  • Nach einer Pause ist erkennbar, was mit den Terminen währenddessen geschehen ist.
  • Eine simulierte Unterbrechung führt zur vereinbarten Prüfung überfälliger Arbeit, ohne doppelte Termine.

Neben der Vorschau sollte eine verständliche Zusammenfassung stehen, etwa: „Letzter Kalendertag; Termine während einer Pause entfallen; Änderungen gelten ab dem gewählten Termin.“ Wenn das Team diesen Satz nicht erklären kann, ist die Anforderung noch nicht klar genug. Bringen Sie zu einem Gespräch über eine Web-App einen echten Ablauf mit seinen Ausnahmen mit, nicht nur den Wunsch nach einer Wiederholen-Schaltfläche.

WhatsAppSprechen wir