Automatisierung von Terminfindungen

Du hast eine Idee für ein Projekt?
Antworten
weinard
User
Beiträge: 2
Registriert: Sonntag 9. Mai 2021, 20:57

Sonntag 9. Mai 2021, 21:36

Hallo zusammen,

ich bin ein absoluter Beginner im Programmieren. Ich setze mich aus Neugier und Hobby damit auseinander und hatte die Hoffnung, dass ich ein sinnvolles Programm schreiben könnte.
Da ich den Aufwand nicht einschätzen kann und mir unsicher bin, wie und ob das möglich ist, wollte ich meine Idee hier einmal erläutern, in der Hoffnung, das mir Jemand etwas Feedback zur Umsetzbarkeit geben könnte.

Hintergrund: Ich bin für das "Betriebliche Eingliederungsmanagement" (BEM) bei uns im Unternehmen zuständig. (5000+ Mitarbeiter (MA) ).
Wenn ein Mitarbeiter 30 Tage aufgrund derselben Krankheit oder 42 Tage aufgrund unterschiedlicher Krankheiten arbeitsunfähig geschrieben wurde, wird er von mir per Post angeschrieben, ob er Interesse an einem BEM-Gespräch hat. Hier wird gefragt, ob die Gründe seiner Abwesenheit mit der Arbeit zu tun haben oder der MA Unterstützung vom Arbeitgeber benötigt (Umgestaltung des Arbeitsplatzes, etc.).
Wenn der MA ein Interesse am BEM Gespräch hat, muss ich nach einem Datum suchen, wo der MA sowie alle relevanten Beteiligten teilnehmen können (Betriebsrat, Betriebsarzt, Vertrauensperson, Sucht-/Sozialberater, Vorgesetzter, BEM-Beauftragter, ggf. weitere). Sobald der Termin vereinbart wurde, muss ich den MA informieren (leider haben die meisten MA keine eMail-Adressen und müssen dann entweder via Post oder Telefon informiert werden, alternativ wäre eine Info über den Vorgesetzten über Mail möglich). Aktuell nutzen wir in Outlook Teams-Einladungen, ansonsten war es üblich, dass zudem ein Raum als Ressource für den Termin gebucht wurde.
Für den Termin ist es zudem wichtig, dass nicht nur die Teilnehmer eingeladen werden, sondern diese auch Zeit haben (Urlaub, Fortbildungen, Terminkonflikte). Die MA arbeiten zudem in einem 3-Schicht-System. Da es sich allerdings um angeschlagene Kollegen handelt, sind diese häufig eingeschränkt eingesetzt (bspw. ohne Nachtschicht, nur in der Spätschicht oder mit unregelmäßigem Rhythmus, viele Individualregelungen). Die Einsätze in den Schichten entnehme ich einem unternehmensintern entwickelten Programm, was ich mir manuell ausgeben lassen muss. Es ist aus dem 80ern und sehr frickelig im Umgang. (Dem Programm legt eine programmierte Regel pro MA zu Grunde, wonach der Rhythmus der Schichten bestimmt wird).

Sobald ein Termin durchgeführt wurde, wird von mir eine Empfehlung an die Abteilung ausgesprochen, wie der MA in Zukunft eingesetzt werden sollte (in der Regel zeitlich begrenzt). Zudem wird ein Folgetermin vereinbart (meist nur auf den Monat oder das Quartal).

Ich habe über 100 MA, die Bedarf an einem BEM-Gespräch haben. Teilweise warten diese auf ihre "Fortsetzungsgespräche".
Der oben beschriebene Prozess ist enorm zeitaufwändig und die Organisation stiehlt mir extrem viel Zeit. Derzeit halte ich es für unrealistisch, jeden MA 1x im Jahr zu sehen (und das wäre bereits zu wenig).
Der gesamte Zeitaufwand wird nicht in meinen Aufgaben berücksichtigt.

Daher hatte ich die Hoffnung, dass ich den oben beschriebenen Prozess durch ein Programm automatisieren könnte.

- Die Auswertung der Krankheitstage erfolgt über einen Report in SAP. Das Export-Format ist Excel und kann sehr leicht automatisiert werden.
- Bei der atuomatischen Terminfindung bin ich am unsichersten: Ist es ein großer Aufwand, auf Outlook-Daten für eine Terminfindung zuzugreifen (geht das überhaupt)? Die Regeln der Schichtrhythmen können notfalls erfasst werden, aber für die variierenden Teilnehmer (von BEM zu BEM unterschiedlich) brauche ich vermutlich eine Abfrage via Outlook.
- Wie schwierig / aufwändig wäre unter dieser Prämisse das Erstellen eines automatischen Vorschlags, sodass idealerweise jeder Mitarbeiter einen Termin angeboten bekommt und ich nur auf einen Knopf drücke und die nächsten 2 Monate schon vorausgeplant habe?

Ist es realistisch, dass ich ohne Programmiererfahrung bis zum Jahresende etwas derartiges programmiert bekomme?

Besten Gruß und vielen Dank fürs Lesen
weinard
Benutzeravatar
Domroon
User
Beiträge: 81
Registriert: Dienstag 3. November 2020, 10:27
Wohnort: Dortmund

Montag 10. Mai 2021, 06:06

Willkommen hier im Forum weinard ;)
Ich habe mir vor einem Monat auch ein relativ großes Projekt aufgebunden. Meiner Erfahrung nach kann das was Du vorhast mehrere Monate dauern. Gerade als jemand der überhaupt keine Programmiererfahrung hat würde ich Dir generell erstmal vor so einem riesen Projekt abraten. Damit ersparst Du Dir sie Frustation die Du immer wieder erleiden wirst. Auch wird es dazu kommen dass Du immer wieder Teile Deines Codes wegwerfen wirst, weil Dir das Programmdesign nicht gefallen wird.
Ich würde Dir empfehlen erstmal kleinere Programme zu schreiben. Es ist wichtig, dass Du dir Feedback zu Deinem Code holst und ständig das überdenkst was Du dort Programmiert hast.

Generell würde ich bei so einem großen Programm alle Probleme in kleine Teilprobleme zerlegen welche Du leicht lösen kannst.

Zu Beginn ist es wichtig, dass Du zunächst Die Konzepte von Python verstehst. Dafür würde ich z.B. empfehlen einmal das "offizielle" Tutorial durchzuarbeiten siehe hier: https://docs.python.org/3/tutorial/

Zwischendurch solltest Du Dein Wissen dann mit kleinen Projekten in die Praxis umsetzen ;)

Meine Tipps sind natürlich nicht in Stein gemeißelt, ich kann hier nur von meiner eigenen Erfahrung reden. Ich hoffte ich konnte Dir so weiter helfen.
Sirius3
User
Beiträge: 14588
Registriert: Sonntag 21. Oktober 2012, 17:20

Montag 10. Mai 2021, 07:10

Erster Punkt ist, sich zu fragen, welche Schritte überhaupt "programmierbar" sind. Das bedeutet, ob es überhaupt feste Regeln gibt, nach denen ein Termin ausgewählt wird und wie diese Aussehen. Auf den ersten Blick scheint das so komplex zu sein, dass eine Umsetzung in einer Programmiersprache schwierig wird.

Mein Rat wäre, nicht mit dem großen Ganzen anzufangen, sondern gezielt einen Schritt herauszusuchen, der im Moment recht umständlich ist, aber eigentlich triviale Arbeit ist, also z.B. eine Exceltabelle durchsuchen und die Daten darin in einer Form aufzubereiten, die die nächsten Schritte vereinfachen.

Freie-Termine-Suche können die von Dir angesprochenen Microsoftprodukte ja schon. In der Online-Variante bietet Microsoft über die sogenannte Graph-API auch weitreichenden Zugriff über eine REST-API, also einer Schnittstelle, die von Python einfach angesprochen werden kann. Das ist aber keine einfache Kost, weil man viele Dinge gleichzeitig wissen/lernen muß.

Insgesamt hört es sich für mich aber eher danach an, dass Du ein fertiges Produkt suchen solltest, das in einer Art Ticket-System den gesamten Ablauf abbildet und bestimmte Abläufe per Plugin-System automatisiert werden. Wie eine solche Automatisierung aussieht, hängt vom verwendeten System ab, und ist wahrscheinlich nicht Python. Bei einer Firma mit 5000+ Mitarbeitenden sind mindestens schon 3 solcher Systeme in Betrieb, so dass Du Dich am Besten an Deine IT-Abteilung wendest, die haben vielleicht auch schon Erfahrung mit der Automatisierung in diesem Bereich.

Solch ein Projekt geht leicht in die tausende Stunden und Kosten damit einen 6stelligen Eurobetrag, wenn Du das selbst machst. Dafür kann man viel Zeugs kaufen. Auch mußt Du bedenken, dass das System gewartet werden muß, und dass Dein Nachfolger es bedienen können muß, und Deine Urlaubsvertretung und und und.

Wenn Du Python lernen willst, versuche Dich an einer ganz einfachen Teilaufgabe, die Dir sofort etwas Erleichterung bringt.
weinard
User
Beiträge: 2
Registriert: Sonntag 9. Mai 2021, 20:57

Dienstag 11. Mai 2021, 22:40

Hallo und vielen Dank für die Begrüßung und hilfreiche Tipps!

Ich werde ein wenig von allem verwenden und morgen mal bei unserer IT nach einem Ticket System oder anderen technischen Lösungen fragen. Dies könnte den für mich entstehenden Aufwand reduzieren und zudem den Mitarbeiter mehr in die Verantwortung bringen. (bzw. einen Teil des Prozess dahingehend automatisieren, dass Leute die Hilfe brauchen, ihrerseits Termine buchen können).

Und als kleine Lernaufgabe für mich werde ich mal erste Schritte mit einfachen Kalender-Funktionen versuchen. Also nicht in Outlook, sondern wie ich eine Art simplen Kalender bauen würde.
Dauert sicher auch ein wenig. Aber es geht mir nur darum, wie ich das aufbauen würde. Und mal schauen, was für Erkenntnisse ich dabei gewinne.

Vielen Dank!
Antworten