16.12.2024 - Fachartikel
Projektron und KI: Erfahrungen bei Entwicklung und Optimierung der Projektron BCS-Hilfe
In einem vorigen Blogbeitrag haben wir allgemeine Eigenschaften der Sprachmodelle beschrieben sowie Techniken, wie man daraus eine Applikation erstellen kann. Es folgten Beschreibungen einiger unserer Versuche mit RAG, Prompt Engineering und Finetuning. Die Vorversuche mit Prompt Engineering und RAG sahen vielversprechend aus. Nach dem Ende unserer „Forschungsphase“ haben wir uns überlegt, wie der Weg in eine produktive Anwendung aussehen könnte, und welche Aufgaben die KI im Kontext von Projektron BCS lösen könnte.
Allgemeine Anforderungen an unsere KI-Lösung
Wir wollten bei Projektron, insbesondere für unsere Software Projektron BCS, keine punktuellen Lösungen schaffen, sondern ein flexibles Framework entwickeln, das möglichst generisch funktioniert. Dieser KI-Assistent soll aus einzelnen Anwendungen aufgebaut sein, die festlegen, welche Aufgabe wie mit welchen Ressourcen gelöst werden soll. Die Anwendungen sollen verkettet werden können (KI-Workflows).
Als Ergebnis der im Sommer 2024 abgeschlossenen vorgelagerten Forschung und Tests werden wir uns bei den Techniken auf RAG und Prompt Engineering konzentrieren. Wir beschränken uns auf die Nutzung des Sprachverständnisses der Modelle, und vermeiden den Rückgriff auf Trainingswissen. Auf diese Weise sollen Halluzinationen verhindert werden.
Das Framework soll so aufgebaut sein, dass die einzelnen Komponenten wie Sprachmodell, Embedding-Modell oder Vektordatenbank leicht ausgetauscht werden können. Wir wollen wegen der schnellen und unabsehbaren Entwicklung unabhängig von bestimmten Produkten bleiben. Wichtig ist die Anforderung, dass das Framework komplett lokal betreibbar sein soll, um allen Anforderungen nach Datensicherheit und Datenschutz genügen zu können.
Entscheidend für den Erfolg ist aus unserer Sicht eine hohe Antwortqualität. Die Antworten sollen präzise und zutreffend sein. Wenn eine Frage aufgrund des Kontextmaterials nicht beantwortet werden kann, soll die KI das so rückmelden, und nicht versuchen, sich etwas zusammenzureimen (Halluzinationen). Die Nachverfolgbarkeit der Antworten ist ein wichtiges Qualitätskriterium. Die Quelle der Information soll, wo immer möglich, in der Antwort verlinkt werden, sodass sie mit einem Klick überprüft werden kann.
Da die Entwicklung von KI-Anwendungen versuchs- und testlastig ist, sind Erleichterungen bei den Lernschleifen wichtig. Ein Schwerpunkt liegt auf einem umfangreichen und gut lesbaren Logging der KI-Aktionen. Das ist essenziell, um unerwarteten Resultaten nachgehen zu können, und den Punkt zu finden, der verbessert werden muss. Ein Nutzer-Feedback wird mitgeschrieben und ausgewertet.
In 2025 soll das Framework als Teil von Projektron BCS an Kunden ausgeliefert werden. Die Antworten auf Hilfefragen bekommen die SaaS-Kunden jetzt schon, nach dem Update auf die Version 24.4, kostenfrei zur Verfügung gestellt. Die Kunden mit lokalen BCS-Installationen werden spätesten im Februar 2025 eine Anleitung bekommen, wie auch sie diesen ersten produktiven Service nutzen können.
Geplant ist, dass Projektron im Laufe des Jahres 2025 einen Grundbestand an vorgefertigten Anwendungen liefert. In einem zweiten Schritt kann der Kunde zusätzlich eigene "Anwendungen" erstellen. Die Technik soll daher auch für heterogene Ausgangsdaten.
Beispielhafte Anwendungsfälle
Anwendung | Status | |
---|---|---|
1. | Softwarehilfe / FAQ: Antwort auf genau die Nutzerfrage | schon produktiv |
2. | Ticket zusammenfassen: Die auf (eventuell) viele Kommentare (eventuell) verschiedener Personen verteilte Problembeschreibung soll zusammengefasst werden. | im Test |
3. | Lösungsvorschläge für neue Tickets: Nach ähnlichen Tickets suchen, Antwortvorschlag generieren | im Test |
4. | Projektmanagement: Auf Basis der Projektbeschreibung Vorschläge für die Umfeldanalyse erstellen (Chancen, Risiken, Stakeholder …) | Wir suchen für den Test noch geeignete Kunden. |
5. | Aufwände mit dem Sachstand abgleichen: Der Aufwand ist durch die Buchungen bekannt, der dazu korrespondierende Sachstand dagegen aufwendig manuell zu ermitteln. Ein Beispiel für so einen Vergleich sind Kundenakquisen: die durchgeführten Aktionen sind verteilt in der Kommunikationshistorie dokumentiert (z.B. ein Messebesuch, zwei Online Demos, ein Anforderungskatalog ausgefüllt und zwei Angebote erstellt). Die KI soll diesen Sachstand zusammenfassen, so das einfacher zu sehen ist, ob der Aufwand plausibel erscheint. | Test ist für März 2025 geplant |
6. | Sprachversionen: Auf Basis eines einsprachigen Datensatzes sind viele Ausgabesprachen möglich. | im Test |
Architektur
Die funktionale Sicht auf das Framework zeigt die folgende Grafik. Eingetragen ist als erste Anwendung die Softwarehilfe. Schnittstellen bestehen zu Datenquellen, zu Sprachmodellen, zur Ergebnisanzeige in Projektron BCS sowie über ein User Interface (UI) zum Administrator des Frameworks. Über das UI definiert der Administrator die Applikationen. Kern ist das System-Prompt, das festlegt, was die Anwendung leisten soll. Zusätzlich legt er das Sprachmodell (intern/extern) fest und kann Parameter eingeben. Wenn es sich, wie bei der Hilfe, um einen RAG-Applikation handelt, lässt sich steuern, wie aus dem Datensatz der Vektorindex erzeugt wird, beispielweise die Art und Größe der Textsplitts, oder wie viele Treffer zurückgegeben werden, und wie hoch diese mindestens bewertet sein müssen.
Von Projektron BCS aus wird das Framework über eine Schnittstelle angesprochen. Wenn ein Nutzer eine Frage in das KI-Hilfe-Fenster eingibt, wird eine Anfrage an das Framework gestellt, in der die betreffende Applikation als Parameter enthalten ist. Je nachdem, welche Aufgabe erledigt werden soll (Hilfe, Ticket zusammenfassen) können über die Schnittstelle verschiedene Applikationen angefragt werden.
Das Framework kann eine größere Zahl Applikationen enthalten, wie die folgende Grafik zeigt. Applikationen können verkettet werden. So kann beispielsweise aus den geschlossenen Tickets mit einem lokalen Modell ein Datensatz erzeugt werden, der aus anonymisierten Zusammenfassungen besteht. Dieser Datensatz steht dann zur Beantwortung von neu hereinkommenden Tickets zur Verfügung.
In einer späteren Version kann der Kunde eigene individuelle Applikationen definieren, die nichts mit BCS zu tun haben müssen. Im Bild ist das beispielhaft ganz rechts dargestellt, „Verträge“. Diese stellt eine Unterstützung für Mitarbeiter dar, die häufig Verträgen verhandeln oder erklären müssen, wie es in einer Softwarefirma der Fall ist, wo mit jedem neuen Kunden ein Lizenzvertrag abgeschlossen wird. Die meisten dieser Fragen wurden bereits früher einmal beantwortet. Auf diese Erfahrungen kann mit einer KI-Applikation zurückgegriffen werden, um die Bearbeitung neuer Fälle zu beschleunigen. Der Datensatz besteht aus Dokumenten, die jeweils einen Vertragsparagrafen enthalten, die früher gestellte Kundenfrage dazu, und die getroffene Entscheidung. Das kann einfach über eine Sammlung von .txt-Dateien geschehen. Diese werden wie die Hilfedokumente verarbeitet, es wird ein Vektorindex erzeugt, der dann befragt werden kann.
Auf die gleiche Weise kann ein Kunde firmenindividuelle Prozessanweisungen, Sicherheitsrichtlinien und ähnliche Datensammlungen durch KI befragbar machen.
Die technischen Komponenten zeigt die folgende Grafik. Grundsätzlich sind diese alle austauschbar, um auf die schwer vorhersehbaren, raschen Entwicklungen auf dem Feld reagieren zu können. Die serverartigen Komponenten wie Ollama und LangServe sind tiefer verankert, sie haben einen standard-nahen Status und werden auch weithin in der Industrie verwendet (Stand Dezember 2024). Komponenten wie das Text-Embedding haben wir durch Test ausgewählt, dazu später mehr. Die Sprachmodelle lassen durch einen einfachen Konfigurationseintrag auswechseln.
Um ein lokales Embedding-Modell auszuwählen, haben wir einen Vergleichstest mit verschiedenen Produkten gemacht. Als Benchmark haben wir OpenAIs text-embedding-ada verwendet, das aber nicht lokal betrieben werden kann. Basis des Tests war ein Datensatz von ca. 100 Texten und 10 Fragen, die jeweils spezifisch zu einem Text gestellt wurden, sodass klar war, welcher Text der Top-Treffer zur Frage sein sollte. Die Texte wurden in die RAG-Lösung von OpenAI eingespielt, die Fragen gestellt, und die jeweils 4 Treffer (also TopK=4) mitgeschrieben. OpenAI konnte die Fragen gut beantworten, die erwarteten Dokumente kamen an erster Stelle. Verglichen haben wir mit 6 lokalen Embedding-Modellen sowie dem auch einzeln, aber nur online verfügbaren text-embedding-ada-002. Die 10 Fragen wurden gestellt, und die jeweils 4 Treffer mit dem Benchmark verglichen. Für eine Abweichung an Pos 1 gab es 7 Punkte, dann 4, 2 und 1 Punkt. Das lokale Modell mit der geringsten Punktzahl haben wir ausgewählt. Das war BAAI/bge-m3 von der Beijing Academy of Artificial Intelligence.
Die Ergebnisse im Einzelnen zeigt die folgende Tabelle: oberer Teil die Punkte zu jeder Frage, unterer Teil, welche Texte jeweils abweichend herausgesucht wurden. Wir planen, den Test in Abständen zu wiederholen; bei wesentlichen Verbesserungen könnten wir das Embedding-Modell wechseln. Allerdings müssten man dann den gesamten Dokumentenbestand neu indizieren, was einen gewissen Aufwand bedeutet.
Damit sind die technischen Überlegungen und Aspekte des Frameworks beschrieben. Durch viele kleine Tests und Feedbackschleifen haben wir sichergestellt, dass das grundsätzliche Setup nach unseren Vorstellungen funktioniert.
Erste produktive Applikation: KI-Hilfe
Der folgende Teil beschreibt die Einstellungen, Ergänzungen und Konfigurationen, die wir bei der Umsetzung unserer ersten produktiven Anwendung, dem Projektron BCS KI-Hilfe-Assistenten, gemacht haben. Wir haben die Anwendung in mehreren Test- und Implementierungsschleifen verbessert. Dargestellt ist jeweils der Prozessablauf, mit dem wir in die nächste Testschleife gegangen sind.
Links in den Bildern ist die Indexierungsphase abgebildet, der Weg von den Dokumenten bis zur Vektordatenbank. Rechts davon die Inferenzphase, der Weg von der Nutzerfrage bis zur Antwort. Nochmal zur Erinnerung: Der Frage wird durch das Text-Embedding ein semantischer Vektor zugeordnet, dann wird die Datenbank nach ähnlichen Vektoren – deren zugehörige Texte also vom gleichen Thema wie die Frage handeln – durchsucht. Die Treffer werden als Kontext an das Sprachmodell übergeben, zusammen mit der Frage und der Anweisung: „Beantworte die Frage anhand der gefundenen Texte“.
Unser erster Aufschlag für die Projektron BCS-Hilfe entsprach dem normalen RAG-Schema. Den Prozessablauf zeigt das folgende Bild.
Wie findet man heraus, ob dieses Setup gute Ergebnisse liefert? Dazu benötigt man zunächst gute Testdaten. Das sollten validierte Frage-Antwort-Paar sein, sodass man schauen kann, ob die KI zur Frage die vorgegebene Antwort reproduzieren kann. Diese Daten waren bei Projektron in guter Qualität vorhanden, da über den Supportserver von Projektron häufig auch Hilfe-Anfragen gestellt werden. Unsere Testdaten sind also gelöste und vom Kunden abgenommene Hilfe-Tickets aus dem Support.
Wir haben damit gerechnet, dass dieses Fragen im Schnitt eine Nummer zu schwer für die KI sind, also vielleicht zu etwa ein Viertel gut beantwortet werden kann, weil nur die geschulten Projektleiter und Administratoren einen Supportzugang haben. Diese Personen sind mit dem System und der Hilfe vertraut und sollten nur solche Fragen kostenpflichtig bearbeiten lassen, die sie mithilfe der Dokumentation nicht selber lösen können. Dieser Schwierigkeitsgrad des Testdatensatzes erschien uns vorteilhaft, da genügend Raum für Optimierungen ist. Ein Vorteil des Datensatzes ist ferner, dass der Test realistisch wird, da wir echte Kundenprobleme (noch einmal) lösen können.
Die Dokumentationsabteilung, als die Experten für die Hilfe, testete die KI-Funktionen. Die Rückmeldungen erfolgten zusammengefasst, in der Regel über Microsoft-Word-Protokolle mit Screenshots und den Beobachtungen. Dann wurden die gefundenen mangelhaften Antworten untersucht, die Gründe ermittelt und überlegt, wie man den Prozess verbessern kann. Die notwendigen Änderungen wurden implementiert und getestet, dann folgte eine neue Evaluationsrunde mit der Dokumentationsabteilung mit dem jetzigen Ergebnis.
Das folgende beispielhafte Testergebnis aus der ersten Runde führte zu einer Prozessänderung. Die Frage „Was bedeutet BT-115?“ konnte nicht beantwortet werden, obwohl das in der Dokumentation beschrieben ist. Die BT-Nummern bedeuten „Business Terms“, sie bezeichnen die Felder der elektronischen Rechnung. Die Frage ist schwierig, weil sie keinen Kontext enthält. Wenn man die Frage leicht erweitert, „Was bedeutet BT-115 bei elektronischen Rechnungen“, kommt die richtige Antwort.
Es ist aber auch möglich, die kontextlose Frage richtig zu beantworten. Eine Analyse der Treffer aus der Vektordatenbank ergab, dass ein Textsplitt aus dem richtigen Hilfedokument zur elektronischen Rechnung gefunden wurde, aber nicht derjenige Split, in dem BT 115 vorkam. Mit diesen Informationen kann das Sprachmodell die Frage nicht richtig beantworten.
Wir haben dann eine Funktion implementiert, die nach Aktivierung jeden Split durch das komplette Dokument ersetzt, das dann an das Sprachmodell übergeben wird („Parent Dokument Retrieval“). Mit dieser Funktion wird auch die kontextlose Frage nach BT-115 richtig beantwortet.
Bei der Bestimmung der optimalen Größe der Textsplits besteht ein Zielkonflikt. Einerseits müssen die Splits groß genug sein, um ausreichend Kontext für die Beantwortung der Frage zu liefern, andererseits klein genug, um möglichst nur ein Thema zu enthalten, damit der Vektor die Bedeutung genau wiedergeben kann. Mit „Parent Document Retrieval“ kann man diesen Zielkonflikt zum Teil auflösen.
Die zweite Version des Prozessablaufs, mit Parent Document Retrieval, sah wie folgt aus.
Damit gingen wir in eine neue Testrunde. Die folgenden Screenshots zeigen einen Ausschnitt aus der Testdokumentation mit neuen Beobachtungen.
Die Analyse ergab, dass das Problem auch hier wieder von der Retrieval-Stufe herrührt. Wenn „BCS“ oder „Projektron“ in der Frage enthalten sind, liefert die Vektorsuche oft sehr kurze Textstücke zurück, in denen vor allem „BCS“ oder „Projektron“ steht. Oft hat keiner der fünf Treffer etwas mit dem Rest der Frage zu tun. Auch wenn man den Split durch das ganze Dokument ersetzt, kommt das Sprachmodell mit dieser Kontextinformation nicht zu einer korrekten Antwort.
Wenn man in einem allgemeinen Textkorpus suchen würde, ist es eine gute Strategie, sehr spezifische Begriffe wir „BCS“ oder „Projektron“ hoch zu gewichten, um die vermutlich wenigen Dokumente zu finden, die von diesen Themen handeln. Bei unserer speziellen Anwendung handelt aber jeder Text im Korpus von Projektron BCS, daher führt eine hohe Aufmerksamkeit für diese Begriffe in die Irre. Wir schreiben deshalb die Frage um, wenn sie bestimmte Begriffe (hier ist der Filter: „BCS“ oder „Projektron“) enthält. Sofern die Begriffe nicht enthalten sind, wird die Frage unverändert verwendet, andernfalls werden die Begriffe von einer KI-Applikation entfernt. Dabei soll die Frage ansonsten möglichst wenig verändert werden. Das ist ein erstes Beispiel für die Verkettung von KI-Applikationen. Der Prozess mit Query Rewriting (QRW) sieht jetzt so aus:
Damit gehen wir in eine neue Testrunde. Das nächste Fundstück hat wieder mit der Retrieval-Stufe zu tun. Wir haben getestet, ob kürzere Splits, weil sie präziser semantisch vektorisiert werden können, zusammen mit Parent Dokument Retrieval bessere Ergebnisse liefern. Das war überraschend nicht unbedingt der Fall, wie das Beispiel zeigt. Bei größeren Splitlängen (250 oder 1.000 Zeichen) wurde die Testfrage im Beispiel richtig beantwortet, bei einer Länge von 100 Zeichen nicht. Anscheinend gibt es dann zufällig keinen Split, der alle drei bedeutungstragenden Begriffe in der Frage: „Ticket“, „Artikel“, „zuordnen“ enthält. Die Treffer drehen sich meist um die Zuordnung von Mails zu Tickets. Mit diesem Kontextmaterial lässt sich die Frage nicht beantworten.
Als Lösung haben wir implementiert, dass der Datensatz um KI-generierte Zusatzdokumente ergänzt werden kann. In diesem Fall sind das kurze Zusammenfassungen, die alle Schlüsselwörter der betreffenden Hilfeseite enthalten. Die Zusammenfassungen werden nicht weiter gesplittet. Wenn der Indexer eine dieser Zusammenfassungen findet, wird diese wie bei den Textsplits durch die komplette Hilfeseite ersetzt, die dann als Kontext übergeben wird. Damit sieht der Prozess so aus:
Auch der letzte Verbesserungsschritt, den wir vorstellen möchten, hat mit dem Splitting- und Indizierungsprozess zu tun. Wir haben beobachtet, dass die vom Indexer gefundenen Splits oft sehr kurz sind. In der Standardeinstellung des „Recursive Text Splitter“ wird zuerst an doppelten Zeilenumbrüchen, dann an einfachen, dann an Leerzeichen, und zuletzt im Wort, gesplittet. Da die Hilfedokumente stark strukturiert sind, mit vielen doppelten Zeilenumbrüchen, entstehen viele Splits kürzer als die „Chunk Size“.
Die Standardeinstellung passt gut für Standardtexte, in unserem Spezialfall liefert sie weniger brauchbare Resultate. Das liegt im Effekt daran, dass die semantische Suche diese kurzen Splits sehr bevorzugt. Es ergibt sich oft ein Fundbild wie in der folgenden Abbildung. Obwohl als Splitlänge 1.000 eingestellt ist, sind die gefundenen Splits nur zwischen 16 und 26 Zeichen lang.
Wir haben den Verdacht, dass (ähnlich wie bei den Begriffen BCS und Projektron) deshalb oft Splits ermittelt werden, die einen hoch bewerteten Begriff enthalten. Das müssen nicht unbedingt die Splits sein, die nach dem Parent Document Replacement auf das optimale Originaldokument führen. Wir haben daher die Splitparameter über das Framework konfigurierbar gemacht, sodass man einfach die fixe Länge einstellen kann, ohne Rücksicht auf Strukturen durch Zeilenumbrüche oder die Semantik. Ein groß gewählter Überlapp sorgt dafür, dass Sinnzusammenhänge möglichst erhalten bleiben. Es scheint nach den Tests, das diese Methode in unserem Spezialfall etwas bessere Ergebnisse liefert als das Standardsplitting. Damit sieht der Gesamtprozess jetzt so aus:
Das ist der Stand, mit dem wir die erste produktive Version der Hilfe ausliefern. Jetzt warten wir auf den „Reality Check“: Erfahrungen mit den ersten echten Kunden.
Man erkennt an unserem Erfahrungsbericht recht gut, dass die meiste Optimierungsarbeit das Retrieval und besonders den Text-Splitter betraf. Wenn man erst einmal den richtigen Kontext ermittelt hat, erstellt das Sprachmodell auch eine passende Antwort.
Für die KI-Hilfe haben wir GPT-4o verwendet, da es weder Einschränkungen zum Datenschutz noch zur Datensicherheit gibt. Wir haben auch mit lokalen Modellen getestet. Auf unserer bisher verwendeten Hardware lieferte Gemma 2 27b (15,6 GB) die besten Ergebnisse. Mit noch größeren Modellen hatte der Testrechner Schwierigkeiten. Die Ergebnisse mit Gemma waren qualitativ recht gut, reichten aber nicht ganz an die von GPT-4o heran. Die Performance war deutlich schlechter, ließe sich durch einen stärkeren Rechner aber verbessern.
Ausblick
RAG und Chat
Durch ChatGPT sind viele Nutzer eine Chatfunktion gewöhnt. Wenn die Antwort nicht klar oder gut ist, fragt man eben noch mal nach. Wahrscheinlich ist das der erfolgversprechendste Weg zu weiter verbesserten Ergebnissen, auch bei der Hilfe. Das Problem im Zusammenhang mit RAG ist eine Fallunterscheidung: wenn der Nutzer die zweite Frage stellt, muss die KI beurteilen, ob sie zum alten Thema gehört, und wenn ja, ob die herausgesuchten Informationen ausreichen, oder noch einmal gesucht werden muss. Wenn es ein neues Thema ist, muss der bisherige Kontext ignoriert werden, damit er nicht in die Irre führt. Wir arbeiten also daran, die Fallunterscheidung und den Folgeprozess sauber hinzubekommen.
Feedback
Bereits jetzt kann der Nutzer im Hilfefenster rückmelden, ob er die Antwort hilfreich fand oder nicht. Hier sehen wir Potenzial für weitere Prozesse, zum Beispiel bei negativem Feedback die FAQ um eine Information zu erweitern, die die gesuchte Information bereitstellt.
Grundlagen: Wie kann KI Projektron BCS bereichern?
Wie kann künstliche Intelligenz (KI) dazu beitragen, Projektron BCS noch leistungsfähiger und intuitiver zu machen? Diese spannende Frage treibt uns seit Ende 2023 an. In einem eigens dafür initiierten Entwicklungsprojekt haben wir erste Grundlagen geschaffen, um KI gezielt in unsere Software zu integrieren. In diesem Artikel erhalten Sie einen Einblick in die Technik hinter den aktuell führenden KI-Sprachmodellen. Dabei gehen wir insbesondere auf die Transformer-Architektur, die es Maschinen ermöglicht, Sprache präzise zu verstehen und Texte zu generieren. Durch Anpassungen und Training auf spezifische Anforderungen können diese Modelle maßgeschneidert werden – etwa als Hilfsassistent in Projektron BCS.
Zum Artikel "Wie kann KI Projektron BCS bereichern? – Grundlagen"
Über die Autoren
Maik Dorl ist einer der drei Gründer und bis heute einer der Geschäftsführer der Projektron GmbH. Seit der Gründung im Jahr 2001 prägt er die strategische Ausrichtung des Unternehmens und zeichnet sich heute verantwortlich für die Bereiche Vertrieb, Kundenbetreuung und Produktmanagement. Als Produktmanager ist er die treibende Kraft hinter der Integration innovativer KI-Anwendungen in die Projektmanagementsoftware Projektron BCS.
Dr. Marten Huisinga leitet die teknow GmbH, eine Plattform für Laser-Blechzuschnitte. Künftig sollen KI-Methoden das Angebot für Amateurkunden vereinfachen. Huisinga war einer der drei Gründer und bis 2015 Co-Geschäftsführer der Projektron GmbH, für die er heute beratend tätig ist. Als DPO ist er verantwortlich für die Umsetzung erster KI-Applikationen, um den Nutzen von KI für Projektron BCS und die Projektron GmbH zu beurteilen.
Weitere interessante Artikel im Projektoron-Blog
EVA3 im Beschwerdemanagement
Können Sie mit Kritik umgehen? EVA3 bietet Ihnen ein Schema für den Umgang mit Kundenbeschwerden. Wie Sie die EVA3-Methode zur Konfliktlösung im Beschwerdemanagement erfolgreich etablieren und wie Sie von Ihrer Anwendung profitieren, erfahren Sie in diesem Artikel.
Digitale Arbeitszeiterfassung
Seit dem Urteil des Bundesarbeitsgerichts (BAG) im September 2022 ist klar: Jeder Arbeitgeber ist verpflichtet, Arbeitszeiten der Beschäftigten systematisch zu erfassen. Erfahren Sie, wobei Sie bei der Auswahl einer Software für digitale Arbeitszeiterfassung achten sollten.
Scrum in der Softwareentwicklung
Geht es um agile Methoden der Softwareentwicklung, kommen Sie um einen Begriff nicht herum: Scrum. Was aber ist Scrum eigentlich und wie entfaltet es seine Stärken in der Softwareentwicklung?
Projektkommunikation
Ein Hauptgrund für das Scheitern von Projekten ist mangelnde Projektkommunikation – laut einer PMI-Studie ist Kommunikationsmanagement im Projekt genauso wichtig wie eine genaue Kostenabschätzung, eine klare Definition der Projektziele und eine gründliche Risikoanalyse. 3 Praxis-Tipps für Ihre Projektkommunikation!