Fachwissen Archives - Frachtwerk https://frachtwerk.fw-web.space/category/fachwissen/ Wed, 23 Apr 2025 14:19:41 +0000 de hourly 1 https://wordpress.org/?v=6.8 https://frachtwerk.fw-web.space/wp-content/uploads/2024/08/cropped-frachtwerk-favicon-32x32.png Fachwissen Archives - Frachtwerk https://frachtwerk.fw-web.space/category/fachwissen/ 32 32 Hilfe, mein Team ist nicht engagiert – wie dieses Meetingformat zu mehr Engagement führt (inkl. Vorlage) https://frachtwerk.fw-web.space/hilfe-mein-team-ist-nicht-engagiert/ Tue, 01 Apr 2025 11:34:42 +0000 https://frachtwerk.fw-web.space/?p=5344 Du bist unzufrieden, weil das Team nur „das Nötigste” gibt? Du fragst dich, warum sie nicht engagierter sind? Warum du alles anstoßen und kontrollieren musst? Dann ist dieser Artikel für dich. Wir zeigen dir 3 Dinge, die Teams unserer Erfahrung nach benötigen, um eine intrinsische Motivation zu entwickeln. Außerdem teilen wir ein ganz konkretes Tool, […]

The post Hilfe, mein Team ist nicht engagiert – wie dieses Meetingformat zu mehr Engagement führt (inkl. Vorlage) appeared first on Frachtwerk.

]]>
Du bist unzufrieden, weil das Team nur „das Nötigste” gibt? Du fragst dich, warum sie nicht engagierter sind? Warum du alles anstoßen und kontrollieren musst?

Dann ist dieser Artikel für dich. Wir zeigen dir 3 Dinge, die Teams unserer Erfahrung nach benötigen, um eine intrinsische Motivation zu entwickeln. Außerdem teilen wir ein ganz konkretes Tool, welches die Identifikation zum Unternehmen und somit die Bereitschaft, Einsatz und Freude steigert.

Wenn Mitarbeiter:innen nicht das gewünschte Engagement haben, ist die Strategie von vielen folgende: noch mehr Kontrolle und Top-Down-Vorgaben.

In unserer Erfahrung gibt dieses Verhalten Menschen jedoch noch weniger Anlass, sich einzubringen und gebunden zu sein.

Wir erleben, dass Menschen vor allem 3 Dinge brauchen, um sich wahrhaftig zu engagieren.

  • 1. Die Tatsache und das Gefühl, dass das, was sie tun, auch „ihr Eigenes” ist

Würdest du für eine Sache alles geben, wenn es am Ende nur der Bereicherung anderer, einzelner Personen dient? Erst wenn wir das Gefühl haben, dass unser Handeln auf ein Ziel einzahlt, was uns am Herzen liegt, spüren wir den inneren Drang, uns wahrhaftig einbringen zu wollen. Das bedeutet nicht, dass jedes Unternehmen massive, karitative Großprojekte stemmen muss. Es bedeutet, dass Mitarbeiter:innen spüren, dass Unternehmen ihre Arbeitszeit und Energie nicht als selbstverständlich ansehen. Es bedeutet, dass Räume geschaffen werden, wo sich alle mit der Sinnfrage des Unternehmens auseinandersetzen können.

  • 2. Die Tatsache und das Gefühl, dass sie mitbestimmen können

Wie soll man sich engagieren, wenn man bei den relevanten und verantwortungsvollen Fragestellungen nie wirklich mitentscheiden darf? Wenn mehr Engagement gefordert wird, muss man Menschen auch tatsächlichen Raum für Wirkung eingestehen. Das bedeutet, dass Mitarbeiter:innen Mitbestimmung in Situationen ermöglicht wird, die sie reizen und fordern. Situationen, in denen Mitbestimmung als Vertrauensbeweis wahrgenommen wird und nicht lediglich als „Alibi-Mitbestimmung”.

  • 3. Die Tatsache und das Gefühl, dass sie gesehen werden


Wir sind überzeugt, dass Menschen von Natur aus gerne geben, beitragen und sich um andere kümmern. Schließlich befriedigen wir damit eins der ältesten Grundbedürfnisse der Menschheit: gesehen werden und dazu gehören. Wird das Engagement über einen längeren Zeitraum nicht anerkannt, folgen häufig Demotivation und Rückzug. Im unternehmerischen Kontext gesehen oder anerkannt zu werden, kann sich in verschiedenen Facetten ausdrücken. So geht es z. B. darum, mit seinen Sorgen ernst genommen zu werden, 100 % Aufmerksamkeit im Moment zu erhalten, eine Aufgabe anvertraut zu bekommen oder nach der Meinung gefragt zu werden.

Deep CheckIn

Natürlich gibt es nicht die eine Lösungsformel für mehr Engagement im Team. Es gibt jedoch eine konkrete Maßnahme, die den Raum eröffnet für eine Kultur, die sich mit ihrem Sinn, Mitbestimmung und Wertschätzung auseinandersetzt – der „Deep CheckIn“.

Der Deep CheckIn ist ein Meetingformat, das wir bei Frachtwerk seit ca. einem Jahr mehrmals pro Jahr in Zweierteams anwenden.

  • Ziel: Herausfinden, was ich als Individum brauche, um noch glücklicher und verbundener im Unternehmen zu sein.
  • Gruppe: Zweierteams
  • Vorbereitung: Es finden sich Paare. Jede Person füllt für sich vor dem Meeting den Deep CheckIn in ca. 10 bis 30 Minuten aus (siehe Vorlage).
  • Durchführung: Hier werden die vorher ausgefüllten Deep CheckIns mit dem Gegenüber in insgesamt ca. 60 Minuten geteilt (siehe Agenda).

Vorlage

Agenda

Um mehr Engagement im Team zu erzielen, ist es vor allem zielführend, raus aus dem Vorwurf und rein in die sog. konsequente positive Unterstellung (KPU) zu kommen. Sie ist eine Geisteshaltung, die sagt, dass alles, was‬ Menschen tun, ein Versuch ist,‬ sich universelle, positive‬ Bedürfnisse zu erfüllen.‬ Mit dieser Haltung kann man auch erkennen, dass Menschen nicht aus schlechten Absichten wenig engagiert sind. Ein ehrlicher Dialog kann Klarheit bringen, was Mitarbeiter:innen brauchen, damit sie sich wieder mehr mit dem Unternehmen identifizieren können.

Du möchtest mehr erfahren oder dich mit uns zu anderen Themen der Agilen Organisation austauschen?

The post Hilfe, mein Team ist nicht engagiert – wie dieses Meetingformat zu mehr Engagement führt (inkl. Vorlage) appeared first on Frachtwerk.

]]>
Von der Idee zum fertigen Produkt https://frachtwerk.fw-web.space/von-der-idee-zum-fertigen-produkt/ Fri, 28 Feb 2025 09:46:04 +0000 https://frachtwerk.fw-web.space/?p=5235 Bei fast jedem neuen Projekt wird uns die Frage gestellt, wie sich der Ablauf der kommenden Wochen und Monate denn nun eigentlich gestalten wird. Für die meisten Anwender:innen kommt ein Migrationsprojekt auch eher selten vor, weswegen die Frage natürlich berechtigt ist.Anhand einer unserer eigenen kleinen Produktentwicklungen – jourfixe.io – wollen wir im folgenden einmal zeigen, wie man […]

The post Von der Idee zum fertigen Produkt appeared first on Frachtwerk.

]]>
Bei fast jedem neuen Projekt wird uns die Frage gestellt, wie sich der Ablauf der kommenden Wochen und Monate denn nun eigentlich gestalten wird. Für die meisten Anwender:innen kommt ein Migrationsprojekt auch eher selten vor, weswegen die Frage natürlich berechtigt ist.
Anhand einer unserer eigenen kleinen Produktentwicklungen – jourfixe.io – wollen wir im folgenden einmal zeigen, wie man sich einen solchen Projektablauf vorstellen kann!

Bedarf

Wie in den meisten Fällen entsteht Software selten völlig neu auf der grünen Wiese. Häufig gibt es bereits ein existierendes System, an dem jedoch mittlerweile der Zahn der Zeit nagt. So auch in diesem Fall – ein Kunde fragte uns, ob wir nicht sein Tool zur Anwesenheitsplanung „sanieren” könnten. An den verwendeten Formen und Farben ist gut erkennbar, dass das Tool schon länger keine Pflege mehr erfahren hatte:

Aufgrund der verwendeten Technologie und der Code-Struktur war am bestehenden System nicht mehr viel zu retten, weswegen wir uns dazu entschieden haben, das Tool selber neu zu entwickeln und der Öffentlichkeit kostenlos zur Verfügung zu stellen.

Konzeption

Je nach Größe des Projekts findet die Konzeption in einigen wenigen kleinen Workshops bis hin zu mehrjährigen regelmäßigen Konzeptionsrunden statt. In diesem Fall war der Funktionsumfang überschaubar, weswegen ein paar Runden am guten alten Whiteboard gereicht hatten, um eine neue Idee so weit zu bringen, dass sie greif- und umsetzbar wurde:

Bei allen modernen Tools – die gemeinsame Arbeit am Whiteboard ist für eine erste Konzeption nach wie vor der größte Gewinn: Ideen können schnell skizziert werden und eine gemeinsame Visualisierung hilft, um sicherzustellen, dass alle Beteiligten von derselben Sache reden.

Je nach Projektgröße erfolgt anschließend eine Umsetzung der Skizzen als vollständige Mock-Ups. Meistens verwenden wir dazu Figma. Bei großer Komplexität lassen sich hier auch ganze Klickstrecken visualisieren, um einen Eindruck der zu implementierenden Prozesse zu gewinnen.

An dieser Stelle scheiden sich natürlich die Geister – viele Anhänger eines sehr strikten agilen Vorgehens würden anmerken, dass höchstens Wireframes skizziert werden sollten, um den Frontend-Entwickler:innen eine größtmögliche Freiheit in der Umsetzung zu lassen.


Da in den meisten von uns entwickelten Systemen die Funktionalität eher im Vordergrund steht und unsere Frontend-Kolleg:innen gemeinsam mit unseren Mitarbeitenden von UI/UXl eine Bibliothek möglicher Komponenten entworfen haben, hat sich in der Projektrealität gezeigt, dass uns eine möglichst realistische Umsetzung in Figma weiter bringt – insbesondere auch, weil so die Komplexität in Richtung Kunde besser beherrscht werden kann.

Umsetzung

Bei der Umsetzung wiederum halten wir uns klar an agile Prozesse: Anforderungen werden als User Stories in Tickets formuliert. Diese werden seitens Product Owner mit dem Kunden diskutiert und entsprechend priorisiert. In – meistens zweiwöchentlichen – Sprints werden dann in crossfunktionalen Teams die Anforderungen sukzessive umgesetzt und direkt im Anschluss von Product Owner und Kunde getestet.

Als Tools für Backlog und Codeverwaltung kommt bei uns die Open-Source-Anwendung gitlab zum Einsatz. Auf die Projekte haben grundsätzlich auch alle Beteiligten unserer Kunden Zugriff, um Anforderungen und Projektortschritt so transparent wie möglich zu halten. Je nach Projektgröße kann es auch sinnvoll sein, Tickets grundsätzlich erst von Beteiligten des Kunden prüfen zu lassen, bevor sie in die Umsetzung gehen.

Finales Produkt

Der schönste Moment eines Projekts ist gekommen: Das entwickelte Projekt das erste Mal im Produktivbetrieb zu erleben! Obwohl es nur ein „kleines Tool” von Anwesenheiten und Arbeitsplätzen für hybride Teams zu verwalten ist, sind trotzdem hunderte Stunden Arbeit in die Umsetzung geflossen. Aber das Ergebnis kann sich durchaus sehen lassen:

Übrigens: Das Tool stellen wir kostenlos unter https://jourfixe.io zur Verfügung! Wenn du eine Möglichkeit suchst, die Anwesenheiten deines Teams transparent zu tracken, dann bist du hier genau richtig! Optional kannst du auch deine Arbeitsplätze hinterlegen, sodass sich Kolleg:innen ihre jeweiligen Plätze im Büro buchen können.

Falls du Fragen dazu hast, freuen wir uns jederzeit gerne über Post!

The post Von der Idee zum fertigen Produkt appeared first on Frachtwerk.

]]>
Mobile App Development: Flutter vs. React Native vs. Native https://frachtwerk.fw-web.space/mobile-app-development-flutter-vs-react-native-vs-native/ Mon, 20 Jan 2025 13:23:40 +0000 https://frachtwerk.fw-web.space/?p=5163 Stell dir vor, du stehst vor einem neuen App-Projekt und kannst dich einfach nicht entscheiden. Du hast die meisten Optionen aussortiert und stehst jetzt vor der Wahl: Native Entwicklung, React Native oder Flutter? Natürlich möchtest du wenig Kompromisse in puncto Performance, Entwicklungsgeschwindigkeit, Flexibilität und User Experience eingehen. Doch welche Variante bietet die beste Kombination dieser […]

The post Mobile App Development: Flutter vs. React Native vs. Native appeared first on Frachtwerk.

]]>

Stell dir vor, du stehst vor einem neuen App-Projekt und kannst dich einfach nicht entscheiden. Du hast die meisten Optionen aussortiert und stehst jetzt vor der Wahl: Native Entwicklung, React Native oder Flutter?

Natürlich möchtest du wenig Kompromisse in puncto Performance, Entwicklungsgeschwindigkeit, Flexibilität und User Experience eingehen. Doch welche Variante bietet die beste Kombination dieser Faktoren? Welche Variante ist die richtige für dein Projekt?

Native Entwicklung

Die Native Entwicklung ist der traditionelle Ansatz, Apps zu entwickeln. Dabei wird individuell für jede Plattform ein eigener Code geschrieben. Das heißt, sowohl IOS als auch Android haben ihre eigene Codebasis mit ihren eigenen Programmiersprachen und ihren eigenen Tools. Für IOS wird in der Regel Swift oder Objective-C verwendet, während für Android entweder Java oder Kotlin zum Einsatz kommen.

Vorteile

Maximale Performance
  • Durch das Verwenden und Kompilieren der plattformspezifischen Programmiersprachen ist hier die beste Performance garantiert.
  • Selbst rechenintensive Aufgaben und komplexe Animationen können zuverlässig ausgeführt werden.
Optimale User Experience
  • Das Anzeigen der gewohnten UI-Elemente des jeweiligen Betriebssystems sorgt bei den meisten Usern für eine Vertrautheit, weil sie die schon kennen.
  • Die Navigation und generelle Bedienung funktionieren intuitiver durch ein gewohntes Look & Feel.
Zugriff auf alle Gerätefunktionen
  • Native Apps haben vollen und direkten Zugriff auf sämtliche Hardware- und Softwarefunktionen des Geräts.
  • Bei Softwareupdates haben Native Apps direkten Zugang zu neuen Features.

Nachteile

Hoher Entwicklungsaufwand
  • Durch separate Codebasen pro Plattform ist der Entwicklungsaufwand enorm. Sowohl die initiale Entwicklung als auch die spätere Wartung und Weiterentwicklung ist sehr hoch.
  • Testen und Debuggen müssen ebenfalls separat erfolgen, um sicherzustellen, dass die App auf allen Plattformen fehlerfrei funktioniert.
  • Der ständige Wechsel zwischen verschiedenen Programmiersprachen verlangsamt die Entwicklungsgeschwindigkeit zusätzlich.
Höhere Kosten
  • Aufgrund des hohen Entwicklungsaufwands sind die damit verbundenen Entwicklungskosten dementsprechend hoch.
  • Ein Entwicklerteam, das auf beiden Plattformen entwickelt, verliert Effizienz durch den ständigen Wechsel zwischen den Systemen. Entwickelt man jedoch mit zwei getrennten Teams, steigen die Kosten ebenfalls. Einen detaillierten Kostenvergleich der drei Ansätze findest du weiter unten im Abschnitt „Vergleich der Ansätze“.
Spezifisches Know-How erforderlich
  • Entwickeln auf Codebasen mit unterschiedlichen Programmiersprachen erfordert zusätzliches Wissen, Entwickler benötigen tiefgreifende Kenntnisse zu diesen Sprachen und Entwicklungsumgebungen.
  • Unterschiedliche Codebasen erhöhen die Komplexität der Verwaltung, besonders bei größeren Projekten.

Cross-Plattform-Entwicklung

Alternativ zur nativen Entwicklung, bei der eine separate Codebasis pro Plattform erstellt werden muss, bieten moderne Cross-Plattform-Frameworks Möglichkeiten, das zu umgehen. Sie erlauben es sowohl IOS als auch Android Apps mit einer einzigen Codebasis zu erstellen. Allerdings bietet diese Alternative nicht ausschließlich Vorteile.

Vorteile

Effizienz & Kosten
  • Eine einzige Codebasis erspart beim initialen Entwickeln und auch Warten der Software sehr viel Zeit und Geld.
  • Es muss nicht zwei Mal dasselbe entwickelt werden.
Schnellere Time-to-Market
  • Auch hier ermöglicht eine Codebasis eine deutlich schnellere Entwicklung und somit eine zügigere Markteinführung. Vor allem bei kleineren Teams ist das einer der größten Vorteile.
Große Community & Ökosystem
  • Durch die Open-Source-Natur der Frameworks (Flutter & React Native) und der mittlerweile recht großen Community bieten externe Bibliotheken die Möglichkeit, Features schnell zu implementieren, da sie von anderen bereits umgesetzt wurden.
Hot Reload
  • Sowohl React Native als auch Flutter unterstützen „Hot Reloading”. Das bedeutet, dass man jede Änderung am Code sofort in der App nachvollziehen kann, ohne diese jedes Mal neu starten zu müssen.

Nachteile

Performance
  • Im Gegensatz zur Nativen App-Entwicklung ist die Performance von Cross-Plattform-Frameworks je nach Anwendungsbereich ein Nachteil. Abhängig von der Komplexität der UI-Elemente kann das ausschlaggebend sein, da jede zusätzliche Schicht immer etwas mehr Rechenleistung in Anspruch nimmt.
Abhängigkeit
  • Bei neuen Updates des Betriebssystems – sowohl für IOS als auch Android – ist man davon abhängig, dass es ein Update gibt, um alle neuen Funktionen verwenden zu können. Diese kommen meistens zwar relativ schnell, trotzdem gibt es immer eine gewisse Wartezeit.
  • Zusätzlich ist man bei den Frameworks sehr stark von externen Bibliotheken abhängig.
Nativer Code benötigt
  • Bei fortgeschrittenen Implementierungen wird für Cross-Plattform-Frameworks auch nativer Code benötigt. Wenn es keine Bibliothek gibt, muss man hier in den nativen Code springen.

1. React Native

React Native ist ein von Meta entwickeltes Open-Source-JavaScript-Framework, das auf React basiert. Es ist eines der populärsten Frameworks für die Entwicklung mobiler Apps. Die generellen Prinzipien sind identisch zu React, jedoch bietet React Native die Möglichkeit, native Apps für IOS und Android zu schreiben. React Native dient als Brücke zwischen dem geschriebenen JavaScript-Code und dem nativen Code.

Nachteile

Migrieren neuer Versionen
  • Das Aktualisieren auf neue React-Native-Versionen kann komplex und zeitaufwändig sein.
Fragmentierung des Ökosystems
  • Da das React-Native-Ökosystem aus Open-Source-Bibliotheken besteht, sind sie oft sehr unterschiedlich und passen optisch nicht immer perfekt zusammen.

Vorteile

Ähnlichkeit zu React

  • Alle Entwickelnden, die bereits mit React vertraut sind, können bei React Native quasi direkt loslegen. Dadurch ist die Einarbeitungszeit sehr gering.
Zugriff auf native APIs
  • Auch wenn es manchmal ein Nachteil sein kann, bei React Native auch nativen Code entwickeln zu müssen, bringt allein die Möglichkeit auch einen Vorteil mit sich. React Native erlaubt es Entwickelnden, bei Bedarf nämlich auch nativ zu entwickeln.

2. Flutter

Flutter ist ein auf Dart basierendes Open-Source-Framework, das von Google entwickelt wird. Mit React Native gehört es zu den zwei beliebtesten Frameworks für das Entwickeln mobiler Apps. Es besitzt eine eigene Rendering-Engine, welche die komplett individuelle Gestaltung der UI unabhängig vom nativen Look & Feel ermöglicht. Die Programmiersprache Dart ist hier sehr ähnlich zu JavaScript, was wiederum bei React Native verwendet wird. Flutter kompiliert den Dart-Code in nativen ARM-Code, der dann auf IOS und Android ausgeführt werden kann.

Vorteile

Performance
  • Zwar ist die Performance wie oben genannt nicht auf einem Level mit nativen Apps, aber sie ist bei Flutter aufgrund der eigenen Rendering-Engine sehr gut.
Konsistentes Look & Feel
  • Es ist auf der einen Seite schön, native UI-Komponenten bei IOS und Android zu verwenden. Jedoch kann es auf der anderen Seite auch ein Vorteil sein, wenn die App auf allen Plattformen komplett identisch aussieht.
Mobile, Web und Desktop
  • Flutter ermöglicht es Entwickelnden, mit ein und demselben Framework sowohl Mobile Apps, Web-Apps als auch dedizierte Desktop Apps zu bauen.

Nachteile

Dart als Programmiersprache
  • Dart ist zwar ähnlich zu JavaScript, aber nicht identisch. Da die Programmiersprache nicht so verbreitet ist wie JavaScript, kann das ein Nachteil von Flutter sein.
Eingeschränkte Flexibilität in UI-Gestaltung
  • Flutter bietet sehr viele vorgefertigte Widgets, die einfach verwendet werden können. Allerdings ist die freie Gestaltung etwas eingeschränkt.

Vergleich der Ansätze

Nachdem nun die drei Ansätze – Native Entwicklung, React Native und Flutter – beleuchtet wurden, werden sie direkt miteinander verglichen. Welcher Ansatz hat die meisten Stärken und ist für welche Projekte am besten geeignet?

KriteriumNative EntwicklungReact NativeFlutter
ProgrammierspracheSwift/Objective-C (iOS), Java/Kotlin (Android)JavaScript, TypeScriptDart
PerformanceSehr hochMittel/HochHoch
EntwicklungszeitSehr langRelativ kurzRelativ kurz
EntwicklungskostenSehr hochRelativ geringRelativ gering
UI/UXNative UI-ElementeNative UI-ElementeEigenes Rendering, konsistentes Look & Feel
Zugriff auf GerätefunktionenVollständig und direktGut, aber manchmal native Module erforderlichGut, aber manchmal native Module erforderlich
Community & SupportGroße Community für jede Plattform, viele Ressourcen verfügbarSehr große und wachsende CommunitySehr große und wachsende Community
LernkurveSehr steilRelativ flachRelativ flach
App-GrößeKleinTendenziell größerTendenziell größer
Flexibilität & AnpassbarkeitSehr hochHochMittel/Hoch
WartungAufwändig, separate Updates für jede PlattformEinfacher, aber Updates können komplex seinEinfacher, aber Updates können komplex sein
StabilitätSehr hochHochHoch

Fazit

Das Entwickeln mobiler Apps ist vor allem in den letzten Jahren immer zugänglicher geworden. Es gibt mehr und mehr Möglichkeiten, schneller mobile Anwendungen zu bauen. Dadurch erhöht sich allerdings auch die Auswahl und das erschwert die Entscheidung, ob mit Cross-Platform-Frameworks oder nativ entwickelt werden soll. Wie wir in diesem Beitrag gesehen haben, bietet jeder Ansatz ganz eigene Stärken und Schwächen.

Wenn einem schnelle Entwicklungszyklen und einfache Wartung kombiniert mit geringem Budget wichtig sind, bieten Cross-Platform-Frameworks einen optimalen Weg für die App-Entwicklung. Hierbei ist es relativ egal, ob man sich für Flutter oder React Native entscheidet. Der wohl größte Unterschied dieser beiden ist die eigene Rendering Engine von Flutter gegenüber den nativen UI-Elementen von React Native. Ebenfalls wäre React Native wahrscheinlich die bessere Wahl, wenn man bereits Erfahrung mit React hat und damit vertraut ist.

Für die komplett native Entwicklung spricht entweder die maximale Performance bei sehr komplexen Anwendungen und der vollständige Zugriff auf sämtliche Gerätefunktionen. In den meisten Fällen leidet die native Entwicklung jedoch unter den sehr hohen Entwicklungskosten und der steilen Lernkurve.

Abschließend lässt sich sagen, dass es keine ultimativ richtige oder falsche Antwort darauf gibt, welches der beste Weg zur Entwicklung einer mobilen App ist und dass man bei der Entscheidung auch seine persönlichen Präferenzen abwägen muss.

The post Mobile App Development: Flutter vs. React Native vs. Native appeared first on Frachtwerk.

]]>
Essencium – unsere Open Source Boilerplate https://frachtwerk.fw-web.space/essencium-unsere-open-source-boilerplate/ Fri, 10 Jan 2025 09:09:10 +0000 https://frachtwerk.fw-web.space/?p=4975 Was ist Essencium? Essencium ist eine Boilerplate / Fundament, das Grundfunktionalitäten bereitstellt, um neue Projekte schneller aufsetzen zu können. Sobald Essencium eingerichtet ist, können die Entwickler:innen direkt mit den projekt-spezifischen Implementierungen beginnen. Zu den Grundfunktionalitäten gehören User-Management, Rechte- und Rollen-Management sowie Mehrsprachigkeit. Der Name „Essencium“ ist eine Kombination aus dem Wort „Essence“ und „Caesium“. Zum […]

The post Essencium – unsere Open Source Boilerplate appeared first on Frachtwerk.

]]>
Was ist Essencium?

Essencium ist eine Boilerplate / Fundament, das Grundfunktionalitäten bereitstellt, um neue Projekte schneller aufsetzen zu können. Sobald Essencium eingerichtet ist, können die Entwickler:innen direkt mit den projekt-spezifischen Implementierungen beginnen. Zu den Grundfunktionalitäten gehören User-Management, Rechte- und Rollen-Management sowie Mehrsprachigkeit. Der Name „Essencium“ ist eine Kombination aus dem Wort „Essence“ und „Caesium“. Zum einen soll Essencium den Kern für Projekte darstellen, die darauf aufsetzen (die Essenz), zum anderen wollen wir Frachtwerk im Namen verankern. „Caesium“ kommt nämlich aus dem Lateinischen und bedeutet „Blaugrau“, wobei Blau und Grau zwei Farbbestandteile unseres Logos sind.

Motivation

Wir nutzen am liebsten Software, welche die Open-Source-Community dankbarerweise mit Mühe bastelt und kostenfrei zur Verfügung stellt. Mit Essencium möchten wir als Organisation der Community nicht nur als Nutzer:innen beistehen, sondern auch proaktiv unseren Teil beitragen. Wir freuen uns, wenn wir mit unserer Arbeit unterstützen und auch fleißige Contributor willkommen heißen können.

Es gibt bereits einen Vorläufer von Essencium, den wir intern „Starter“ getauft hatten. Dieser ist mit der Zeit in die Jahre gekommen und dessen Architektur und Design haben nicht mehr in unser Konzept gepasst. Des Weiteren ist dieser closed-source. Mit der Möglichkeit, von Grund auf anzufangen, haben wir auch die UI und UX verbessert und bedienen uns der Component Library Mantine. Für uns war wichtig, ein minimalistisches Design zu entwerfen, das unkompliziert anpassbar ist. All die Learnings aus Projekten, die auf dem internen Starter aufgebaut wurden, konnten wir in Essencium mit einfließen lassen.

Ebenso wichtig war für uns die Developer Experience (DX). Es soll Freude bereiten, an und mit Essencium zu arbeiten. Demnach haben wir uns entschlossen, State-of-the-Art Libraries und Frameworks zu nutzen. Das ganze Projekt baut auf Next.js auf und bietet eine Menge innovativer Funktionalitäten wie z. B. file-system based routing, Optimierungen für Bilder, Schriftarten und Skripte, diverse Rendering-Möglichkeiten und auch die Möglichkeit, einen Node.js / API Server innerhalb der Codebase zu implementieren. Das gibt uns viel Flexibilität und ermöglicht uns. unsere Software noch besser an Anforderungen anzupassen.

Funktionalitäten

Wie bereits weiter oben erwähnt, ist der Kern von Essencium die Verwaltung von Nutzer:innen, Rechten, Rollen sowie Sprachen. Das Ziel war es, die Verwaltung so zugänglich und minimalistisch wie möglich zu gestalten und gleichzeitig den Raum für individuelle Erweiterungen zu gewähren. Neben dem Kern bietet Essencium außerdem die Möglichkeit, zwischen Light-, Dark- und System-Mode zu wählen und auch auf mobilen Endgeräten Anwendungen benutzerfreundlich zu bedienen. Auch für Power-User haben wir eine Spotlight Search implementiert. So ist es möglich, schnell und nur mit der Tastatur innerhalb der Anwendung zu navigieren.

Wir finden es wichtig, für Nutzer:innen jederzeit die Möglichkeit zu bieten, Feedback innerhalb der Anwendung zu geben, z. B. für eine konkretere Fehlerbeschreibung. Demnach haben wir ein dezentes Feedback-Widget eingebaut, das die Nutzer:innen öffnen können, um ihre Anliegen mitzuteilen. Aber nicht nur Text ist möglich, es kann vielmehr auch direkt ein Screenshot der aktuellen Seite gemacht und an uns übermittelt werden.

Architektur, Wartbarkeit & Dokumentation

Für uns bestand die Herausforderung u. a. darin, eine Boilerplate zu entwickeln, die robust und wartbar ist. Das bedeutet, dass auf Essencium basierende Projekte so einfach wie möglich Updates erhalten sollen. Wir haben uns demnach dafür entschieden, die Kern-Funktionalitäten in Form von Frontend-Komponenten in eine eigene Library auszulagern und in der npm-Registry bereitzustellen. Wurde bspw. ein Fehler in einer Essencium-Komponente behoben, so kann durch ein simples Update des Library-Packages diese Fehlerbehebung in ein spezifisches Projekt implementiert werden. Das erlaubt uns, Projekte stetig mit Updates zu vorsorgen und die Qualität auch langfristig zu halten.

Essencium umfasst außerdem diverse Software-Tests, um nicht nur einzelne Komponenten auf deren Inputs und Outputs zu testen, sondern auch ganze Workflows, die ein:e Nutzer:in durchläuft, zu testen wie z. B. das Anlegen eines neuen Nutzers oder das Aktualisieren einer Rolle.

Ein weiterer wichtiger Bestandteil ist die Dokumentation des Projektes. Um Contributor und Nutzer:innen an die Hand nehmen und so sauber wie möglich in die Codebase einarbeiten zu können, war es uns wichtig, die Dokumentation umfangreich und detailliert zu verfassen. So haben wir bspw. eine Seite für Style-Guidelines, How-Tos für neue Komponenten und Seiten, architektonische Erläuterungen etc.

Einsatz und Weiterentwicklung

Frachtwerk hat mittlerweile einige Projekte, die erfolgreich auf der Essencium-Basis laufen. Anhand dieser Projekte erkennen wir regelmäßig Potentiale, Essencium noch robuster und reifer zu gestalten. Demnach ist das Open-Source-Projekt in einem kontinuierlichen Work-in-progress-Stadium, gleichzeitig aber stabil, um es in einer Produktivumgebung zu nutzen. Um so schnell und einfach wie möglich neue Essencium-basierende Projekte aufzusetzen, haben wir ein npm-Package geschrieben, das ein brandneues Projekt aufsetzt (siehe create-essencium-app). Jede:r ist herzlich willkommen mitzumachen und Feedback zu geben.

The post Essencium – unsere Open Source Boilerplate appeared first on Frachtwerk.

]]>
Die 4 wichtigsten Aspekte eines agilen Onboardings https://frachtwerk.fw-web.space/die-4-wichtigsten-aspekte-eines-agilen-onboardings/ Wed, 11 Dec 2024 08:44:16 +0000 https://frachtwerk.fw-web.space/?p=4637 Mitarbeiter:innen mit einem tollen Onboardingprozess sind mit 2,6x höherer Wahrscheinlichkeit sehr zufrieden mit ihrem Arbeitsplatz, was wiederum zu höherem Engagement, gesteigerter Leistung, geringerer Fluktuation und weniger Stress führt (Quelle: Gallup’s Perspective on Creating an Exceptional Onboarding Journey for New Employees). Aber wie gestaltet man eigenlich das Onboarding neuer Kolleg:innen, wenn es keine personalverantwortliche Person gibt, […]

The post Die 4 wichtigsten Aspekte eines agilen Onboardings appeared first on Frachtwerk.

]]>
Mitarbeiter:innen mit einem tollen Onboardingprozess sind mit 2,6x höherer Wahrscheinlichkeit sehr zufrieden mit ihrem Arbeitsplatz, was wiederum zu höherem Engagement, gesteigerter Leistung, geringerer Fluktuation und weniger Stress führt (Quelle: Gallup’s Perspective on Creating an Exceptional Onboarding Journey for New Employees).

Aber wie gestaltet man eigenlich das Onboarding neuer Kolleg:innen, wenn es keine personalverantwortliche Person gibt, die sie oder ihn anlernt? Und wie kreiert man ein Onboarding, das sich flexibel an die Situation und Informationslage der Organisation anpasst und ohne viel Aufwand aktuell gehalten wird?

Um diese Fragen zu beantworten, haben wir uns viele Best Practices agiler Organisationen angeschaut und wissenschaftliche Erkenntnisse herangezogen. Besonders relevant war für uns der Bericht „Gallup’s Perspective on Creating an Exceptional Onboarding Journey for New Employees“.

Willkommen zu einem weiteren Blick hinter die Kulissen unserer agilen Organisationspraktiken.
In diesem Blogartikel teilen wir als New-Work-Organisation für IT‑Beratung und Softwareentwicklung unsere 4 wichtigsten Aspekte eines agilen Onboardings.

Kulturelle und soziale Aspekte berücksichtigen

Erkennen, dass es beim Onboarding nicht nur um technische Aspekte geht, sondern vor allem darum, dass neue Kolleg:innen sich sozial und kulturell abgeholt fühlen

  • Dass Zugänge oder Hardware zur Verfügung gestellt werden, gehört zur Professionalität eines Arbeitgebers und wird von jeder:m neuen Mitarbeiter:in vorausgesetzt. Was unserer Erfahrung nach dahingegen wirklich begeistert und neue Kolleg:innen bindet, ist die Unternehmenskultur. Da es beim Onboarding darum geht, dass neue Kolleg:innen befähigt werden und verstehen, wie eine Organisation „tickt“, rücken wir Inhalte kultureller/sozialer Natur in den Vordergrund und nehmen einen Mindset-Wechsel vor. So sprechen wir im Onboarding z. B. vertieft über den Sinn und Zweck von Frachtwerk (unseren Purpose) oder üben Feedback zu geben.

Psychologische Bedürfnisse befriedigen

Grundlegende psychologische Bedürfnisse der neuen Kolleg:innen befriedigen

  • Das Onboarding hat einen entscheidenden Einfluss darauf, ob die Potenziale neuer Kolleg:innen lediglich Beschreibungen im Lebenslauf bleiben oder tatsächlich entfaltet und für die Organisation nutzbar werden. Ob die Entfaltung der Potenziale stattfindet, hängt laut Gallup sehr davon ab, inwieweit die grundlegenden psychologischen Bedürfnisse der neuen Kolleg:innen befriedigen werden. Dafür sei es wichtig, dass der/die neue Kolleg:in sich im Rahmen des Onbaordings folgende Fragen beantworten kann:
    • Woran glauben wir bei Frachtwerk?
    • Was sind meine Stärken?
    • Was ist meine Rolle?
    • Wer sind meine wichtigsten Partner:innen in der Organisation?
    • Wie sieht meine Zukunft hier aus?

Eigenverantwortliches Onboarding ermöglichen

Das Onboarding prozessual so aufbereiten, dass der/die neue Kolleg:in die Erarbeitung der Inhalte eigenverantworlich vornehmen kann

  • Solange das Onboarding von einzelnen Personen abhängig ist, ist es nicht agil. Bei der Überarbeitung unseres Onboardings war uns deswegen wichtig, dass Wissen auch ohne den Einbezug bestimmter Menschen fließen kann. Außerdem haben wir den Fokus darauf gelegt, dass das Tooling Spaß macht und die Inhalte leicht upzudaten sind. Deswegen haben wir uns dafür entschieden, ein sogenanntes „BoardingBoard“ (BB) zu erstellen. Das BB ist ein Projekt im Kanban-Format in unserem Projektmanagementtool. Dieses Projekt enthält verschiedene Tasks, die jeweils ein To-do oder Information des Onboardings abbilden. Alleine oder gemeinsam mit dem Buddy kann der/die neue Kolleg:in alle Tasks erarbeiten und tracken.

Inhalte des Onboardings bewusst machen und schulen

Buddys oder Vorgesetzten die Bedeutsamkeit eines guten Onboardings bewusst machen und die Inhalte schulen

  • Onboarding ist „people-business“, was bedeutet, dass die Bezugsperson (bei Frachtwerk nennen wir uns „Buddys“) der/des neuen Kolleg:in eine enorme Rolle spielt. Aus diesem Grund haben wir über verschiedene Wege sichergestellt, dass Buddys sich sicher in ihrer Rolle fühlen, gewertschätzt werden und die Rolle gerne ausführen. Dafür haben wir z. B. verschiedene Schulungen angeboten:
    1. Buddyschulung Hard Facts: Onboardingprozess von „Hilfe, ich werde Buddy”, hinzu „Onboarding erfolgreich beendet” besprechen; BoardingBoard (s. o.) verstehen; Agenda eines klassischen Onboarding-Meetings durchgehen
    2. Buddyschulung Soft Facts: Was macht uns zu einem guten Buddy? Warum ist die Rolle des Buddys im Onboarding so wichtig?

Dem Blogformat geschuldet, haben wir die Überarbeitung unseres Onboardingprozesses hier lediglich angerissen. Die eigene Praxis hat uns jedoch gezeigt, dass vor allem der angesprochene Mindset-Wechsel, die Befriedigung der grundlegenden psychologischen Bedürfnisse der neuen Kolleg:innen, eine gute prozessuale Aufbereitung der Inhalte sowie die Schulung der Bezugspersonen in der Kreation eines überzeugenden Onboardingprozesses am bedeutendsten sind.

Da das Interesse von außen zu unseren agilen Praktiken sehr groß ist, beraten wir mittlerweile andere Organisationen und begleiten sie auf ihrem Weg hin zu mehr Agilität. Mehr Infos dazu finden sie unter https://frachtwerk.de/service/agile-organisations-beratung/.

Kanban-Board, das die verschiedenen Tasks enthält

The post Die 4 wichtigsten Aspekte eines agilen Onboardings appeared first on Frachtwerk.

]]>
Zusammenarbeit im Team – Teamworkshops für mehr Bedürfnisorientierung im Arbeitsalltag https://frachtwerk.fw-web.space/zusammenarbeit-im-team-teamworkshops-fuer-mehr-beduerfnisorientierung-im-arbeitsalltag/ Wed, 09 Oct 2024 11:45:31 +0000 https://frachtwerk.fw-web.space/?p=4549 Wie arbeitet man im Team eigentlich gut zusammen? In einem interaktiven Workshop bin ich zusammen mit zwei Teams von Frachtwerk dieser Frage auf den Grund gegangen. In jeweils vier Stunden haben sich die beiden Teams intensiv mit sich selbst und ihren Bedürfnissen im Arbeitsalltag auseinandergesetzt und diese in Bezug auf ihre Zusammenarbeit im Team reflektiert. […]

The post Zusammenarbeit im Team – Teamworkshops für mehr Bedürfnisorientierung im Arbeitsalltag appeared first on Frachtwerk.

]]>
Wie arbeitet man im Team eigentlich gut zusammen? In einem interaktiven Workshop bin ich zusammen mit zwei Teams von Frachtwerk dieser Frage auf den Grund gegangen. In jeweils vier Stunden haben sich die beiden Teams intensiv mit sich selbst und ihren Bedürfnissen im Arbeitsalltag auseinandergesetzt und diese in Bezug auf ihre Zusammenarbeit im Team reflektiert. Heraus kamen individuelle Vereinbarungen, die wir als Wegweiser bezeichnet haben. Diese Wegweiser sind so wertvoll, dass ich sie weiter unten in einem kleinen Guide zusammengefasst habe. So können auch du und dein Team davon profitieren.

Aber erstmal: Wer schreibt hier eigentlich?
Das bin ich: Viktoria. Ich darf diesen kleinen feinen Gastbeitrag verfassen und dir damit auch meine Arbeit ein bisschen näherbringen. Ich bin systemische Coach- und Unternehmensberaterin und habe unglaublich viel Freude daran, (agile) Teams in Organisationen bei den unterschiedlichsten Themen zu begleiten. Dabei wird es meistens bunt und interaktiv – so arbeite ich nämlich am liebsten.

Wann ist eine Zusammenarbeit eigentlich „gut“?

Es gibt verschiedenste Erwartungen an Teams in Organisationen und ihre Arbeit miteinander:

  • Die Organisation möchte sich bspw. selbst erhalten und verfolgt (in der Regel) eine Gewinnerzielungsabsicht.
  • Ein Team zahlt mit seinen Arbeitsergebnissen auf diese übergeordneten Ziele ein.
  • Daneben haben aber auch die einzelnen Teammitglieder Erwartungen an das eigene Team und die Zusammenarbeit.

Ob diese subjektiv als „gut“, „schlecht“ oder irgendetwas dazwischen bewertet wird, hängt vor allem davon ab, wie es den Menschen im Miteinander geht, also ob und inwieweit die individuellen Bedürfnisse der Teammitglieder erfüllt werden oder nicht. Daher ist es aus meiner Sicht überaus gewinnbringend, wenn sich Organisationen auf Teamebene regelmäßig mit ihren individuellen und kollektiven Bedürfnissen auseinandersetzen und ihren Arbeitskontext aktiv danach gestalten.

Kleiner Guide für eine bessere Zusammenarbeit

Mit diesen drei Vereinbarungen möchten die Teams bei Frachtwerk künftig ihre Zusammenarbeit verbessern:

1. Sinnhaftigkeit des eigenen Arbeitens in den Fokus rücken

Eines der beiden Teams möchte mit einer gemeinsam entwickelten Teamidentität das Zusammengehörigkeitsgefühl stärken. Da die Teammitglieder jeweils unterschiedliche Schnittstellen zu anderen Projektteams bedienen, nahm der enge Kontakt untereinander zuletzt ab. Darüber hinaus fällt es ihnen schwer, ihren einzigartigen Mehrwert für Kund:innen und die Organisation zu benennen, da sie viele unterschiedlich gelagerte Themen bearbeiten, die sich insbesondere nach innen richten, also weniger umsatzrelevant sind.

All dem wollen sie entgegenwirken, indem sie ihren konkreten Mehrwert herausarbeiten, den sie als Team für ihre Kund:innen und Kolleg:innen bieten. Es ist ihnen wichtig, eine Story über sich zu entwickeln und starke Bilder zu erzeugen, die für sich stehen – und nicht nur in Abgrenzung zu den USPs der anderen Teams funktionieren. Darüber hinaus möchte das Team ein gemeinsames Projekt initiieren, das die Fähigkeiten aller einbezieht und ihre gemeinsame Story in die Organisation tragen soll.

Das andere Team verliert im Alltag den eigentlichen Sinn in ihren Aufgaben immer wieder aus den Augen und hat den Eindruck, an zu vielen eher unwichtigen Themen zu arbeiten. Daher vereinbaren die Teammitglieder im Workshop, ein (Un-)Sinnboard zu führen, das sie regelmäßig befüllen und in ihren Retros besprechen, um den Fokus wieder bewusst auf das Wesentliche lenken zu können.

2. Gemeinsame Zeit abseits des Arbeitens

Beide Teams betonen, wie wichtig es ihnen ist, persönlich zusammen zu kommen und gemeinsame Zeit abseits der Arbeit miteinander zu verbringen. Oft kommen im Alltag persönliche Gespräche zu kurz und über die Zeit leidet ihre individuelle Arbeitszufriedenheit darunter.

Da alle häufig remote zusammenarbeiten, vereinbaren sie, künftig feste Zeitfenster für regelmäßige gemeinsame Ausflüge und Workations einzuplanen. Einige Teammitglieder haben bereits Erfahrungen gesammelt, die in die künftigen Planungen mit einfließen werden, sodass beides möglich ist: konstruktives und kreatives Zusammenarbeiten sowie zusammen Spaß haben.

3. Eigenverantwortung übernehmen

Beide Teams haben vereinbart, dem Thema Bedürfnisse regelmäßig Raum zu geben und im Team zu reflektieren, wo sie noch besser füreinander sorgen können. Wichtig dabei ist die Eigenverantwortung jeder einzelnen Person. Alle haben sich aktiv gegenseitig dazu eingeladen, offen eigene Bedürfnisse und Wünsche zu kommunizieren und einander respektvoll zu begegnen. Im Workshop haben sie Methoden kennengelernt und geübt, die ihnen dabei helfen werden, das auch im Alltag umsetzen zu können.

Mein Fazit

Für mich war es wunderbar, mit so offenen und zugewandten Menschen zu arbeiten, die einander und auch mir sehr wertschätzend begegnen. Ich erlebe Frachtwerk als Organisation, die sich selbst aktiv gestaltet und das im besten Sinne. Die Teammitglieder erkennen ihre Verantwortung für ein nachhaltiges und gesundes Arbeitsumfeld, in dem es ihnen Spaß macht, zu arbeiten.

Falls auch du und dein Team eure Bedürfnisse mehr in eure Zusammenarbeit einfließen lassen wollt, dann lasst uns miteinander arbeiten. Die Details zu meinem Workshopangebot findest du auf meiner Website www.frauherrmann.de.

The post Zusammenarbeit im Team – Teamworkshops für mehr Bedürfnisorientierung im Arbeitsalltag appeared first on Frachtwerk.

]]>
Wie kann man Werte nicht nur entwickeln, sondern tatsächlich leben? Ein Beispiel anhand unseres “Travel Guides” https://frachtwerk.fw-web.space/wie-kann-man-werte-nicht-nur-entwickeln-sondern-tatsaechlich-leben-ein-beispiel-anhand-unseres-travel-guides/ Fri, 04 Oct 2024 12:26:35 +0000 https://frachtwerk.fw-web.space/?p=4528 Wir kennen es alle. Man hat Werte, Regeln, Leitlinien o. Ä. mit viel Liebe im Team ausgearbeitet und dann verstaubt das Ganze in Omas Keller. Sie werden höchstens mal rausgeholt, um sie an die Marketingagentur weiterzuleiten, denn sie sollen natürlich auf die neue Website. Nach Außen will man ja schließlich zeigen, dass man eine reflektierte […]

The post Wie kann man Werte nicht nur entwickeln, sondern tatsächlich leben? Ein Beispiel anhand unseres “Travel Guides” appeared first on Frachtwerk.

]]>
Wir kennen es alle. Man hat Werte, Regeln, Leitlinien o. Ä. mit viel Liebe im Team ausgearbeitet und dann verstaubt das Ganze in Omas Keller. Sie werden höchstens mal rausgeholt, um sie an die Marketingagentur weiterzuleiten, denn sie sollen natürlich auf die neue Website. Nach Außen will man ja schließlich zeigen, dass man eine reflektierte Organisation ist.


So schön so gut. Wie schafft man es jedoch, die ausgearbeiteten Werte, Regeln, Leitlinien o. Ä. in der Organisation zu integrieren? Wie schafft man es, dass das Team den Werten mit einer Ernsthaftigkeit begegnet, sie gefühlt werden und als tatsächliche Handlungsempfehlungen wahrgenommen werden?

In diesem Artikel wollen wir unsere Erfahrungen und Best Practices an einem Beispiel mit euch teilen. Ende 2023 haben wir unseren “Travel Guide” entwickelt. Der Travel Guide ist ein Kartenset, welches sich mit Fragen rund um unser Selbstverständnis, die Zusammenarbeit, das Organisations- und Kundenverständnis sowie unseren Purpose auseinandersetzt. Kurz gefasst, ist der Travel Guide ein Ort für die Auseinandersetzung mit unserer Grundausrichtung.


Die Magie solcher Ausarbeitungen, wie auch z.B. von Werten im Allgemeinen oder Leitsätzen einer Organisation, entsteht jedoch erst in ihrer Integration in den Alltag. Wie also wird ein statisches Word-Dokument zur gelebten Praxis im Team?

Wusstest du schon, dass du dir unseren Travel Guide kostenlos downloaden kannst?

Folgende vier konkreten Ideen haben wir getestet und empfinden wir als empfehlenswert:

  1. Einen Rahmen finden, in dem die Ausarbeitung offiziell vorgestellt wird
    • Alle wurden mit einer Mail zum Eventformat eingeladen, in der schon mal geteasert wurde, worum es überhaupt geht und in der schon mal unsere Freude geteilt wurde
    • Für die Nachvollziehbarkeit half es, konkret zu teilen, wieso die Ausarbeitung stattgefunden hat, wieso zu diesem Zeitpunkt und wieso in dieser gegebenen Form.
    • Wichtig war auch, Raum für Fragen zu geben.
  2. Integration der Ausarbeitung im internen Wiki
    • Die Ausarbeitung sollte dort präsent sein, wo sich das Team eh jeden Tag aufhält. Daher wurde im Wiki eine Funktion eingebaut, mit der über eine Zufallsfunktion eine Travel Guide Karte des Tages gezogen werden kann, um sich mit dem Thema des Tages zu beschäftigen.
  3. Ausarbeitung in das Onboarding neuer Kolleg:innen integrieren
    • Gerade Werte, Regeln und Leitlinien sind für neue Kolleg:innen von besonderer Bedeutung. Deswegen startet jedes Onboarding-Meeting zwischen dem/der neuen Kolleg:in und dem Buddy mit einem Blick auf den Travel Guide.
    • Zudem werden Fragen an die Hand gegeben, die die Auseinandersetzung im Onboarding-Meeting mit dem Travel Guide erleichtern, sodass nicht wie ein verlorenes Reh im Scheinwerferlicht gestanden werden muss.
  4. Die Ausarbeitung durch Nachrichten im Teamchannel ins Bewusstsein rufen
    • Eine Person hat es sich zur Aufgabe gemacht, in regelmäßigen Abständen einen Aspekt der Ausarbeitung auszuwählen und einen kurzen Impuls dazu im Teamchannel zu teilen.
    • Diese Interaktion ruft die Ausarbeitung auf angenehme Art und Weise ins Gedächtnis des Teams und sorgt für neue Blickwinkel.

Seitdem wir den Travel Guide nach seiner Ausarbeitung im Januar 2024 im Team vorgestellt haben, ist die Integration ein Thema. Genau genommen sind wir auch davon überzeugt, dass Integration nie wirklich abgeschlossen ist. Schließlich ändern sich die Menschen, die Inhalte des Travel Guides und die Umstände, in denen wir arbeiten. Wie gut wir den Travel Guide integrieren können, liegt einzig allein an uns als Team und unserer Bereitschaft, sich mit solchen “soften” Themen auseinanderzusetzen.


Neben dem Bewusstsein anhaltender Integration spielt auch die Offenheit für Veränderung eine große Rolle. Natürlich möchte ein Teil, dass die Ausarbeitung in seiner Ursprungsform bestehen bleibt. Aber noch viel wichtiger ist die Erlaubnis, dass sich Erarbeitetes zu Gunsten des Teams und der Teammeinung ändern darf und agil ist.

The post Wie kann man Werte nicht nur entwickeln, sondern tatsächlich leben? Ein Beispiel anhand unseres “Travel Guides” appeared first on Frachtwerk.

]]>
Jourfixe.io – Die Transparenz für hybride Teams https://frachtwerk.fw-web.space/jourfixe-io-die-transparenz-fuer-hybride-teams/ Thu, 21 Mar 2024 12:26:00 +0000 https://frachtwerk.fw-web.space/?p=2834 In der Ära von verteilten und hybriden Teams hat sich Jourfixe.io bei Frachtwerk als ein essenzielles Onlinetool etabliert, das die Pflege von An- und Abwesenheiten erleichtert. Dieses interne Softwareprojekt von Frachtwerk entstand als Antwort auf die Herausforderungen, die die Coronapandemie und die flexibleren Arbeitsorte mit sich brachten.

The post Jourfixe.io – Die Transparenz für hybride Teams appeared first on Frachtwerk.

]]>
Ursprung und Zweck von Jourfixe.io

Die Initialzündung für Jourfixe.io war die Frage nach Anwesenheiten in einer Zeit, als Homeoffice zur Norm wurde und die Büros nach der Pandemie wieder öffneten. Die Notwendigkeit zu wissen, wer im Büro ist, wer im Urlaub oder krank ist und ob Termine vor Ort stattfinden können, führte zur Entwicklung dieses Tools. Ziel von Jourfixe.io ist es, als Single Source of Truth für An- und Abwesenheiten in Teams zu fungieren.

Funktionen von Jourfixe.io

Jourfixe.io bietet eine Vielzahl von Funktionen, die darauf abzielen, die Pflege von An- und Abwesenheiten sowie das Teammanagement zu erleichtern:

  1. Grafische Oberfläche für An- und Abwesenheiten: Eine benutzerfreundliche Oberfläche ermöglicht die Pflege von An- und Abwesenheiten, optimiert für PC, Tablet und mobile Eingaben.
  2. Teammanagement: Die Bildung von Teams und transparente Anzeige von An- und Abwesenheiten im gesamten Team.
  3. Integration in SSO-Systeme: Eine nahtlose Anbindung an bestehende Single Sign-On (SSO)-Systeme.
  4. Anlegen von Arbeitsplätzen: Es können Arbeitsplätze einem Team zugeordnet, ergänzt oder entfernt werden
  5. Arbeitsplatzbuchung: Nutzer haben die Möglichkeit, Arbeitsplätze zu buchen.
  6. Schnittstellen zu Kommunikationstools: Eine Integration mit Mattermost (App zur internen Kommunikation auf Open Source-Basis) zur automatischen Statusaktualisierung entsprechend der An- oder Abwesenheit. 
Beispielhafte Darstellung, wie ein An- und Abwesenheitsplan (fast vollständig) ausgefüllt aussehen könnte. Jede Farbe steht für einen Status. Im Büro, remote, abwesend, krank oder unterwegs im Auftrag der Organisation.

Einsatzmöglichkeiten von Jourfixe.io

Jourfixe.io erweist sich als vielseitiges Tool und kann in verschiedenen Szenarien äußerst wirkungsvoll eingesetzt werden, wie mit den nächsten drei Beispielen aufgezeigt wird:

  1. Büros mit Floating-Desk-Strategie: In flexiblen Büroumgebungen ermöglicht Jourfixe.io die unkomplizierte Reservierung von Arbeitsplätzen für die Mitarbeiter.
  2. Transparenz in Teams: Das Tool bietet eine klare Übersicht über die An- und Abwesenheit aller Teammitglieder, insbesondere für Teilzeitkräfte. Dies fördert eine effiziente Planung und Koordination im Team.
  3. Buchung von Meetingräumen: Jourfixe.io kann nahtlos in die Organisation von Besprechungsräumen integriert werden, wodurch eine effiziente Buchung und Nutzung gewährleistet ist.

Jourfixe.io bietet somit nicht nur eine Antwort auf die Herausforderungen hybrider Arbeitsmodelle, sondern auch eine umfassende Lösung für transparentes Teammanagement. Mit seiner nutzerfreundlichen Oberfläche und den vielfältigen Funktionen ist es ein Schlüsselinstrument für Unternehmen, die die Vorteile der flexiblen Arbeitswelt optimal nutzen möchten.

The post Jourfixe.io – Die Transparenz für hybride Teams appeared first on Frachtwerk.

]]>
Wie wir mit DB Regio Straße Data Excellence geschaffen haben https://frachtwerk.fw-web.space/wie-wir-mit-db-regio-strasse-data-excellence-geschaffen-haben/ Mon, 30 Oct 2023 11:21:00 +0000 https://frachtwerk.fw-web.space/?p=2802 DB Regio Straße hat in den letzten Jahren viele organisatorische und IT-technische Veränderungen durchgemacht. Viele Bereiche wurden zunächst zentralisiert und dann wieder dezentralisiert. Über die Jahre ist so eine sehr heterogene IT – und Prozesslandschaft gewachsen, welche aufgrund ihrer großen Komplexität zu einer immer schlechter werdenden Datenqualität geführt hat. Die Konsequenzen der schlechten Datenqualität umfassen […]

The post Wie wir mit DB Regio Straße Data Excellence geschaffen haben appeared first on Frachtwerk.

]]>
DB Regio Straße hat in den letzten Jahren viele organisatorische und IT-technische Veränderungen durchgemacht. Viele Bereiche wurden zunächst zentralisiert und dann wieder dezentralisiert.

Über die Jahre ist so eine sehr heterogene IT – und Prozesslandschaft gewachsen, welche aufgrund ihrer großen Komplexität zu einer immer schlechter werdenden Datenqualität geführt hat.

Die Konsequenzen der schlechten Datenqualität umfassen ein fehlendes Vertrauen der Mitarbeiter in die Daten sowie nur stark eingeschränkte Möglichkeiten für das Management, das Unternehmen zu steuern.

Auf Basis der sehr großen im Konzern vorhandenen Datenmengen wurden darüber hinaus Potenziale zur Nutzung von Machine Learning und KI-basierten Verfahren festgestellt. Da aber jeder Machine-Learning-Algorithmus nur so gut sein kann, wie die Daten, mit denen er trainiert wurde, ist es extrem wichtig, eine sehr gute Datenqualität als Grundlage für Machine-Learning-Algorithmen zur Verfügung zu stellen.

Um der schlechten Datenqualität entgegenzusteuern und um eine gute Ausgangsdatenbasis für Machine Learning zu schaffen, wurde das Projekt Data Excellence ins Leben gerufen.

Projektziel

Ziel des Projekts ist die Steigerung der Datenqualität mit Hilfe von Datenqualitätsregeln („DQRs“) und der Anpassung sowie Automatisierung von Geschäftsprozessen. Weiterhin soll eine verbesserte Steuerungsfähigkeit geschaffen werden. Dabei schaffen DQRs eine sehr feingranulare Transparenz über den Stand der Datenqualität und decken somit Probleme in den Daten auf, so dass die Ursachen für fehlerhafte Datensätze direkt behoben werden können.

Die Anpassung und Automatisierung von Prozessen setzt die Dokumentation und Harmonisierung bestehender Prozesse voraus. Ziel ist hier, Zeit und Kosten zu sparen sowie die Prozessqualität zu erhöhen. Eine bessere Datenqualität sowie bessere Prozesse erhöhen schlussendlich die Steuerungsfähigkeit für das Management.

Lösungsweg

Vor dem Projektstart gab es viele Unklarheiten über die Fehlerursachen und die schlecht laufenden Prozesse. Häufig haben sich die Gesellschaften und Regionen nur um ihre Aufgaben gekümmert und dabei nicht die gesamthafte Sicht des Unternehmens im Blick gehabt. Daher war es sehr wichtig, die Sicht und das Datenverständnis aller Beteiligten zu erweitern und an Lösungen zu arbeiten, die für den gesamtem Konzern Nutzen bringen und nicht nur für einzelne Gesellschaften, bzw. Regionen.

Um die großen Datenmengen des Kunden besser handhabbar machen zu können, wurden diese von der Projektleitung zuerst in unterschiedliche fachliche Domänen unterteilt. Frachtwerk hat bei der Analyse und der Verbesserung der Datenqualität und der Prozesse in den Domänen Fahrzeug-, Leistungs-, Netzpunkt- und Zeitwirtschaftsdaten unterstützt.

Unser Beitrag

Im Projekt „Data Excellence“ arbeiteten wir in den verschiedensten Bereichen, um das Projekt zu unterstützen. Der Schwerpunkt unserer Arbeit lag dabei in folgenden Gebieten:

  • Anforderungsanalyse und Kommunikation: Frachtwerk führte eine umfassende Analyse der Anforderungen in enger Abstimmung mit verschiedenen Stakeholdern durch.
  • Datenherkunft und -analyse: Mithilfe von Tools wie AWS Athena SQL, MS SQL und Python analysierte Frachtwerk die Datenquellen und -mengen gründlich.
  • Prozessoptimierung: Frachtwerk dokumentierte und harmonisierte Prozesse, um Fehlerquellen zu minimieren und Abläufe zu verbessern.
  • Schnittstellenintegration: Durch die Implementierung von Schnittstellen wurde ein reibungsloser Datenaustausch sowie eine reibungslose Kommunikation zwischen Systemen ermöglicht.
  • Produktentwicklung: Frachtwerk leitete die Entwicklung kleiner Anwendungen, um Prozesse wie Abrechnungen zu optimieren und zu unterstützen.
  • Algorithmus für Geo-Koordinaten: Die Entwicklung eines Algorithmus zur Überprüfung von Geo-Koordinaten auf Basis von Telematikdaten half bei der Identifizierung und Korrektur fehlerhafter Datensätze.
  • Datenqualitätsmanagement: In einer übergreifenden Maßnahme führte Frachtwerk Datenqualitätsregeln ein, die eine fortlaufende Überwachung und Optimierung der Datenqualität ermöglichten.

Herausforderungen

Einerseits wurde das Projekt durch den äußeren Umstand der Corona-Pandemie geprägt, welche das Projekt für Frachtwerk zu einem fast ausschließlich digitalen Projekt gemacht hat.

Innerhalb des Projektes selbst bestand die Herausforderung, viele Schwachstellen aus den vier unterschiedlichen Domänen gleichzeitig aufzunehmen, zu priorisieren und Lösungen zu erarbeiten. Erschwert wurde dies durch die Vielzahl der verschiedenen Datenquellen, Arbeitsweisen und unterschiedlichen Formaten je nach Region und Gesellschaft, die jeweils kaum schriftliche Dokumentation zu ihren Prozessen und Systemen hatten. Dies hat die Komplexität der Prozess-, Datenfluss- und Schnittstellenmodellierung stark erhöht.

Zusätzlich kam es innerhalb des Projektteams häufig zu einem Wechsel der Projektleitung. So wurde nach ca. 6 Monaten der Scope des Projektes verändert und Anforderungen mussten angepasst werden. Nach weiteren 3 Monaten kam es zu einem erneuten Wechsel der Projektleitung, welcher ähnliche Änderungen nach sich zog.

Lessons Learned

Organisatorisch:

  • Trotz der effizienten Arbeit von remote ist es von entscheidender Bedeutung, sich regelmäßig (bspw. quartalsweise) persönlich zu treffen.
  • Die Zeitspanne, die Entscheidungsprozesse benötigen, sollte nicht unterschätzt werden.
  • Die Verfügbarkeit der Wissensträger ist entscheidend für ein gutes Projektergebnis.
  • Der direkte Weg zum Ziel war aufgrund der vielen organisatorischen Veränderungen nicht immer ersichtlich.
  • In durch Externe besetzten Projekten ist es herausfordernd, die Projekterfolge nachhaltig in der Organisation zu verankern.

Inhaltlich:

  • Es ist schwierig, Begeisterung für das Thema Datenqualität zu entfachen, obwohl der Nutzen einer guten Datenqualität eigentlich auf der Hand liegt, insbesondere dann, wenn Personen nicht direkt von den Auswirkungen der Datenqualität betroffen sind.
  • Die Einführung einer automatisierten und kontinuierlichen Überwachung der Datenqualität ist ein sehr wertvoller, aber zeit- und ressourcenintensiver Prozess, unabhängig von anschließenden Verbesserungsmaßnahmen.
  • Die Zeitspannen für die Phasen der Messung, Feststellung und Anpassung bei schlechter Datenqualität variieren je nach Fachbereich erheblich.

The post Wie wir mit DB Regio Straße Data Excellence geschaffen haben appeared first on Frachtwerk.

]]>
Wie Frachtwerk mit DB Regio im ÖPNV weitere Potenziale sichtbar macht https://frachtwerk.fw-web.space/wie-frachtwerk-mit-db-regio-im-oepnv-weitere-potenziale-sichtbar-macht/ Thu, 03 Aug 2023 09:26:00 +0000 https://frachtwerk.fw-web.space/?p=2784 Was ist das überhaupt? Der Potentialfinder ist ein gemeinsames Projekt zwischen der DB Regio Mitte und der Frachtwerk GmbH. Dafür haben wir eine Webapplikation entwickelt, die Unternehmen dabei unterstützt, das Potential ihrer Mitarbeitenden für die Nutzung öffentlicher Verkehrsmittel zu berechnen. In dem Prozess werden verschiedene Fragen in unterschiedlichen Formaten beantwortet, um deren Potentiale zu ermitteln. […]

The post Wie Frachtwerk mit DB Regio im ÖPNV weitere Potenziale sichtbar macht appeared first on Frachtwerk.

]]>
Was ist das überhaupt?

Der Potentialfinder ist ein gemeinsames Projekt zwischen der DB Regio Mitte und der Frachtwerk GmbH. Dafür haben wir eine Webapplikation entwickelt, die Unternehmen dabei unterstützt, das Potential ihrer Mitarbeitenden für die Nutzung öffentlicher Verkehrsmittel zu berechnen. In dem Prozess werden verschiedene Fragen in unterschiedlichen Formaten beantwortet, um deren Potentiale zu ermitteln.

Am Ende wird das Potential in Form einer Punktebewertung dargestellt, weitere Faktoren wie z.B. mögliche CO2-Einsparungen werden auch berücksichtigt. Auf dieser Grundlage können Unternehmen in ein Beratungsgespräch mit der DB Regio Mitte treten, um entsprechende Maßnahmen zur Mitarbeiterunterstützung zu erörtern.

Welche Herausforderungen und Learnings konntet ihr ziehen? Gab es welche?

Die Zusammenarbeit im Projekt verlief, um ehrlich zu sein, relativ unüblich im Vergleich zu bisherigen Softwareentwicklungsprojekten. Da das Projektteam lediglich aus vier Personen bestand, wurde der interne Teamprozess so schlank wie möglich gehalten und basierte auf Scrum-Methode. Dabei verzichteten wir auf vermeintlich “unnötige” Teilprozesse, um die Effizienz zu steigern.

Die größte Herausforderung bestand darin, das Tool in sehr kurzer Zeit optimal zu gestalten, einschließlich der Berechnung des Potentials und der Gestaltung der UI (User Interface) & UX (User Experience ) . Diese Herausforderungen konnten wir durch eine einfache Kommunikation innerhalb des Teams und vor allem mit dem Kunden erfolgreich meistern.

Wie lang hat das ganze Projekt gedauert?

Das Projekt startete Anfang 2023 und erstreckte sich über einen Zeitraum von etwa fünf Monaten. In dieser Zeit erhoben wir sämtliche Anforderungen mit dem Kunden, entwickelten die Software, testeten sie und veröffentlichten schließlich das Tool.

Was wird dir am meisten in Erinnerung bleiben?

Besonders in Erinnerung bleiben wird mir die grandiose Zusammenarbeit zwischen dem gesamten Projektteam und dem Kunden. Es fühlte sich nicht nur wie eine einfache Erbringung von Arbeitsleistung an, vielmehr wie ein gemeinsames Projekt, bei dem alle an einem Strang zogen.

Die enge Zusammenarbeit ermöglichte nicht nur die effektive Lösung der Herausforderungen, sondern schuf auch eine positive und produktive Arbeitsatmosphäre.


Probier ihn gern selbst aus:

The post Wie Frachtwerk mit DB Regio im ÖPNV weitere Potenziale sichtbar macht appeared first on Frachtwerk.

]]>
Effizientes Management der Anwendungslandschaft bei der DB Engineering & Consulting: Ein Blick auf das (B)EAM-Projekt https://frachtwerk.fw-web.space/effizientes-management-der-anwendungslandschaft-bei-der-db-engineering-consulting-ein-blick-auf-das-beam-projekt/ Mon, 03 Jul 2023 09:20:00 +0000 https://frachtwerk.fw-web.space/?p=2780 In einem ehrgeizigen Projekt der Deutschen Bahn unterstützte die Frachtwerk GmbH die DB Engineering & Consulting GmbH (DB E&C) bei der Einführung eines Bahn Enterprise Architecture Management Systems (BEAM), einem Projekt zur Dokumentation und zum Management der Anwendungslandschaft.

The post Effizientes Management der Anwendungslandschaft bei der DB Engineering & Consulting: Ein Blick auf das (B)EAM-Projekt appeared first on Frachtwerk.

]]>
Ziel war es Transparenz über die Anwendungslandschaft herzustellen, klare Verantwortlichkeiten festzulegen und eine Optimierung und Harmonisierung der Anwendungslandschaft zu ermöglichen.

Die Umsetzung erfolgte in mehreren aufeinanderfolgenden Phasen, um einen reibungslosen Fortschritt sicherzustellen. Dieser Artikel wirft einen detaillierten Blick auf das (B)EAM-Projekt und die Herausforderungen, die es zu bewältigen gab.

Ausgangssituation und Projektziel

Die DB E&C stand vor der Herausforderung einer vielfältigen und historisch gewachsenen Anwendungslandschaft für welche die Benennung von Verantwortlichkeiten, die Klärung von Schnittstellen und Redundanzen weitestgehend auf manuellen Prozessen beruhte beziehungsweise nicht einheitlich vorlag. Das Hauptziel des (B)EAM-Projektes bestand darin, ein effektives Enterprise Architecture Management System zu entwickeln und in diesem Zuge die Anwendungslandschaft der DB E&C zu dokumentieren und optimieren.

Parallel zu dem (B)EAM-Projekt der DB E&C erfolgte seitens des Deutsche Bahn Konzerns die Einführung des Enterprise Architecture Management Systems LeanIX. Durch LeanIX wurde ein zentraler Ort für die umfassende Dokumentation der Anwendungslandschaft geschaffen, klare Verantwortlichkeitsrollen definiert, Abhängigkeiten aufgezeigt und weitere wichtige Informationen zur Verfügung gestellt.

Leistungen der Frachtwerk

Frachtwerk übernahm zusammen mit den Fachbereichen der DB E&C die Projektverantwortung für die Erfassung der Anwendungslandschaft, die Modellierung der relevanten Komponenten für BEAM und die anfängliche Datenpflege.

Darüber hinaus wurden Informations-/Einweisungsveranstaltungen für die Mitarbeiter:innen der DB E&C durchgeführt, um ihnen das neue System näherzubringen, Mehrwerte zu erläutern und einen reibungslosen Übergang in das neue System zu gewährleisten. Zu den Leistungen gehörten auch Anforderungsanalyse, Dokumentation der Datenherkunft für die initiale Befüllung des Systems sowie die Durchführung von Workshops.

Die Herausforderungen

Das (B)EAM-Projekt der DB E&C war mit einigen Herausforderungen konfrontiert, die sorgfältiges Management erforderten. Aufgrund der Corona-Pandemie musste ein vollständig digitaler Ansatz gewählt werden. Wechselnde Stakeholder und Anpassungen beim Projekt-Scope stellten weitere Herausforderungen im Projektverlauf dar. Zudem mussten die übermittelten Informationen zur Anwendungslandschaft ständig verifiziert werden, da sie innerhalb der Abteilungen variieren konnten.

Das Fazit

Das (B)EAM-Projekt hat der DB E&C dabei geholfen, ihre Anwendungslandschaft zu strukturieren, Transparenzen zu schaffen, klare Verantwortlichkeiten zu Anwendungen zu etablieren und in Folge Optimierungen durchführen zu können.

Die Frachtwerk spielte eine entscheidende Rolle bei der Einführung der BEAM-Systems und arbeitete eng mit dem Team der DB E&C zusammen. Trotz der Herausforderungen wurde das Projekt erfolgreich abgeschlossen und bildet nun eine stabile Grundlage für das Enterprise Architecture Management der DB E&C.

Die durch das BEAM-System geschaffene Transparenz, stärkt die Technologieführerschaft der DB E&C und bildet darüber hinaus eine Grundlage für zukünftige Audits und Revisionen. Insgesamt hat das (B)EAM-Projekt gezeigt, wie eine ganzheitliche Herangehensweise an die Optimierung der Anwendungslandschaft positive Auswirkungen haben kann. Die DB E&C kann nun noch effektiver agieren, Potentiale zur Kosteneinsparung ermitteln und ihre Prozesse unmittelbar mit geeigneten Tools und Systemen in Relation setzen.

The post Effizientes Management der Anwendungslandschaft bei der DB Engineering & Consulting: Ein Blick auf das (B)EAM-Projekt appeared first on Frachtwerk.

]]>
Unsere IT-Architekten lösen die “Big Spender” Aufgabe der iSAQB-Zertifizierung https://frachtwerk.fw-web.space/unsere-it-architekten-loesen-die-big-spender-aufgabe-der-isaqb-zertifizierung/ Tue, 09 May 2023 09:04:00 +0000 https://frachtwerk.fw-web.space/?p=2775 Bei Frachtwerk haben wir uns vom Spotify-Modell inspirieren lassen und organisieren regelmäßig Treffen für die fachliche Weiterbildung in „Gilden“. So gibt es Gilden für Frontend, Backend, Product Owner und IT Architektur. Regelmäßig nimmt sich jede Gilde mehrere Stunden Zeit, um sich weiterzuentwickeln: Das umfasst meist zuerst einen theoretischen Vortrag und danach einen praxisnahen Austausch über […]

The post Unsere IT-Architekten lösen die “Big Spender” Aufgabe der iSAQB-Zertifizierung appeared first on Frachtwerk.

]]>
Bei Frachtwerk haben wir uns vom Spotify-Modell inspirieren lassen und organisieren regelmäßig Treffen für die fachliche Weiterbildung in „Gilden“. So gibt es Gilden für Frontend, Backend, Product Owner und IT Architektur. Regelmäßig nimmt sich jede Gilde mehrere Stunden Zeit, um sich weiterzuentwickeln: Das umfasst meist zuerst einen theoretischen Vortrag und danach einen praxisnahen Austausch über fachliche Projekterfahrungen.

Diese Treffen finden meist virtuell statt, weil wir bei Frachtwerk verteilt in Deutschland und anderen Ländern arbeiten. Doch kürzlich ergab sich die Gelegenheit, ein Gildentreffen mit einem Firmenevent zu verbinden, an dem alle Kolleg:innen von Frachtwerk in Persona (!) zusammenkommen. Das ist immer etwas ganz besonderes, wenn sich das Team „in Echt“ sieht – ohne Kamera & Bildschirm dazwischen.

Um bei dieser Gelegenheit das Gildentreffen fachlich außergewöhnlich zu gestalten, haben die zwei Gildenleitenden eine Herausforderung vorbereitet, die es in sich hat: die Aufgabe „Big Spender“ der Advanced Level Zertifizierug für Software Architekten des „International Software Architecture Qualification Boards“ (iSAQB). Diese Aufgabe ist als Vorbereitung auf die Zertifizierung entwickelt worden und kostenfrei als Download erhältlich.

Inhaltlich beschreibt diese Übungsaufgabe Anforderungen an ein umfangreiches Softwaresystem und fordert, klassische Methoden von Software-Architekten anzuwenden, um ein geeignetes Zielsystem zu skizzieren. Auch wenn die Aufgabe bereits auf das „Advanced Level“ der Zertifizierung vorbereitet, haben wir den Schwierigkeitsgrad weiter erhöht, in dem sie die Zeit für die Aufgabenbearbeitung bewusst knapp hielten. „Als nächstes das Komponentendiagramm bitte. Ihr habt 10 Minuten Zeit. Countdown läuft!“, lautete die Order. Denn die Teilnehmenden sollten innerhalb weniger Stunden eine möglichst breite Palette von Methoden anwenden, ohne sich dabei in Details zu verlieren.

Um das Schwierigkeitslevel auf die Spitze zu treiben, haben die IT-Architekten, die den ganzen Workshop leiteten, während der Bearbeitung der Aufgaben mehrfach die Anforderungen geändert. Etwas zum Leidwesen der Teilnehmenden, doch in der Projektpraxis durchaus realistisch. Dieser Teil der Aufgabenvorstellung hat den Beiden im Nachhinein besonders Spaß bereitet.

Nach mehreren intensiven Stunden mit der Ermittlung und Priorisierung von Qualitätsanforderungen und einer Vielzahl von Diagrammen haben alle Teilnehmenden mögliche Zielsysteme und Technologiestacks skizziert. Die Vorschläge für die Umsetzung waren wirklich spannend und haben eingeladen, sich direkt an die Umsetzung zu machen. Doch die Bewertung der Ergebnisse war der letzte Agendapunkt des Gildentreffens. Denn es klopften schon die weiteren Frachtwerk-Kolleg:innen an der Tür, die von überall für das Firmenevent eingetrudelt waren.

The post Unsere IT-Architekten lösen die “Big Spender” Aufgabe der iSAQB-Zertifizierung appeared first on Frachtwerk.

]]>
Wie Darto mit Hilfe von Frachtwerk die Bedienung von Maschinen revolutioniert https://frachtwerk.fw-web.space/wie-darto-mit-hilfe-von-frachtwerk-die-bedienung-von-maschinen-revolutioniert/ Tue, 10 Jan 2023 09:45:00 +0000 https://frachtwerk.fw-web.space/?p=2756 Frachtwerk entwickelt moderne Software zur Steuerung von Zugprüfmaschinen Die Darto GmbH vertreibt Mess- und Prüftechnik für Industrie, Lehre und Forschung. Die Zugprüfmaschinen kommen an unterschiedlichen Stellen im produzierenden Gewerbe zum Einsatz. So wird beispielsweise in der Automobilindustrie die Robustheit von Bauteilen geprüft, in der Baubranche kontrollieren die Maschinen die Reißfestigkeit von Baustellenschutznetzen und in der […]

The post Wie Darto mit Hilfe von Frachtwerk die Bedienung von Maschinen revolutioniert appeared first on Frachtwerk.

]]>
Frachtwerk entwickelt moderne Software zur Steuerung von Zugprüfmaschinen

Die Darto GmbH vertreibt Mess- und Prüftechnik für Industrie, Lehre und Forschung. Die Zugprüfmaschinen kommen an unterschiedlichen Stellen im produzierenden Gewerbe zum Einsatz. So wird beispielsweise in der Automobilindustrie die Robustheit von Bauteilen geprüft, in der Baubranche kontrollieren die Maschinen die Reißfestigkeit von Baustellenschutznetzen und in der Lebensmittelindustrie wird die Bruchfestigkeit von Keksen getestet.

Für diese Maschinen entwickelte Frachtwerk in Kooperation mit Jokertronic, die das UX-Design übernahmen, eine moderne, praxisnahe und benutzerfreundliche Software mit erweitertem Funktionsumfang und einer umfangreichen Prüfdatenbank, welche die Maschinen steuert, die Analyse und Auswertung der Daten übernimmt, die zu prüfenden Produkte sowie vergangene Prüfungen verwaltet und anschließend Berichte erstellt.

Elegantes User Interface und moderne Webtechnologien

Vor Projektbeginn wurden die Zugprüfmaschinen der Darto GmbH mit einer Software gesteuert, die aus UI/UX-Perspektive in die Jahre gekommen war und nicht alle Funktionen beinhaltete, welche für die Prüfung und Prüfungsverwaltung sinnvoll sind. So galt es eine Software zu entwickeln, die sich von der bestehenden Software insbesondere durch eine bessere Bedienbarkeit und ein ansprechenderes Design, aber insbesondere auch durch einen erweiterten Funktionsumfang und mehr Analyse- und Vergleichsmöglichkeiten unterscheidet. Ein weiterer technischer Unterschied war die Entwicklung der Software mit modernen Webtechnologien, was mehr Freiheiten bei der Gestaltung des User Interfaces zuließ.

Eine Herausforderung des Projekts war die Sicherstellung einer guten User Experience für die Shopfloor Mitarbeiter und Endanwender der Software. Die Software weicht nämlich an einigen Stellen bewusst von altbekannten Mustern vergleichbarer Branchensoftware ab, was aber wichtige funktionale Vorteile schafft. Möglich wurde dieser Wechsel in eine modernere User Experience durch unseren externen Blick auf das Projekt und unsere Expertise im Bereich der modernen Webtechnologien. Eine weitere Besonderheit des Projektes war zudem die Offline-Fähigkeit der Software, weil davon ausgegangen werden musste, dass z.B. bei der Arbeit in einer Fabrikhalle kein Zugang zum Internet bestehen könnte.

Für das Projekt wurde also sehr nah an der Hardware bzw. „low level“ mit dem Maschinencontroller und dessen serieller Schnittstelle gearbeitet. So konnte unser Team wertvolle Erfahrung bei der Entwicklung maschinennaher Software sammeln und die Darto GmbH im Gegenzug dazu eine neue Sichtweise auf Prozesse und Interaktion mit der Software erhalten.

Die Startseite der Software beinhaltet die Steuerung der Zugpüfmaschine und ein Anzeige über die aktuelle Messung

Agiles Vorgehen ermöglicht dynamischen Entwicklungsprozess

Nach der gemeinsamen Anforderungserhebung arbeitete Frachtwerk in einem agilen Vorgehen mit zweiwöchigen Sprints und entsprechenden Planning- und Retro-Sessions eng mit dem Kunden und Experten für die Hardware zusammen. Während des Entwicklungsprozesses konnten so Features ergänzt und weiter spezifiziert werden. Auch auftretende Bugs konnten dank des agilen Ansatzes bereits im laufenden Prozess beseitigt werden.

Moderne Software mit erweitertem Funktionsumfang

Für die Zugprüfmaschinen der Darto GmbH wurde eine moderne, praxisnahe und benutzerfreundliche Software entwickelt, welche die Maschinen steuert, die Analyse und Auswertung der Daten übernimmt, die zu prüfenden Produkte sowie vergangene Prüfungen verwaltet und anschließend Berichte erstellt.
Einerseits übersetzt der Maschinencontroller die Eingaben des Anwenders mit einem ansprechenden und intuitiven Interface, das von unserem Partner Jokertronic gestaltet wurde, in Maschinenbefehle. Durch die neue Software lässt sich die Bedienung der Maschinen nun außerdem an verschiedene Anwendungsfälle anpassen.

Andererseits verwaltet die Software Prüfroutinen, Artikel und Prüfdatenbanken, managt Analysedaten, die mit Graphen und im Vergleich mit historischen Daten visualisiert werden und erstellt Prüfberichte und Reports. Auch eine Kopierschutzmaßnahme mit USB-Dongles wurde implementiert.

Das Display zeigt die Ergebnisse aus mehreren Tests in einem Graph und einer Statistik. Dazu werden am linken Rand die dazugehörigen Prüfparametern angezeigt, sowie das Steuerungsfeld mit der Anzeige über die aktuelle Messung

Weitere Funktionserweiterungen denkbar

Nach dem Release der Software im Oktober 2021 ist die Grundversion nun bereits im Einsatz. Die erfolgreiche Umsetzung der Anforderungen wurde insbesondere durch die enge Zusammenarbeit mit der Darto GmbH und mit Jokertronic unterstützt. Auch nach dem Release sind jedoch Weiterentwicklungen denkbar, z.B. in Form der Integration einer Serverkomponente zur zentralen Verwaltung von Daten in großen Unternehmen mit mehreren Maschinen oder sogar die Synchronisation der Werte über mehrere Standorte hinweg.

The post Wie Darto mit Hilfe von Frachtwerk die Bedienung von Maschinen revolutioniert appeared first on Frachtwerk.

]]>
OpenSource hilft bei Aufklärung über ME/CFS & Long Covid https://frachtwerk.fw-web.space/opensource-hilft-bei-aufklaerung-ueber-me-cfs-long-covid/ Mon, 19 Sep 2022 19:05:00 +0000 https://frachtwerk.fw-web.space/?p=2734 Ein Gastbeitrag von Andreas Müller – Freelancer bei Frachtwerk seit 2018.

The post OpenSource hilft bei Aufklärung über ME/CFS & Long Covid appeared first on Frachtwerk.

]]>

Per Open Source gegen ME/CFS und Long COVID

Ich arbeite als Freelancer schon seit über 4 Jahren mit der Frachtwerk GmbH an verschiedenen Projekten. Dabei ist die Kooperation schon von Anfang an viel mehr eine gegenseitige freundschaftliche Unterstützung als nur eine geschäftliche Zweck-Beziehung, eine Eigenschaft, die ich sehr schätze und einer der Gründe, warum ich gern auch weiterhin mit Frachtwerk zusammenarbeite. Braucht Frachtwerk jemanden, der beim Bau des Prototypen einer Web-App für eine Projekt-Ausschreibung im Frontend unterstützt? Ich bin dabei. Brauche ich für einen Kunden Webspace und Ressourcen für eine gewünschte Open Source Software? Frachtwerk ist dabei. Ohne Zögern. Pro Bono.

ME/CFS – Myalgische Enzephalomyelitis/Chronisches Fatigue-Syndrom

Genau solch ein Kunde war zuletzt die Deutsche Gesellschaft für ME/CFS e.V., für welche ich als System-Administrator und Webentwickler tätig bin. Als gemeinnütziger Verein bieten sie ME/CFS-Erkrankten eine demokratische Plattform, um für ihre Rechte einzutreten.

Was ist ME/CFS überhaupt?

Diese Frage ist spannend. Denn ME/CFS ist mit 250.000 Betroffenen (darunter 40.000 Kinder) in Deutschland eine weit verbreitete und zugleich wenig bekannte schwere neuroimmunologische Erkrankung, die oft nach einem Virusinfekt auftritt und zu einem hohen Grad der körperlichen Behinderung führt. Ein Viertel aller Patienten kann das Haus nicht mehr verlassen, viele sind bettlägerig und schätzungsweise über 60 Prozent arbeitsunfähig.

Ein Teil der nach einer Coronainfektion an Long COVID Erkrankten entwickelt zudem ME/CFS, sodass die Arbeit des Vereins durch die Corona-Pandemie noch bedeutsamer geworden ist. Ich arbeite mit dem Vorstand und einem kleinen IT-Development Team des Vereins zusammen an der Lösung technischer Probleme und Optimierung bestehender Prozesse. So wollte der Verein nun seine erste vollständig digitale Mitgliederversammlung durchführen und dabei die Open Source Software verwenden.

OpenSlides als Tool für Live-Konferenzen

OpenSlides ist ein webbasiertes Tool, das ein zentralisiertes Präsentations- und Versammlungsmanagement bietet. Dabei können Tagesordnung, Anträge und Wahlen einer Versammlung verwaltet und durchgeführt werden. Da aber nicht die nötige Infrastrukur zur Installation von OpenSlides vorhanden war, hat Frachtwerk hier ausgeholfen.

Technisch findet die Installation per Docker statt. OpenSlides liefert einen Manage Service, über den sich das Setup ausführen lässt. Dabei wird eine „docker-compose.yml“ generiert, die entsprechend den eigenen Anforderungen angepasst werden kann. Wir waren mutig und haben direkt die aktuelle OpenSlides 4 (beta) installiert.

Es stellte sich heraus, dass OpenSlides 4 wohl mindestens aufgrund seines Ressourcenhungers noch in der Betaphase ist. Die dreistündige Veranstaltung ließ den nginx Webserver zum Ende hin mehr als 2000 gleichzeitig schreibende Verbindungen aufbauen: Die Mitgliederversammlung war schließlich auch ein Erfolg. Obwohl die Veranstaltung an einem Sonntag war, hat Frachtwerk anfängliche, durch die Last verursachte Probleme durch kurzfristige Rekonfiguration von Webserver und Proxy behoben und das Monitoring im Blick behalten.

Da die Versammlung in einem zweiten Termin einige Tage später fortgeführt wurde, entschieden wir uns dafür, lieber die stabile Version 3.4 von OpenSlides zu installieren. Tatsächlich war diesmal die Veranstaltung im Monitoring nicht mehr erkennbar und konnte problemlos durchgeführt werden.

Danke Frachtwerk, für euer Engagement und euer Herz für gemeinnützige Projekte.
– Andreas Müller

The post OpenSource hilft bei Aufklärung über ME/CFS & Long Covid appeared first on Frachtwerk.

]]>
Frachtwerk erstellt kostenlosen Videokurs zu Clean IT https://frachtwerk.fw-web.space/frachtwerk-erstellt-kostenlosen-videokurs-zu-clean-it/ Tue, 15 Mar 2022 19:46:00 +0000 https://frachtwerk.fw-web.space/?p=2711 Den Klimawandel zu bremsen ist eine der größten Herausforderungen dieses Jahrhunderts. Und das nicht nur für uns, sondern auch für die nächsten Generationen. Viele Sektoren unserer Gesellschaft brauchen ein ökologisches Redesign: Mobilität, Nahrungsmittelproduktion, Energieproduktion, Bauen & Wohnen… und nicht zuletzt auch die Digitalisierung. Wir bei Frachtwerk als Digitalisierung-Expert:innen möchten dazu beitragen und mitwirken. Ganz nach […]

The post Frachtwerk erstellt kostenlosen Videokurs zu Clean IT appeared first on Frachtwerk.

]]>
Den Klimawandel zu bremsen ist eine der größten Herausforderungen dieses Jahrhunderts. Und das nicht nur für uns, sondern auch für die nächsten Generationen. Viele Sektoren unserer Gesellschaft brauchen ein ökologisches Redesign: Mobilität, Nahrungsmittelproduktion, Energieproduktion, Bauen & Wohnen… und nicht zuletzt auch die Digitalisierung. Wir bei Frachtwerk als Digitalisierung-Expert:innen möchten dazu beitragen und mitwirken. Ganz nach unserer Vision:

“gemeinsam die Welt von morgen gestalten. digital. nachhaltig.”

Was ist “Sustainable Software Engineering”?

Die Entwicklung nachhaltiger Software ist ein wesentlicher Bestandteil einer nachhaltigeren Gestaltung der Digitalisierung. Unter “Sustainable Software Engineering” verstehen wir einen Entwicklungsprozess von Software, der über den gesamten Lebenszyklus hinweg systematisch CO2-Emissionen minimiert. Ziel dabei ist es, in allen Schritten der Softwareentwicklung – vom Anforderungs-Engineering bis zum Betrieb von Software im Rechenzentrum – durch ein Bewusstsein für mögliche CO2-Emissionen, Treibhauseffekte zu minimieren. Während hierfür manchmal systemische Methoden hilfreich sind, kann die Lösung manchmal ganz pragmatisch und einfach sein.

Einzigartiger kostenloser Videokurs mit Zertifikat

In einer einzigartigen Kooperation zwischen dem Hasso-Plattner-Institut und dessen digitaler Lernplattform OpenHPI sowie mit unseren Freunden Ferdinand Mütsch und Johannes Rudolph von meshcloud haben unsere Mitarbeiter Mathias Renner und Robin Lamberti einen kostenlosen Videokurs erstellt. Mit gebündelter Digitalisierungs-Expertise zeigen die vier Instructors alle Aspekte einer klimaschutzgerechten und gleichzeitig modernen Softwareentwicklung. Damit zählt dieser Kurs zu den Ersten überhaupt in diesem Bereich.

Grundsätzlich ist der Kurs für alle geeignet, die sich für das Thema Nachhaltigkeit in der Softwareentwicklung interessieren. Teilnehmende, die zusätzlich zu den Lernvideos die Übungsaufgaben inkl. Programmieraufgaben erfolgreich lösen, erhalten zum Ende des Kurses ein Zertifikat des renommierten Hasso-Plattner-Instituts.

Inhaltlicher Fokus

In diesem zweiwöchigen Online-Kurs geht es um ressourcenschonende Softwareentwicklung. Wir besprechen, wie klimafreundliche Entscheidungen und Maßnahmen entlang des Lebenszyklus der Softwareentwicklung und deren Kontext angewendet werden können.
Auch wenn wir dabei auch organisatorische Maßnahmen ansprechen, liegt unser Fokus auf der technischen Ebene: wie werden mit Informationstechnologie (IT) CO2-Emissionen verursacht und wie kann IT mittels z. B. effizienterer Datenstrukturen oder Algorithmen Energie, und damit meist auch CO2-Emissionen sowie Kosten einsparen?

Entlang des Online-Kurses,der am 30. März 2022 offiziell startet, tauchen wir immer wieder aus der Tiefe der Technik auf und diskutieren, wie moderne, cloud-native IT-Architekturen CO2-Emissionen minimieren können, durch z.B Event-driven Programming, Microservices und Decoupling-Patterns sowie on-Demand Systeme.

Umfangreiches Themenspektrum

Sustainable Software Engineering ist ein sehr umfangreicher Themenbereich. So zeigen wir einerseits die Grundlagen nachhaltiger Software, wie z. B. wie der Energieverbrauch einer Software gemessen werden kann und welche Messeinheiten man hierfür kennen muss.

Andererseits möchten wir ein möglichst ganzheitliches Bild geben auch außerhalb der technologisch getriebenen Fragestellungen. So sprechen wir auch auch darüber, wie Prozesse aus Projektleitungs-Perspektive nachhaltiger geplant und gestalten werden können. Was bedeutet es in diesem Kontext, Ressourcen “bedarfsgerecht” nutzen? Wir diskutieren, warum effizienter nicht immer besser ist, und, wir versuchen schließlich zu verstehen, warum wir heute immer noch relativ langsam sind auf dem Weg zu einer wirklich nachhaltigen Digitalisierung. Wir stellen hierbei fest, dass die Hauptakteure in der Softwareentwicklung, wir selbst als Menschen, manchmal irrationalem Verhalten unterliegen. Mithilfe von psychologischen Konzepten versuchen wir dem etwas auf den Grund zu gehen.

The post Frachtwerk erstellt kostenlosen Videokurs zu Clean IT appeared first on Frachtwerk.

]]>
Der Weg zum konzentrierten Arbeiten https://frachtwerk.fw-web.space/der-weg-zum-konzentrierten-arbeiten/ Thu, 20 Jan 2022 19:14:00 +0000 https://frachtwerk.fw-web.space/?p=2702 Ist-Zustand bei den Meisten und negative Folgen Ein Großteil der Menschen lässt sich im Durchschnitt alle 11 Minuten unterbrechen. Das ist enorm. Zusätzlich dazu gilt es zu bedenken, dass wir ca. 20 Minuten benötigen, um wieder konzentriert einer Tätigkeit nachgehen zu können. Das betrifft nicht nur Unterbrechungen durch das Smartphone, durch E-Mails, Chatnachrichten oder durch […]

The post Der Weg zum konzentrierten Arbeiten appeared first on Frachtwerk.

]]>
Ist-Zustand bei den Meisten und negative Folgen

Ein Großteil der Menschen lässt sich im Durchschnitt alle 11 Minuten unterbrechen. Das ist enorm. Zusätzlich dazu gilt es zu bedenken, dass wir ca. 20 Minuten benötigen, um wieder konzentriert einer Tätigkeit nachgehen zu können. Das betrifft nicht nur Unterbrechungen durch das Smartphone, durch E-Mails, Chatnachrichten oder durch Kollegen, sondern einen Großteil der Störungen machen auch innere Faktoren, wie z.B. offene, nicht aufgeschriebene To-Dos, Sorgen, Mind Wandering / Tagträumerei Motivationslosigkeit und vieles mehr aus.

Diese begünstigen das ständige Wechseln des Fokus’ und wir suchen nach neuen, interessanteren Reizen in unserer Umwelt. Die Folgen sind mangelnde Motivation und eine mindere Arbeitsqualität. Schaffen wir es dann, uns trotz Antriebslosigkeit hinzusetzen und produktiv zu sein, kann nicht von Konzentration gesprochen werden.

Mangelnde Konzentration wird aber nicht nur durch interne und externe Unterbrechungen begünstigt, sondern auch durch einen ungeordneten Schlafrhythmus, fehlenden körperlichen und geistigen Ausgleich während des Arbeitens (z.B. stündlich ein paar Minuten Pause zu machen und den Puls zu erhöhen) und schlechte Ernährung. Weitere Faktoren sind negative/destruktive Themen beim Austausch mit Kollegen oder Nachrichten aus aller Welt, Dopamin-Überstimulation durch Social-Media-Konsum, ein unaufgeräumter Schreibtisch, der die Denkprozesse behindert und ein ungeplanter oder unstrukturierter Tag. Auch Multitasking schwächt unsere Konzentration enorm.

Der Weg zum konzentrierten Arbeiten

Um überhaupt über Konzentration sprechen zu können, müssen wir uns klar machen, was Konzentration ist. Wenn wir uns konzentrieren, richten wir unsere gesamte Aufmerksamkeit auf eine Sache und blenden automatisch äußere Einflussfaktoren aus. Wir sind in eine Aufgabe versunken und haben teilweise das Gefühl, dass wir uns selbst nicht mehr wahrnehmen. Die Frage ist, wie wir einen solchen Zustand herbeiführen und begünstigen können.

Konzentration kann trainiert werden wie eine Sportart. Demnach muss sie geübt werden. Wir wissen, aller Anfang ist schwer, besonders wenn es um Gewohnheiten geht, weshalb im Folgenden ein paar konkrete Empfehlungen gegeben werden.

Was fördert Konzentration?

Einer der wichtigsten Schritte besteht darin, Ablenkungen in der Konzentrations-Umgebung zu identifizieren und zu eliminieren. Wie bereits im oberen Abschnitt erwähnt, können das innere und äußere Faktoren sein. So kann es beispielsweise sein, dass wir gerade konzentriert arbeiten und plötzlich erscheint ein Gedanke im Kopf, der uns mitteilt “ich muss meiner Mutter noch zum Geburtstag gratulieren”.

Just werden wir aus unserem (scheinbar) fokussierten Zustand herausgerissen und unsere Arbeitsqualität leidet. Diese Art von Unterbrechung durch opportune To-Dos kann z.B. durch einen Tagesplan eliminiert werden (z.B. 18:30 Uhr: Mutter gratulieren).

So weiß der Verstand, dass diese Aufgabe bereits für heute terminiert ist und er nicht dran erinnern muss. Verzichten wir auf einen Tagesplan o.Ä., dann wird der Verstand immer wieder neue Impulse senden, die uns jedes mal beeinträchtigen werden. Nicht nur Unterbrechnungen, sondern übergreifend der gesamte Lifestyle beeinflusst unsere Konzentrationsfähigkeit. Nachfolgend habe ich Tipps aufgelistet, wie der eigene

Lifestyle im Kleinen optimiert werden kann, mit großen, positiven Konsequenzen:

  • Dopamin-Detox: mindestens einen Tag pro Woche kein Social Media, kein Smartphone, kein Internet
  • mehrmals pro Woche Sport machen (für mind. 30 Minuten)
  • den Tag in eine Meditation einrahmen (jeweils morgens und abends ein paar Minuten)
  • gesunde Ernährung mit reichlich Gemüse
  • Bücher lesen –> lesen ist ein sehr starker Gradmesser und Übungsplatz zum Steigern der eigenen Konzentrationsfähigkeit
  • kreativ sein (malen, zeichnen, schreiben etc.)
  • Binaurale Musik beim Arbeiten hören
  • ordentlicher Schlaf, wird begünstigt durch:
    • abends eine Anti-Blaulicht-Brille tragen (der Nachtmodus auf Geräten reicht nicht aus)
    • im Sommer: Rolladen runter und in einem dunklen Raum ohne Lichtquellen schlafen
    • Wecker mit aufsteigender Melodie, kein Emergency-Alert (das katapultiert uns – evolutionär bedingt – aus dem Schlaf auf maximale Wachsamkeit und ist auf Dauer schädlich)
    • den Tag mit Achtsamkeitsübungen wie einer Meditation oder Yoga abschließen und direkt in diesem Gemütszustand ins Bett legen
    • nach dem Aufstehen direkt Kreislauf anregen (Seilspringen, Liegestützen, Kniebeugen etc. Wichtig ist, dass der Puls steigt und der Körper frisch wird)
    • Power Nap einlegen (ca. 20 – 30 Minuten, nicht länger)
  • Tag planen / strukturieren
    • „the key is not to prioritize what‘s on your schedule but to schedule your priorities.“ (Steven Covey)
    • die wichtigsten Aufgaben in den ersten Stunden einplanen, in denen die meiste Energie vorhanden ist –> am Morgen, denn dort haben wir:
      • eine stärkere Willenskraft
      • mehr Energie im Gehirn um sich tief zu fokussieren und klar zu denken sowie anspruchsvolle Probleme/Aufgaben zu lösen
    • weniger wichtige Aufgaben einplanen für die Zeiten, in denen weniger Energie vorhanden ist, überlicherweise 7 – 9 Stunden nach dem Aufwachen (das bekannte Mittagstief)
    • die letzten 7 Stunden des Tages eignen sich optimal für kreatives Arbeiten, Innovationen, Ideen sammeln etc.

Fazit

Wie wir sehen, gibt es zahlreiche Faktoren, die unsere Konzentration beeinflussen können und es in der Regel auch tun. Dazu sei gesagt, dass dieser Artikel nur an der Oberfläche kratzt. Themen wie Zeitmanagement, Produktivität (keine toxische Produktivität), Selbst-Optimierung (nicht Über-Optimierung), Selbstbeherrschung etc. würden den Rahmen beiweitem sprengen. Ich kann jedoch nur dazu ermutigen, sich mit den Themen zu befassen.

Des weiteren empfehle ich, nicht zu viel auf einmal umzusetzen, sondern peu á peu den Lifestyle anzupassen. Bei einigen Maßnahmen, wie z.B. der Anpassung der Schlafgewohnheiten, werden sich bereits nach ein paar Tagen positive Ergebnisse zeigen lassen. Wichtig zu erwähnen ist außerdem, dass nicht nur die Konzentration einen Aufschwung genießen wird, sondern sich das gesamte Lebensgefühl verändert. Der Energiehaushalt schöpft aus Quellen, die vorher de facto nicht existent waren, unser Kreativitätsvermögen steigert sich, und wir treffen bessere Entscheidungen.

The post Der Weg zum konzentrierten Arbeiten appeared first on Frachtwerk.

]]>
Wie 5S Audit mit digitalen Audits Ordnung in Ihrer Arbeitsumgebung schafft https://frachtwerk.fw-web.space/wie-5s-audit-mit-digitalen-audits-ordnung-in-ihrer-arbeitsumgebung-schafft/ Wed, 01 Sep 2021 08:49:00 +0000 https://frachtwerk.fw-web.space/?p=2610 In einer unstrukturierten Arbeitsumgebung verbringt man die meiste Zeit mit Suchen. Informationen sind auf verschiedenen Datenbanken und in Softwares verteilt, Hilfsmittel sind nicht sofort greifbar oder Waren nicht ordentlich gelagert. Durch das ständige Suchen wird wertvolle Arbeitszeit verschwendet und in einer unordentlichen Arbeitsumgebung sogar die Sicherheit der Mitarbeiter:innen gefährdet.

The post Wie 5S Audit mit digitalen Audits Ordnung in Ihrer Arbeitsumgebung schafft appeared first on Frachtwerk.

]]>
Eine Lösung für dieses Problem sind strukturierte Audits – also Qualitätsprüfungen, die sicherstellen, dass die Arbeitsumgebung den erforderlichen Standarts entspricht. Doch wie regelmäßig führen Sie solche Audits durch? Haben Sie die Ergebnisse Ihrer Audits stets griffbereit und statistisch aufbereitet? Haben Sie einen Überblick darüber, ob, wann und von wem die Maßnahmen aus Ihren Audits umgesetzt werden?

Dies alles gelingt mit 5S Audit, einer App und Webapplikation, mit der standardisierte digitale Audits bequem auf dem mobilen Endgerät durchgeführt werden können und deren Ergebnisse und Maßnahmen plattformübergreifend für alle betroffenen Mitarbeiter:innen zugänglich sind.

Mit 5S Audit zu standardisierten digitalen Audits und effektiven Maßnahmen
Mit 5S Audit verschwenden Sie weniger Zeit mit Suchen und gewinnen dadurch mehr Zeit für Ihre Kernaufgaben. Sie profitieren von einer organisierten Arbeitsumgebung mit weniger Unfällen und mehr Mitarbeiterzufriedenheit. Mit 5S Audit halten Sie außerdem Ergebnisse, Statistiken und Maßnahmen Ihrer Audits übersichtlich und stets griffbereit.

Das 5S-Prinzip ist eine standardisierte Methode zur Verbesserung der Arbeitsplatzorganisation und besteht aus fünf Schritten: sortiere aus, systematisiere, säubere, standardisiere und Selbstdisziplin.

5S Audit als plattformübergreifendes Audittool

Mit der 5S Audit App führen Sie digitale Audits auf Ihrem mobilen Endgerät durch. Es stehen Ihnen standardisierte Fragenkataloge für unterschiedliche Bereiche (u.a. Büro und Produktion) nach dem 5S-Prinzip zur Verfügung, welche auf Ihre individuellen Bedürfnisse angepasst werden können. Es besteht die Möglichkeit, Bilder, Kommentare und Verbesserungsmaßnahmen in das Audit zu integrieren und die Aufgaben gezielt einer verantwortlichen Person zuzuweisen. Auch eine zeitliche Frist kann für jede Maßnahme gesetzt werden.

Nach der Durchführung eines Audits erfolgt die automatische Aggregation Ihrer Informationen, welche Ihnen eine statistisch aufbereitete Übersicht bereitstellt. Dieses Dashboard mit den zusammengefassten Ergebnissen ist für Sie und alle betroffenen Mitarbeiter stets zugänglich, sowohl in der App, als auch in der Webapplikation. Sie können die einzelnen Audits abrufen, Kommentare einsehen und die Umsetzung Ihrer Maßnahmen verfolgen.

Außerdem präsentiert Ihnen das Dashboard eine Übersicht über alle Ihre Organisationseinheiten, sodass Sie stets mitverfolgen und steuern können, wann und wo in Ihrem Unternehmen Audits stattfinden. Die intuitive Durchführung der Audits am mobilen Endgerät und das übersichtliche Dashboard am Desktop machen 5S Audit zu einem Tool, das jede:r Mitarbeiter:in einfach bedienen kann. Profitieren Sie von einer organisierten Arbeitsumgebung durch 5S Audit!

The post Wie 5S Audit mit digitalen Audits Ordnung in Ihrer Arbeitsumgebung schafft appeared first on Frachtwerk.

]]>
Wie die Produktlandkarte ProMap Struktur in Ihre Produktinformationen bringt https://frachtwerk.fw-web.space/wie-die-produktlandkarte-promap-struktur-in-ihre-produktinformationen-bringt/ Thu, 05 Aug 2021 08:36:00 +0000 https://frachtwerk.fw-web.space/?p=2599 Das lange Suchen nach unstrukturierten und auf verschiedenen Datenbanken abgelegten Informationen und Dokumenten kennt jeder. Mit dem Wachstum einer Organisation kann dies jedoch schnell zu einem großen Problem werden.

The post Wie die Produktlandkarte ProMap Struktur in Ihre Produktinformationen bringt appeared first on Frachtwerk.

]]>
Besonders, wenn mehrere Standorte und Organisationseinheiten gemanagt werden, darf sowohl der Vertrieb als auch das Management den Überblick über Inhalte, Referenzen und Informationen zu den eigenen Produkten nicht verlieren. Ein verstreutes Portfolio, unsortierte und dezentral abgelegte Referenzen und verschiedene Ablagesysteme erschweren den Austausch von Informationen wesentlich und haben Ineffizienz in der Arbeitsweise und einen Qualitätsverlust bei der Produktpräsentation vor den Kunden zur Folge.

Die von der Frachtwerk GmbH in Kooperation mit der DB Engineering & Consulting GmbH entwickelte Produktlandkarte ProMap greift genau dieses Problem an und dient als qualitätssichernde und standortübergreifende Informationslösung für alle Einheiten einer Organisation.

Die Lösung für Ihre Produktinformationen

Bei der ProMap handelt es sich um eine strukturierte, einfach zu bedienende digitale Informationsplattform, die alle wichtigen Features für Vertrieb und Management vereint. Die Plattform bündelt Referenzdatenbank und Produktportfolio, sowie eine Event- und Marktübersicht und ermöglicht einen reibungslosen Datenimport und -export u.a. durch eine Schnittstelle zu Salesforce.

„Die ProMap ist Betriebs- und Informationsplattform und Suchmaschine zugleich. Das Ziel der ProMap ist es, dabei zu unterstützen, den Vertrieb weiter zu professionalisieren.“
– Mathias Schäfer, DB Engineering & Consulting GmbH

In der ProMap werden Referenzen zentral abgelegt und sind durch eine flexible Suchfunktion einfach zu finden. Die Referenzendatenbank kann präzise kategorisiert, auf dem neuesten Stand gehalten und in einheitlicher Qualität aufbereitet werden.

Darüber hinaus besteht die Möglichkeit, die Datenbank in Excel auszuwerten, präsentationsfähige Projektblätter zu exportieren oder schnell und einfach Zertifikate und Kompetenznachweise für Kunden zu erstellen.

Auch Produktinformationen können mit der Suchmaschine im Produktportfolio der ProMap gezielt gefiltert werden – wie etwa nach Thema, Kategorie, Produktfamilie und Lebenszyklus. Diese Dimensionen sind kundenspezifisch anpassbar, was eine schnelle Erstellung von Produktblättern für den Kunden ermöglicht. Ein Portfoliograph zeigt alle Produkte und Produktverwandtschaften auf einen Blick und ermöglicht individuelle Produktansicht nach verschieden Kriterien.

Mit der ProMap werden Produktinformationen einfach gebündelt, um anschließend den individuellen Bedürfnissen entsprechend angewandt zu werden. So kann für jeden Kunden ein passgenaues Angebot erstellt werden, ohne durch den Informationsaustausch über verschiedene Organisationsebenen hinweg an Einheitlichkeit und Qualität zu verlieren.

Die ProMap erleichtert zudem den Zugriff auf alte und das Erstellen von neuen Produktpräsentationen. Die Dateien sind in der digitalen Vertriebsbibliothek zentral abgelegt und einzelne Bausteine oder komplette Slides können aus früheren Präsentationen und standardisierten Präsentationsmaterialen wiederverwendet und angepasst werden, sodass für jeden Kunden ohne großen Aufwand eine einheitlich gehaltene, aber individuell zugeschnittene Präsentation generiert werden kann. Da der Export als Powerpoint erfolgt, können nachträglich beliebige Änderungen an den Präsentationen vorgenommen werden.

Außerdem bietet die ProMap die Funktion der Übersicht über Messen und Konferenzen, um alle wichtigen Events im Blick zu behalten. Eine Landkarte zeigt zudem allen Details zu den eigenen Standorten, Mitarbeitern, laufenden Projekten und strategischen Partnern im Überblick und eine Marktübersicht mit spezifischen Informationen zu Marktpotentialen, Key Accounts und Wettbewerbern macht die Potentiale des eigenen Produktportfolios sichtbar und schafft die Grundlage für neue Vertriebsstrategien.

Mehr Informationen zu den Features der ProMap finden Sie auf produktlandkarte.de

Eine Schnittstelle zu Salesforce ermöglicht einen reibungslosen Datenaustausch, wie etwa den Import von Informationen über Messen und Konferenzen und gewonnene Projekte aus Salesforce oder den Export des Produktportfolios nach Salesforce einschließlich seiner kompletten Struktur und jeglicher Aktualisierungen.

Individuell auf Ihr Unternehmen abgestimmt

Schließlich ist die Produktlandkarte vielseitig anpassbar – sowohl an die Corporate Identity einer Organisation als auch an individuelle Bedürfnisse in der Produkt- und Referenzstruktur, der Software-Sprache und im Rechte- und Rollenkonzept. Durch die agile Softwareentwicklung der Projektkooperation aus der Frachtwerk GmbH und DB Engineering & Consulting GmbH entstehen laufend neue Funktionaliäten und Verbesserungen.

The post Wie die Produktlandkarte ProMap Struktur in Ihre Produktinformationen bringt appeared first on Frachtwerk.

]]>
Wann brauche ich eigentlich einen AV-Vertrag? https://frachtwerk.fw-web.space/wann-brauche-ich-eigentlich-einen-av-vertrag/ Thu, 29 Jul 2021 20:17:00 +0000 https://frachtwerk.fw-web.space/?p=2587 Dieser Beitrag ist ursprünglich von unserem Kollegen auf fiete.io veröffentlicht worden.

The post Wann brauche ich eigentlich einen AV-Vertrag? appeared first on Frachtwerk.

]]>
Herzlich Willkommen zu einer neuen Folge aus dem DSGVO-Urwald! Heute möchten wir uns der Frage widmen, wann genau man eigentlich einen dieser ominösen AV-Verträge abschließen muss. AV-Verträge (“Auftragsverarbeitungsvertrag”) sind ein bisschen wie böse Herbidize: Keiner kann sie leiden, viele müssen sie trotzdem nutzen und wer sie falsch verwendet, bekommt Ausschlag und eine Menge Ärger.

Keiner weiß, was sie in der Praxis wirklich bringen und man verwendet lieber ein bisschen zu viel als zu wenig – nicht, dass am Schluss der Landesdatenschutzbeauftragte auf der Matte steht und lässig im Bußgeldkatalog blättert!

Und wie bei fast allen Themen aus dem Datenschutz ranken sich die wildesten Mythen um AV-Verträge und fragt man 10 Menschen danach, wann es denn nun eigentlich einen AV-Vertrag braucht, bekommt man 11 Meinungen. Webhoster bräuchten auf jeden Fall einen, Cloud-Computing-Anbieter auch, E-Mail-Dienstanbieter manchmal, Druckereien auf jeden Fall, Mobilfunkprovider eher nicht, bei Office 365 ist man sich nicht so ganz sicher, Apple bietet dafür gar nicht erst einen an.

TKG-Anbieter bräuchten keinen, außer sie betreiben zusätzlich eine Cloudspeicherlösung, Steuerberater auch nicht, Banken auch nicht, zahnärztliche Verrechnungsstellen aber schon. Und Airlines – die ja seit 9/11 quasi eine Standleitung zu US-Geheimdiensten haben – kommen in den meisten Betrachtungen noch nicht einmal vor.

Ein bisschen drängt sich der Eindruck auf, dass alles, was mit diesem Internet zu tun hat – Webhoster, Die böse Cloud, Backups – eher einen AV-Vertrag brauchen und alles, was nicht mit dem Internet zu tun hat – Steuerberater (Schreibmaschine), Banken (Überweisungsträger), Mobilfunkprovider (ist ja Telefon und kein Internet), Airlines (Papierticket) – eher davon befreit ist. So deutsch, so gut.

Klassische Kriterien

Da uns das aber alle nicht so ganz glücklich macht, begeben wir uns doch mal auf die Suche nach geeigneten Kriterien:

Ein in der Literatur gerne genutztes Kriterium ist das der Weisungsbefugnis. Immer dann, wenn eine Firma nur genau das tut, was ich von ihm oder ihr möchte und ich dieser Firma dazu auch noch personenbezogene Daten übermittle, liegt eine Auftragsverarbeitung vor. Das funktioniert häufig, hat allerdings seine Schwächen und das fängt schon beim Begriff der Weisungsbefugnis an. Wann bin ich denn zu Weisungen befugt? Bei der kleinen Druckerei um die Ecke fühlt sich das noch ganz gut an, beim externen Lohnbüro auch.

Aber kann ich meinem Cloudprovider Weisungen erteilen? Und bin ich Microsoft gegenüber zu Weisungen befugt? Häufig fühlt es sich eher an, als ob Microsoft marktmachtbedingt eher mir Weisungen übermittelt. Und bin ich einem Hotel gegenüber, dem ich jede Woche Mitarbeiterdaten für Kollegen auf Montage schicke nicht auch irgendwie weisungsbefugt? So recht überzeugen kann das Kriterium nicht.

Zweites, häufig genanntes Kriterium ist die Menge der personenbezogenen Daten. Je mehr Daten übermittelt werden, desto höher die Wahrscheinlichkeit für einen AV-Vertrag. Finde ich persönlich schwierig als Kriterium, denn wer sagt denn, ab wann “viel” auch tatsächlich “viel” ist? Und was passiert mit den zehn Menschen, deren Daten leider nicht durch einen AV-Vertrag geschützt waren, weil zehn zu wenig war – haben die dann leider einfach Pech gehabt?

Ebenso gerne genutzt ist das Kriterium, ob denn die Verarbeitung personenbezogener Daten den überwiegenden Anteil eines Vertrags darstellt oder eher beiläufig geschieht. Ein wunderbar dehnbares Argument! Steht beim Druck einer Visitenkarte das physische Produkt im Vordergrund oder die übermittelten Daten? Und welcher Anteil der Datenübermittlung an Microsoft ist bei der Nutzung von Office 365 denn personenbezogen?

Ein Blick ins Gesetz

Bleibt also zu hoffen, dass ein Blick in die DSGVO Klarheit bringt. Artikel 28 regelt das Verhältnis des Auftragsverarbeiters, eine Legaldefinition liefert Artikel 4 Nummer 8: Auftragsverarbeiter sind alle natürlichen oder juristischen Personen, Behörden, Einrichtungen oder andere Stellen, die personenbezogene Daten “im Auftrag des Verantwortlichen” verarbeiten.

Herzlichen Glückwunsch – ein Auftragsverarbeiter verarbeitet im Auftrag, großartig. Und dass Art. 4 Nr. 2 DSGVO “Verarbeitung” als alles von Erheben bis Verbreiten und Vernichten definiert, macht die Sache auch nicht einfacher – ein “Auftragsverarbeiter” kann also sowohl ein “Auftragserheber”, als auch ein “Auftragsweitergeber” oder ein “Auftragsvernichter” sein… Immerhin der Kontext hilft ein wenig weiter: Art. 4 Nr. 10 DSGVO unterscheidet ausschließlich zwischen:

  • betroffener Person
  • Verantwortlichen (und Personen in unmittelbarer Verantwortung)
  • Auftragsverarbeitern (und Personen in unmittelbarer Verantwortung)
  • Dritten

Rechnet man die betroffene Person und die verantwortliche Stelle raus, bleiben also nur noch Auftragsverarbeiter und Dritte. Heißt im Umkehrschluss: Jeder an einer Datenverarbeitung beteiligte, der nicht direkt betroffen und nicht verantwortlich ist, ist demzufolge also entweder Auftragsverarbeiter oder Dritter.

Die Definition des Dritten gibt leider nicht mehr her – bleibt nur die wörtliche Bedeutung, der zufolge Dritte solche Parteien sind, die üblicherweise nicht zu den klassischen zwei Parteien eines Vertrags gehört aber davon beeinflusst mit eigenen Rechten und Pflichten involviert sein kann. Streng genommen könnte das zu dem Schluss führen, dass alle, mit denen die verantwortliche Stelle ein direktes Vertragsverhältnis hat keine Dritten sein können – da in diesem Moment aber eigentlich die betroffene Person und die verantwortliche Stelle als Erste und Zweite gemeint sind, ist diese Argumentation vermutlich wenig stichhaltig.

Werfen wir noch einen tieferen Blick in den Art. 28 DSGVO: Nr. 3 legt die Inhalte des AV-Vertrags zwischen verantwortlicher Stelle und Auftragsverarbeiter fest – ggf. lässt der Inhalt ja Rückschlüsse auf die Beschaffenheit eines Auftragsverarbeiters zu. Und in der Tat wird u.a. festgelegt, dass im Vertrag neben Gegenstand und Dauer u.a. “Art und Zweck der Verarbeitung” festgelegt sein muss und dass der Auftragsverarbeiter an den Verantwortlichen “gebunden” sein muss.

Im Umkehrschluss bedeutet das ja immerhin, dass sich beide Vertragsparteien zu Beginn über die konkrete Art der Verarbeitung einig sein müssen. Man könnte an dieser Stelle ggf. eine Weisungsbefugnis des Verantwortlichen erkennen – in Zeiten, in denen große Konzerne einen AV-Vertrag einseitig zum Download anbieten (ob das legal ist, sei mal dahingestellt), fühlt sich diese Argumentation jedoch etwas dünn an.

Und nun?

Bleibt zuletzt also nur noch zu überlegen, was der Gesetzgeber gewollt haben könnte, als er die DSGVO geschaffen hat. Dem Grundcharakter des Gesetzes zufolge wollte man einerseits insbesondere Datenflüsse durch Unternehmen und über Unternehmensgrenzen hinweg transparent und nachvollziehbar gestalten und andererseits der betroffenen Person maximale Transparenz und Kontrolle über die Verwendung und Weitergabe seiner personenbezogenen Daten gewähren. Dazu gehören alle Arten der Datenschutzerklärungen, aber auch Verzeichnisse der Verarbeitungstätigkeiten und meines Erachtens nach eben auch AV-Verträge.

Man hat sich Daten offenbar ein wenig wie digitale Waren vorgestellt, die durch eine Produktion fließen, dabei ggf. mal von einen Zulieferer empfangen, bearbeitet und zurückgegeben werden und von denen man jederzeit sehen kann, wo sie sich gerade befinden. Und genauso, wie die Einhaltung interne Prozesse durch ein Verzeichnis der Verarbeitungstätigkeiten sichergestellt werden soll, zielen AV-Verträge darauf ab, das eigene Schutzniveau auch bei weiteren Firmen zu erhalten, die personenbezogenen Daten von Betroffenen verarbeiten, mit denen ich ein Vertragsverhältnis pflege.

Das hätte dann ungefähr folgende Kriterien zur Folge:

  • Der Auftragsverarbeiter muss Daten verarbeiten, für welche der Vertragspartner tatsächlich verantwortliche Stelle ist (das würde auf eine externe Lohnbuchhaltung zutreffen, jedoch nicht auf eine Agentur, die eine eigene Marktstudie durchführt).
  • Es muss ein Prozess der Datenverarbeitung existieren, den es abzusichern gilt (das wäre bei einer Datenvernichtung der Fall, nicht jedoch bei einem Detektiv, der im Auftrag arbeitet)
  • Die Verarbeitung muss regelmäßig nach demselben Muster laufen (sonst ließen sich nicht Art und Zweck der Verarbeitung im Voraus definieren – so zum Beispiel bei einm externen E-Mail-Anbieter, nicht jedoch bei einer Unternehmensberatung)
  • Man könnte mutmaßen, dass der Gesetzgeber im Sinn hatte, ein hohes Missbrauchspotential durch den Verarbeiter zu begrenzen, ein Vertrag also umso erforderlicher wird, je größer das Potential wird (das wäre z.B. bei großen Cloudanbietern der Fall, weniger jedoch bei externen Betriebsärzten, die ohnehin schon gesetzlich gebunden sind)

Diese Kriterien kollidieren sicherlich mit ein paar gängigen Interpretationen: Ein Mobilfunkprovider verarbeitet m.E. eine große Menge kritischer personenbezogener Daten (Bewegungsprofile, wer telefoniert mit wem, …) in regelmäßigen Prozessen – wenn es sich dabei um Mitarbeiterdaten der verantwortlichen Stelle handelt, wäre durchaus ein AV-Vertrag angebracht.

Ein IT-Systemhaus, das sich bei Fragen per VPN verbindet, kommt hingegen zwar mit personenbezogenen Daten in Kontakt, verarbeitet diese jedoch nicht regelmäßig nach denselben Prozessen. Hier wäre statt eines AV-Vertrags also eher ein NDA hilfreich.

Zusammenfassend könnte man also vorsichtig folgende Liste aufstellen:

  • Banken: kein AV-Vertrag notwendig, da eigene Kernleistung erbracht wird
  • Beratungsfirmen: kein AV-Vertrag notwendig, wenn keine regelmäßige Verarbeitung nach demselben Muster abläuft
  • Bonusprogramme: AV-Vertrag notwendig
  • CDN-Netzwerke (z.B. Cloudflare): AV-Vertrag nur dann notwendig, wenn Daten von Besuchern verarbeitet werden (z.B. Webshop), kein Vertrag bei rein statischer Website notwendig
  • Detektive: kein AV-Vertrag notwendig, da keine gleichmäßigen Prozesse
  • Druckereien: Vertrag nur notwendig, wenn regelmäßig nach denselben Mustern personenbezogene Daten verarbeitet werden (z.B. Visitenkarten)
  • externe Betriebsärzte: kein AV-Vertrag notwendig, da Berufsgeheimnisträger und idR. eigene Datenerhebung
  • externe Trainer: kein AV-Vertrag notwendig
  • externe Webentwickler: kein AV-Vertrag notwendig, wenn keine regelmäßige Verarbeitung nach demselben Muster abläuft
  • Hotels, Fluggesellschaften, Deutsche Bahn, Autovermietungen: AV-Vertrag nur notwendig, wenn Regelmäßigkeit vorliegt (z.B. direkter Vertrag mit Verrechnung, auf Basis dessen Mitarbeitende buchen können)
  • Inkassobüros: AV-Vertrag notwendig, da regelmäßige Prozesse durchlaufen werden
  • IT-Systemhäuser: AV-Vertrag nur notwendig, wenn regelmäßige Prozesse ausgeführt werden (z.B. Backups auf eigene Server), sonst NDA
  • Kanzleien: kein AV-Vertrag notwendig, wenn keine regelmäßige Verarbeitung nach demselben Muster abläuft
  • Mobilfunkprovider: AV-Vertrag notwendig
  • Newsletter-Dienste: AV-Vertrag notwendig, da regelmäßige Prozesse durchlaufen werden
  • SaaS-Provider: AV-Vertrag notwendig, wenn personenbezogene Daten verarbeitet werden
  • Sicherheitsdienste/Pförtner: kein AV-Vertrag notwendig, da keine Datenverarbeitung durchgeführt werden, ggf. Abschluss eines NDAs sinnvoll
  • Steuerberater: AV-Vertrag notwendig, wenn Lohnbuchhaltung durchgeführt wird; kein AV-Vertrag aber für Durchführung eines Jahresabschlusses
  • Strom- und Gas-Lieferanten: kein AV-Vertrag notwendig
  • Webhoster: AV-Vertrag nur dann notwendig, wenn Daten von Besuchern verarbeitet werden (z.B. Webshop), kein Vertrag bei rein statischer Website notwendig
  • Zahlungsdienstleister (z.B. Stripe): AV-Vertrag notwendig, da regelmäßige Prozesse durchlaufen werden
  • Zoom und andere externe Videodienste: AV-Vertrag notwendig, da regelmäßig Daten nach demselben Muster verarbeitet

Grundsätzlich gilt aber – wie hoffentlich deutlich geworden ist – dass die Materie insgesamt sehr schwammig ist und kaum klare Definitionen existieren. Diese Kategorisierung stellt daher den Versuch einer Differenzierung dar – wie so häufig unterliegt der Einzelfall dann im Streitfall aber immer noch der konkreten Auslegung. Über Anmerkungen und Kommentare würde ich mich natürlich wie immer sehr freuen!

TL;DR

Die meisten der üblichen Auslegungen zu AV-Verträgen passen irgendwie nicht so recht mit der Wirklichkeit zusammen. Die DSGVO macht insgesamt leider recht wenige klare Aussagen – es bleibt also nur die Frage, was der Gesetzgeber gewollt haben könnte. Das führt m.E. zu den folgenden Fragen, ob ein AV-Vertrag im Einzelfall notwendig ist:

  • verarbeitet der Auftragsverarbeiter Daten der verantwortlichen Stelle?
  • gibt es Seitens des Auftragsverarbeiters definierte Prozesse?
  • verläuft die Verarbeitung regelmäßig nach demselben Muster?
  • gibt es ein Missbrauchspotential seitens des Auftragsverarbeiters?

Falls diese Fragen mit Ja beantwortet werden können, ist ein AV-Vertrag meistens eine gute Wahl – bei Nein haben wir es vermutlich eher mit einen Dritten zu tun und mit der Frage, ob z.B. ein NDA eine gute Wahl wäre.

The post Wann brauche ich eigentlich einen AV-Vertrag? appeared first on Frachtwerk.

]]>
Wie Frachtwerk und DB Regio gemeinsam Zugausfälle reduzieren https://frachtwerk.fw-web.space/wie-frachtwerk-und-db-regio-gemeinsam-zugausfaelle-reduzieren-2/ Thu, 15 Jul 2021 19:59:00 +0000 https://frachtwerk.fw-web.space/?p=2569 Die steigende Anzahl an Zügen, die täglich deutschlandweit im Einsatz sind, stellt die DB Regio vor die Herausforderung, auch die Wartung der Fahrzeuge für einen störungsfreien Betrieb zu optimieren.

The post Wie Frachtwerk und DB Regio gemeinsam Zugausfälle reduzieren appeared first on Frachtwerk.

]]>
In unserem gemeinsamen Projekt mit der DB Regio galt es daher, anhand von SAP-Wartungsdaten herauszustellen, wie speziell Defekte an Türen und Klimaanlagen langfristig behoben werden können. Mit der Aufarbeitung und Auswertung von Wartungsdaten zu den Fahrzeugen gelang es uns, Zusammenhänge zu identifizieren, Lösungsstrategien zu entwickeln und Handlungsempfehlungen zu geben, um zusammen mit DB Regio Strategien für die Wartung von Türen und Klimaanlagen an den Fahrzeugen zu entwickeln. Damit soll dem Ausfall von Zügen aufgrund dieser Störungsmuster langfristig entgegengewirkt werden.

SAP-Wartungsdaten machen Problemfelder sichtbar

Zunächst wurden die Problemfelder identifiziert – das gemeinsame Projektteam aus Frachtwerk und DB Regio entschied sich hierzu für den Massenexport von SAP-Daten zu Fahrzeugstörungen. Anschließend folgte in einem ersten Schritt eine Datenbereinigung und -aufbereitung mittels Python. Um die über 4 Mio Datenpunkte auf die für dieses Projekt relevanten Tür- und Klimastörungen zu filtern, wurde eine Schadcodehierarchie genutzt. Diese ermöglichte eine grobe Selektierung der Daten. Um den Fokus auf tatsächlich projektrelevante defekte Türen und Klimaanlagen zu legen, holte Frachtwerk zusätzlich die Einschätzung von Wartungsexperten in den Werkstätten der DB Regio ein.

Zur anschließenden tieferen Bearbeitung und besseren Auswertung der Vielzahl an Schadcodes hat sich das Team dazu entschieden, die Daten auf Basis der Schadcodetexte zu clustern. Die Clusteranalyse hilft, den Fokus auf auffällige Fehlerbilder zu leiten. Als eine der ersten Erkenntnisse wurde sichtbar, wie unterschiedlich Fehlerbilder in verschiedenen Werkstätten sichtbar werden, obwohl dort dieselben Baureihen instandgehalten werden.

Workshops mit den Werkstätten für weiteren Erkenntnisgewinn

Auf den Ergebnissen der Datanalyse aufbauend konnte das Projektteam gezielte Maßnahmen empfehlen, mit denen DB Regio die Prozesse und Infrastrukturen der Instandhaltung von Fahrzeugen optimieren kann. Dies geschah im stetigen Austausch mit den Werkstätten, um sicherzugehen, dass die aus den Daten ersichtlichen Probleme auch tatsächlich den Herausforderungen entsprechen, welche die Werke erfahren und, ob es weitere Auffälligkeiten gibt, die in den Daten zum Status quo noch nicht gesichtet wurden. Im Gespräch gelang es außerdem, Gründe für das unterschiedliche Datenbild verschiedener Werke zu identifizieren, sowie Maßnahmen dafür zu formulieren, wie zukünftig eine einheitlichere Arbeit möglich ist.

Bei in einem Regio-Werk erfassten Klimaanlagenstörungen zeigten sich bis Ende 2019 saisonale Schwankungen – deutlich zu erkennen ist hier die Wirkung der veränderten Wartungsstrategie im Sommer 2020.
Bei den erfassten Türstörungen ergaben sich je nach Baureihe interessante Schadbilder, welche sich häufig durch Wetter, Anzahl der Fahrgäste oder Wartungsstrategien erklären ließen.

Frachtwerk erkannte bei der Auswertung der Daten eine steigende Tendenz der Türstörungen im Jahr 2018 und zwei Einbrüche in den Jahren 2019 und 2020. Dies konnte in Rücksprache mit den Werken auf die Arbeitsweise mit SAP, den Einfluss der Covid-19 Pandemie auf den Bahnverkehr sowie auf bestimmte Bauteile der Türen zurückgeführt werden.

Austausch zwischen den Werkstätten als primäre Handlungsempfehlung

Eine Maßnahme, die direkt im Anschluss an die Workshops angegangen werden konnte, war ein Best Practise Austausch unter den Werken, in denen gleiche Baureihen instand gehalten werden. Im laufenden Prozess werden auch weiterhin Maßnahmen zu einer effizienteren Infrastruktur zur Fahrzeuginstandhaltung generiert und empfohlen. Ebenso wird die Umsetzung dieser Empfehlungen beobachtet und die identifizierten Maßnahmen skaliert.

Das Ziel: Eine immer bessere Prognose und effizientere Wartung von Defekten

Das Ziel der Zusammenarbeit von Frachtwerk mit der DB Regio ist es, in Zukunft noch besser prognostizieren zu können, welches Problem bei welchem Fehlerbild vorliegt. Zusammen mit entsprechender Vorbereitung und dem Bereitstellen der richtigen Ersatzteile Tür- und Klimaanlagenschäden sollen Wartungsfenster reduziert und Ausfällen im Bahnverkehr nachhaltig entgegengewirkt werden.

The post Wie Frachtwerk und DB Regio gemeinsam Zugausfälle reduzieren appeared first on Frachtwerk.

]]>
Frachtwerk vermittelt IT-Nachwuchskräften, wie sich ökonomische Ziele mit ethischen & ökologischen Prinzipien verbinden lassen https://frachtwerk.fw-web.space/frachtwerk-vermittelt-it-nachwuchskraeften-wie-sich-oekonomische-ziele-mit-ethischen-oekologischen-prinzipien-verbinden-lassen/ Thu, 01 Jul 2021 19:57:00 +0000 https://frachtwerk.fw-web.space/?p=2566 Frachtwerk engagiert sich für die Ausbildung neuer IT-Fachkräfte und hält Vorlesungen an Universitäten und Hochschulen und betreut Masterarbeiten. Es ist dem Team dabei ein besonderes Anliegen, zusätzlich zur Vermittlung von fachlichem Know-How anhand von Praxisbeispielen aufzuzeigen, wie sich ökonomische Ziele mit ethischen und ökologischen Grundwerten vereinbaren lassen.

The post Frachtwerk vermittelt IT-Nachwuchskräften, wie sich ökonomische Ziele mit ethischen & ökologischen Prinzipien verbinden lassen appeared first on Frachtwerk.

]]>
“Auch ein IT-ler hat eine ethische Verantwortung”

Das Frachtwerk-Team teilt gerne seine theoretische Expertise und seine praktische Projekterfahrung mit der Generation von morgen. Am Karlsruher Institut für Technologie (KIT) lehrten unsere IT-Berater Friedrich Ellmer und Paul Knoetgen zum Thema Data Analytics.

Ebenso übernahm unser Kollege Mathias Renner eine Vorlesung zu Big Data und Cloud-Native Plattformen an der Hochschule für Technik und Wirtschaft Berlin (HTW Berlin), wie auch zu Projektmanagement an der Fachhochschule für öffentliche Verwaltung, Polizei und Rechtspflege in Güstrow (FHÖVPR). Außerhalb der Vorlesungen haben wir zudem eine Masterarbeit betreut, die sich mit modularen Datenanalyse-Pipelines von Sensordaten beschäftigte.

Neben der Vermittlung von Wissen und Know-How ist es Frachtwerk dabei besonders wichtig, auf Kontextthemen im Bereich der Ethik und Nachhaltigkeit aufmerksam machen. Denn Technologie ist ein Werkzeug, so wie der Hammer für den Handwerker. Werkzeuge können für “Gutes” wie “Schlechtes” eingesetzt werden. Die Studierenden werden spätestens im Beruf jeden Tag aufs Neue damit konfrontiert werden, für welche Zwecke sie Technologie einsetzen.

Damit trägt jeder IT-ler eine Verantwortung, die aufgrund der zunehmenden Digitalisierung aller gesellschaftlichen Bereiche täglich steigt. Um dieser nächsten Generation das Bewusstsein für diese Verantwortung mitzugeben, lehrt Frachtwerk zusätzlich zu den fachlichen Grundlagen, wie man europäische Grundwerte im technologisch-ethischen Kontext verstehen kann.

Vorlesung zu Big Data verbindet große Möglichkeiten mit großer Verantwortung

Die Vorlesung zu Big Data, die Mathias Renner vor Masterstudierenden der Wirtschaftsinformatik hält, umfasst daher neben ökonomischen Kontexten auch die Themen “Big Data Ethics & Ecology”.

“Auch als IT-ler hat man eine ethische Verantwortung – und das wollen wir der nachwachsenden Generation so früh wie möglich mit auf den Weg geben.”
– Mathias Renner, Dozent und IT-Architekt bei Frachtwerk

Er diskutiert mit den Studierenden die Vor- und Nachteile von Open Source. Er geht auf das Risiko von Diskriminierung bei automatisierter Entscheidungsfindung von Algorithmen ein. Bei dem Thema “Privatsphäre und Tracking” wird diskutiert, wie die zunehmenden Aufzeichnungsmöglichkeiten, z. B. mit Mikrofon und Kameras im Kontext von Ubiquitärem Computing (Ubiquitous Computing / Pervasive Computing), in unsere Privatsphäre eingreifen und wie das mit der persönlichen Selbstbestimmung aus dem Grundgesetz vereinbar ist.

Darüber hinaus betont die Vorlesung, dass die Informations- und Kommunikationstechnologie einen zunehmend relevanten Anteil des globalen Energieverbrauchs ausmacht und zeigt Strategien auf, mit welchen dieser Verbrauch effektiv gesenkt und Ressourcen eingespart werden können, ohne dass der Erfolg eines IT-Projekts darunter leidet. Dabei bezieht sich Mathias Renner stets auf Beispiele aus der Praxis, indem er seine Projekterfahrungen mit einbringt.

Auch in den Hausarbeiten der Vorlesung über Konzeptarbeiten und Programmier-Aufgaben werden sowohl ökonomische als auch ökologische und ethische Fragestellungen diskutiert.

Im Fokus der betreuten Masterarbeit steht ebenfalls ein Thema im Bereich der nachhaltigen IT: Die Arbeit stellt heraus, wie mit modernen Tools Ressourcen gespart werden können – sowohl durch den bedarfsgerechten Einsatz von Technologie, als auch durch die zielgerichtete Anwendung der Technologie, nämlich um Gießwasser für Landschaftsgärten einzusparen.

Wissensvermittlung mit kritischer Haltungsweise und Praxisnähe

Ziel ist es, neben der Vermittlung von technischem Know-How, die kritische Haltungsweise der Studierenden zu schärfen und ihnen verantwortungsvolles Handeln nahezulegen. Dabei beobachtet das Frachtwerk-Team, dass das Interesse der Studierenden an ökologischen und ethischen Fragestellungen in den letzten Jahres gestiegen ist und sie zunehmend eine reflektiert kritische Perspektive einnehmen.

Ergänzend sollen Einblicke in Kundenprojekte bei Frachtwerk veranschaulichen, dass verantwortungsvoller Umgang mit IT und Technik nicht nur in der Theorie existiert, sondern auch in der Praxis funktioniert.

The post Frachtwerk vermittelt IT-Nachwuchskräften, wie sich ökonomische Ziele mit ethischen & ökologischen Prinzipien verbinden lassen appeared first on Frachtwerk.

]]>
Bitkom veröffentlicht Leitfaden zur ressourcenschonenden Softwareentwicklung https://frachtwerk.fw-web.space/bitkom-veroeffentlicht-leitfaden-zur-ressourcenschonenden-softwareentwicklung/ Thu, 22 Apr 2021 16:48:00 +0000 https://frachtwerk.fw-web.space/?p=2547 Mathias Renner, IT-Consultant, IT-Architekt und Product Owner bei Frachtwerk und Experte für cloud-native Daten-Plattformen mit Open Source, hat an einem Leitfaden des Digitalverbandes Bitkom mitgewirkt, der aufzeigt, wie Software ressourcenschonend programmiert, entwickelt und betrieben werden kann.

The post Bitkom veröffentlicht Leitfaden zur ressourcenschonenden Softwareentwicklung appeared first on Frachtwerk.

]]>
Die Entwicklung von Software ist für einen zunehmenden CO2-Ausstoß und so für den voranschreitenden Klimawandel mit verantwortlich. Der Leitfaden „Ressourceneffiziente Programmierung“ des Digitalverbandes Bitkom beschreibt, wie Entwicklerteams Umweltressourcen sparen können.

Er zeigt auf, wie der Eneergieverbrauch bei der Softwareentwicklung beispielsweise durch die Wahl von Programmiersprache und von Datenformaten Einfluss hat auf die Laufzeit von Berechnungen und den Speicherverbrauch. Er legt außerdem nahe, wie mehr Transparenz für Anwender*innen, etwa durch eine Energieverbrauchskennzeichnung, Aufmerksamkeit schafft und die Nutzer einer Software dazu motiviert, nicht benötigte Features abzuschalten.

Der Leitfaden und ein zusammenfassendes Cheat Sheet zur ressourceneffizienten Programmierung gibt einen konkreten Überblick darüber, wie über den gesamten Lebenszyklus einer Software Umweltressourcen eingespart werden können. Der Beitrag dient als aktive Hilfestellung, um verantwortlichen Personen den Einstieg in die ressourcenschonende Softwareentwicklung zu erleichtern und thematisiert zudem die Möglichkeit einer Zertifizierung mit dem Blauen Engel.

Der Blaue Engel ist eine Kennzeichnung des Bundesministerium für Umwelt, Naturschutz und nukleare Sicherheit und des Umweltbundesamtes für Softwareproduckte, die einen sparsamen Energieverbrauch aufweisen. Der Leitfaden des Bitkom informiert ausführlich über die Vergabekriterien und Bedeutung und Wirkung dieser Zertifizierung.

Wir müssen ökologischen Prinzipien folgen – auch im technologischen Kontext

Mathias Renner teilt seine Expertise zusätzlich auch als Dozent an der Hochschule für Technik und Wirtschaft (HTW) Berlin. Dabei legt er den Studierenden im Master Wirtschaftsinformatik nahe: “Sämtliche Zahlen signalisieren eine bevorstehende Klimakrise, die die menschliche Existenz bedroht. Um ihr entgegenzuwirken, müssen wir jeden Tag jeden Schritt unseres Handelns neu überdenken.

Das Verständnis und die Anwendung ökologischer und ethischer Prinzipien im technologischen Kontext sind entscheidend für den Erfolg der notwendigen, sogenannten sozial-ökologischen Transformation. Also informiert Euch und handelt danach!” Er fügt hinzu: “… und vergesst nicht die oft unterschätzte Value-action Gap ;-)”.

The post Bitkom veröffentlicht Leitfaden zur ressourcenschonenden Softwareentwicklung appeared first on Frachtwerk.

]]>
Wie unser Kunde einen Überblick über seine Bildungsausgaben bekommen hat https://frachtwerk.fw-web.space/wie-unser-kunde-einen-ueberblick-ueber-seine-bildungsausgaben-bekommen-hat/ Thu, 04 Mar 2021 16:42:00 +0000 https://frachtwerk.fw-web.space/?p=2532 Situation vor ProjektstartEtwa 77 Prozent der deutschen Unternehmen bieten Bildungsangebote für ihre Mitarbeitenden an. Gerade große Firmen investieren hier überdurchschnittlich viel. So auch eines der führenden deutschen Fernverkehrsunternehmen, mit einem hohen zweistelligen Millionenbetrag. Die Koordination der Planung des Budgets in dieser Höhe ist eine wichtige Aufgabe, die Überblick verlangt – und doch bisher dezentral und […]

The post Wie unser Kunde einen Überblick über seine Bildungsausgaben bekommen hat appeared first on Frachtwerk.

]]>
Situation vor Projektstart
Etwa 77 Prozent der deutschen Unternehmen bieten Bildungsangebote für ihre Mitarbeitenden an. Gerade große Firmen investieren hier überdurchschnittlich viel. So auch eines der führenden deutschen Fernverkehrsunternehmen, mit einem hohen zweistelligen Millionenbetrag. Die Koordination der Planung des Budgets in dieser Höhe ist eine wichtige Aufgabe, die Überblick verlangt – und doch bisher dezentral und operativ gehandhabt wurde, wodurch wesentliche Effizienzhebel verloren gingen. So wurde die Jahresplanung der Bildungskosten selten auf Basis aktueller Zahlen angepasst, wodurch zum Jahresende entweder gespart werden musste oder große Ausgaben getätigt wurden, um das verfügbare Budget auszuschöpfen. Um diesem Verhalten entgegenzusteuern, wurde ein Projekt mit dem Ziel begründet, die Transparenz der unternehmensweiten Bildungskosten zu verbessern, die Auswertungen zu automatisieren und die Belastung und Ausgaben der Fachbereiche durch Maßnahmen für Qualifizierungen besser zu planen. Die Frachtwerk GmbH durfte hier beratend tätig werden.

Ziel & Umfang des Projekts

Das Ziel, die Planung der Bildungsmaßnahmen zu optimieren, sollte im Rahmen dieses Projektes vor allem durch Transparenz erreicht werden. Dazu sollte ein Dashboard implementiert werden, das Auskunft über den Bereich der Bildungskosten gibt. Dabei sollten die Kosten nach Sach-, Ausfall- und Trainerkosten aufgeschlüsselt werden. Außerdem sollte die Möglichkeit gegeben werden, die geplanten Ausgaben zu visualisieren und diese mit den tatsächlichen Ausgaben zu vergleichen. In Summe sollten monatlich ca. 5,2 Mio. Datenpunkte aus den diversen Quellen und Konzernsystemen eingelesen und visualisiert werden.

Umsetzung durch Frachtwerk

Um die gesetzten Ziele zu erfüllen, wurde ein zentrales Datawarehouse aufgebaut, das regelmäßig mit Hilfe von automatisierten ETL-Prozessen aktualisiert werden sollte. Auf Basis des Datawarehouse werden die Daten für ein Tableau-Dashboard aufbereitet. Für die Umsetzung eines solchen Dashboards wurde die Entwicklung in zwei Strängen vorangetrieben.

Einerseits durch die fachliche und inhaltliche Ausgestaltung, die ein vierstufiges Modell bestehend aus Anforderungsanalyse, Entwicklung eines Datenmodells, Klärung der Datenherkunft und Definition der Visualisierungsformen vorsieht.

Andererseits durch die technische Ausgestaltung mit der Frage, welche Plattform dieses Projekt bestmöglich unterstützen kann und wie die erforderlichen Prozesse implementiert werden können. Unterschieden wurde hier in der Ausgestaltung der Datenhaltung und der Anzeige der Daten.

Die Herausforderungen der Bildungsplanung wurden in einem Vorprojekt analysiert und mögliche Effizienzhebel definiert. Anschließend wurden zu Beginn dieses Projektes die Anforderungen der Stakeholder und Enduser an eine Analyseplattform beziehungsweise eine Visualisierungslösung in mehreren Workshops erarbeitet. Aufgrund der Corona-Pandemie wurden diese Workshops online mit Unterstützung von Microsoft Teams und Miro Boards durchgeführt. Anschließend wurden diese Anforderungen in wöchentlichen Meetings harmonisiert und priorisiert.

Für das Anbinden der dazu benötigten Daten mussten im Unternehmen verschiedene dezentrale und heterogene Quellsysteme identifiziert und integriert werden. Die Systemvielfalt erstreckte sich von einfachen über komplexe Excel-Dateien mit 120 Blättern, sowie lokalen und webbetriebenen SQL-Datenbanken bis hin zu SAP-Systemen. Eine zusätzliche Hürde war neben den unterschiedlichen Prozessen zum Einlesen der verschiedenen Quellen auch das Definieren von einer einheitlichen Granularität über alle Datenquellen, sowie das Harmonisieren der Daten zu einem holistischen Datenschema.

Das Datenschema sollte letztlich den Bedürfnissen aller Stakeholder gerecht werden: Somit durften informationsintensive Datenquellen in ihrer Detailtiefe nicht stark beschnitten werden, mussten aber gleichzeitig zu den Daten passen, die in geringer Detaillierung vorlagen. Ein Datenschema mit einer hierarchischen Struktur ermöglichte es, einen zufriedenstellenden Kompromiss für alle Stakeholder zu erreichen.

Für die technische Umsetzung des Datawarehouse wurde eine Oracle Database eingesetzt und die Daten als OLAP-Würfel strukturiert. Bei OLAP handelt es sich um eine mehrdimensionale Anordnung der Daten. Dies bietet die Möglichkeit, die Daten bei der Auswertung anhand der gewählten Dimensionen zu aggregieren und zu filtern.

Weiterhin besteht z.B. die Möglichkeit eines Drill-Downs innerhalb einer Dimension. Diese Optionen sind nur gegeben, wenn die zu analysierenden Daten in der jeweils kleinsten Granularität in jeder Dimension vorliegen. Das stellt gleichzeitig den größten Benefit, sowie die größte Herausforderung von OLAP dar.

Um das Datenschema im Datawarehouse abzubilden, mussten ETL-Prozesse (Extract, Transform, Load) erarbeitet und definiert werden. Damit Fehler in einzelnen Datenquellen oder Prozessschritten identifiziert und behoben werden konnten, wurde ein dreischichtiges Datawarehouse aufgebaut. In der ersten Schicht wurden die Daten entspechend dem Quellsystem geladen. So konnten beispielsweise fehlende oder fehlerhafte Einträge identifiziert werden.

Der Schritt zur nächsten Schicht war sehr komplex. Hier wurden die Daten in das Zielschema übersetzt. Konkret bedeutet dies, unterschiedliche Quellen zusammenzuführen, Daten zu übersetzen und an die gewählte Granularität anzupassen. Darüber hinaus wurden in diesem Schritt die Beziehungen zwischen den Daten hergestellt. Die letzte Schicht stellt die Daten zur Auswertung bereit und setzt sich aus einer Faktentabelle und allen Dimensionstabellen zusammen. Da teilweise hierarchische Dimensionen definiert wurden, wurde ein sogenanntes Snowflake-Schema gewählt.

Für das Front-End, die Anzeige der Daten, wurde sich im zusammengelegten Projektteam für die Nutzung von Tableau entschieden. Tableau bietet den Nutzern umfangreiche und gleichzeitig intuitive Analysemöglichkeiten zur Auswertung der Daten und eignet sich somit hervorragend für eine große Anzahl an Mitarbeitern, sowohl mit als auch ohne Vorkenntnisse in der Datenanalyse. Neben der reinen Bereitstellung von Analysewerkzeugen bietet Tableau ebenfalls die Möglichkeit, Dashboards in Webseiten einzubinden und so weitere Funktionalitäten, wie zum Beispiel eine Benachrichtigungsfunktion, über besondere Kennzahlen zu realisieren.

Das Zusammenspiel der unterschiedlichen Prozesse und Technologien im Hinter- und Vordergrund ermöglicht es unserem Kunden letztlich, die Transparenz im Bereich der Bildungsmaßnahmen zu schaffen. Das im Unternehmen zentral angesiedelte Dashboard legt somit den Grundstein, um das Ziel, die Bildungsmaßenplanung unterjährig und zielgerecht zu steuern und somit Mitarbeitende besser zu schulen sowie gleichzeitig durch optimierte Planungen Kosten (durch bspw. Stornierungen) einzusparen, zu erreichen.

Insgesamt hat die Frachtwerk das Projekt über 8 Monate im Jahr 2020 mit mehreren Mitarbeitenden begleitet und mit weiteren externen Unternehmen im Projektteam zusammengearbeitet.

Herausforderungen

Die Herausforderungen in diesem Projekt waren vielfältig, lassen sich aber im Wesentlichen in die folgenden vier Bereiche gruppieren:

  • Innerhalb des Projektes selbst bestand die Herausforderung darin, die Anforderungen der Stakeholder aus unterschiedlichen Fachbereichen zu managen, zu harmonisieren und Lösungen für auftretende Konflikte zu finden.
  • Die Vielzahl der heterogenen Datenquellen haben die Komplexität der Datenmodellierung und der ETL-Prozesse stark erhöht. Die Heterogenität resultierte vor allem durch unterschiedliche Granularitäten und stark abweichende Formate ohne schriftliche Dokumentation von Seiten der Fachbereiche.
  • Weiterhin wurde das Projekt innerhalb der Laufzeit mit einem anderen Projekt des Kunden zusammengelegt. Ziel hierbei war es, Synergien zu nutzen und eine konstante Betriebsführung für das Dashboards über das Jahr 2020 hinaus zu sichern. Die Hinzunahme des weiteren Projektes erzielte den positiven Effekt, dass die benötigte technische Infraktruktur schneller bereitgestellt wurde. Ein Nachteil war jedoch, dass die Datenmodelle ineinander verwoben werden mussten und sich die Anzahl der konfliktären Anforderungen erhöhte.
  • Das Projekt wurde auch durch die äußeren Umstände der Corona-Pandemie beeinflusst. Aus diesem Grund wurde das Projekt von der Frachtwerk, bis auf wenige persönliche Treffen, ausschließlich digital umgesetzt. Für eine reibungslose virtuelle Zusammenarbeit war es notwendig, dem gesamten (internen und externen) Projektteam die richtigen Tools und die notwendige Hardware verfügbar zu machen.

Eingesetzte Technologien

Oracle Database Server, Oracle Data Integrator, Tableau, AWS

The post Wie unser Kunde einen Überblick über seine Bildungsausgaben bekommen hat appeared first on Frachtwerk.

]]>
Reinforcement Learning, Neuronale Netze und Co. – Was steckt dahinter? https://frachtwerk.fw-web.space/reinforcement-learning-neuronale-netze-und-co-was-steckt-dahinter/ Thu, 18 Feb 2021 16:27:00 +0000 https://frachtwerk.fw-web.space/?p=2528 In unserem Alltag sind wir umgeben von Maschinen. Die meisten Anwendungen darauf, etwa auf PCs oder Smartphones, sind deterministisch programmiert. Mindestens ein Entwickler hat die Nutzeranwendung auf Basis unzähliger Befehlsfolgen erzeugt. Zwar ist der Fortschritt in der Geräteentwicklung rasant, von selbständigen Systemen kann jedoch kaum die Rede sein. Sie basieren auf menschlicher Intelligenz.

The post Reinforcement Learning, Neuronale Netze und Co. – Was steckt dahinter? appeared first on Frachtwerk.

]]>
Was ist maschinelles Lernen?

Angenommen, man würde diese menschliche Intelligenz nachbilden und Maschinen mit eigenen, auf Basis der Umwelt adaptiven Entscheidungssystemen ausstatten. Sind diese Instanzen dazu fähig, selbstständig Erkenntnisse zu sammeln und auf Basis dieser zu lernen? Tatsächlich gibt es zwei grobe Ansätze in der Forschung, die sich an der Lösung der Aufgabe “Maschinelles Lernen” versuchen.

  • Unsupervised Learning:
    Ein Algorithmus erhält dabei eine Menge an Eingaben und deren Attribute. Ziel ist es, dass die Zusammenhänge und Kategorien der Eingaben erkannt und dadurch Vorhersagen ermöglicht werden. Die Besonderheit ist, dass dem Algorithmus davor nicht mitgeteilt wird, um welche Art von Kategorien es sich handelt. Es werden selbstständige Klassifikatoren erzeugt, nach denen die Eingaben eingeteilt werden. Angenommen, der Learner erält einen Datensatz an Tieren. Die Tiere können beispielsweise Schlangen oder Hunde sein, diese Information wird dem Learner jedoch vorenthalten. Nur anhand von Attributwerten wie “Fell” oder “Körpergröße” kann der Algorithmus eigene Klassen erzeugen.
  • Supervised Learning:
    Im Gegensatz dazu bekommt ein überwachter Learner Eingaben, die bereits korrekt klassifiziert sind. Auf Basis dieser soll er Unterschiede festmachen und neue künftige Eingaben mittels des Modelles klassifizieren und Assoziationen herstellen. Während des Lernens wird der Algorithmus überwacht und erhält kontinuierlich Rückmeldung mit konkretem Feedback. Ein Anwendungsgebiet des überwachten Lernens ist die automatische Klassifizierung wie zum Beispiel die Nummernschilderkennung an Mautstationen.

Doch genügen diese Ansätze unserem Wunsch nach maschineller Autonomität?

Eine Unterkategorie des Supervised Learnings sticht durch ihr scheinbar menschliches Lernverhalten besonders hervor – das Reinforcement Learning. Hierbei sucht der Algorithmus nach einer Entscheidungsfunktion, wie er in potenziell auftretenden Situationen bestmöglich agieren kann. Das Lernen erfolgt dabei durch Belohnung und Bestrafung auf Basis der Analyse seiner aktuellen Situation. Der Entwickler manipuliert dabei nicht den Agenten und dessen Logik – er erhält also nicht ständig konkrete Rückmeldung -, sondern nur dessen Umwelt und damit seine Lerngrundlage.

Als ein simples Beispiel ist hier das Verhältnis von Mutter zu Kind zu nennen. Das Kind probiert neue Dinge aus, sein Elternteil reagiert darauf und bestärkt es oder rät von verschiedenen Verhaltensmustern ab. Im übertragenen Sinne ist das Kind als der experimentelle Teil des Algorithmus zu verstehen – die Mutter wiederum wird über eine mathematische Belohnungsfunktion realisiert.

Gute Aktionen bekommen hohe Ergebniswerte zurückgegeben. Um ähnlich wie ein Mensch zu funktionieren, muss der Algorithmus neben der Belohnungsfunktion auch eine Art Gehirn mit Gedächtnis besitzen. Dies wird über sogenannte neuronale Netze realisiert. Diese Netze sind nichts anderes als hochdimensionale Matrizenfunktionen. Jede Aktion, die der Agent auswählt, wird durch ein oder mehrere derartige Netze “geschossen”.

Das Netz passt sich abhängig von der resultierenden Belohnung an das neu gesehene an. War die Aktion ohne besonderen Erfolg, so werden die Gewichte des Netzes beziehungsweise das Gedächtnis so angepasst, dass die Aktion künftig mit geringer Wahrscheinlichkeit gewählt wird. Genau umgekehrt funktioniert dies auch für Aktionen mit hohem Belohnungswert.

Reinforcement Learning in Unternehmen

Auch als Unternehmen kann der Einsatz von Reinforcement Learning einen großen Mehrwert generieren, zum Beispiel in folgenden Bereichen:

  • Spieleindustrie:
    Wer bereits über Reinforcement Learning gelesen hat, wird mit hoher Wahrscheinlichkeit auch von AlphaGo und AlphaZero von DeepMind (Teil von Google) gehört haben. Es handelt sich hierbei um autodidaktische Computerprogramme, deren Algorithmen mehrere komplexe Brettspiele einzig anhand der Spielregeln und Siegbedingungen sowie durch intensives Spielen gegen sich selbst erlernen. Gerade im Computerspielesektor führt dies nach dem vermeintlich erhofften Erfolg von Virtual Reality zu einem neuen Hype. Spiele beinhalten künftig KIs für Amateure und Profis, die durch Reinforcement Learning trainiert sind.
  • Robotik:
    Wenn Maschinen den Menschen bei der Fließbandarbeit ersetzen, handelt es sich häufig um identische Arbeitsschritte, die sequentiell abgearbeitet werden. Der Roboter kann simpel und mit dem exakt gewünschten Ablauf programmiert werden. Wenn sich jedoch das gegebene Umfeld für den Roboter verändert, muss die Produktion oftmals gestoppt und manuell von Menschenhand eingegriffen werden. Durch Reinforcement Learning könnte diese Eingriffsrate künftig minimiert werden. Soll der Roboter beispielsweise ein Objekt aufnehmen, das nicht immer an derselben Stelle liegt, kann er durch seine gesammelten Erfahrungen darauf reagieren und den Suchraum anpassen.
  • Ableitung für alle Branchen:
    Reinforcement besticht vor allem durch eins – die trainierten Algorithmen entwickeln ihre eigenen Handlungstaktiken und agieren für den Menschen häufig unvorhersehbar. Gerade diesen Überraschungseffekt kann man sich zunutze machen, wenn man ein entwickeltes System auf “Alltagstauglichkeit” prüfen möchte. Der Reinforcement Learner stellt das System sehr objektiv und allumfassend auf die Probe. Sogar in Szenarien, auf die viele Menschen nicht selbst gekommen wären.

The post Reinforcement Learning, Neuronale Netze und Co. – Was steckt dahinter? appeared first on Frachtwerk.

]]>
Simulation als wertvolles Tool im Risikomanagement https://frachtwerk.fw-web.space/simulation-als-wertvolles-tool-im-risikomanagement/ Thu, 04 Feb 2021 16:17:00 +0000 https://frachtwerk.fw-web.space/?p=2523 Seit über einem Jahr begleitet und verändert die Covid-19-Pandemie unseren Alltag. Weltweit drehen sich die Gedanken um passende Masken, den nötigen Abstand und Kontaktreduktionen sowie Schulschließungen oder auch Ausgangssperren. Mit immer neuen Maßnahmen versucht die politische Landschaft das Virus und seine Mutationen möglichst wirksam zu bekämpfen. Mit jeder weiteren Diskussion wächst die Frage: “Wie wirksam sind diese Maßnahmen denn nun wirklich?”
Eine Möglichkeit diese Frage zu beantworten, wird seit Beginn der Pandemie zur Beurteilung der Effektivität genutzt – der Einsatz von Simulationssoftware.

The post Simulation als wertvolles Tool im Risikomanagement appeared first on Frachtwerk.

]]>
Was ist Simulation?

Viele Sachverhalte der realen Welt, wie beispielsweise die Auswirkungen eines Anlagenbaus oder das Infektionsgeschehen bei ansteckenden Krankheiten sind häufig durch sehr komplexe, holistische Berechnungen vorherzusagen. Diese erfordern jedoch enorme Rechen- und Speicherkapazitäten. Um Ressourcen, Zeit und Kosten zu sparen hilft es, Probleme durch eine Simulation zu analysieren.

Eine Simulation arbeitet iterativ und erzeugt durch eine Vielzahl an Durchläufen eine virtuelle Realität, in welcher verschiedene Szenarien und eine sehr große Anzahl von Fällen – beziehungsweise “Was-wäre-wenn”-Szenarien – durchgespielt werden können. Interaktionen zur Laufzeit der Simulation sind möglich.

Das alles macht die Simulation zu einem mächtigen Analysewerkzeug, um verschiedene Szenarien risikofrei zu erproben und das erfolgversprechendste der gut durchdachten Szenarien in die reale Welt zu übertragen.

Anwendungsbeispiele von Simulationen im Alltag

Eine Simulation kann in verschiedenen Bereichen eingesetzt werden. Aktuell auch zur Analyse der Verbreitung von Infektionskrankheiten und der Effektivität von Eindämmungsmaßnahmen. Die Einsatzmöglichkeiten der Software erstrecken sich aber auch über ganz andere Bereiche wie beispielsweise der Bau von Infrastruktur oder im Kontext Logistik:

  • Prognose von Coronainfektionen
    Simulationen werden aktuell zur Prognose von Corona Infektionen eingesetzt. Ziel ist es hierbei verschiedene Abläufe durchzuspielen und Erkenntnisse zu gewinnen. Zum Beispiel darüber, Wie sich das Infektionsgeschehen mit oder ohne Beschränkungen für die Bevölkerung entwickelt. Die Simulation ermöglicht ebenfalls eine Vorhersage über die Wirksamkeit der jeweiligen Restriktionen.
    Link zur TU Berlin zu weiteren Informationen: https://covid-sim.info/
  • Bau von Infrastruktur
    Häufig sind Simulationen auch in der Planung von einschneidenden Infrastrukturprojekten anzutreffen, Infrastrukturbauwerke haben meist eine lange Lebenszeit, Fehlplanungen oder falsche Annahmen bei derartigen Projekten erzeugen hier oftmals einen enormen Mehraufwand an Geld und Zeit. Ein Beispiel hierfür ist der Ausbau des Schienenverkehrs weltweit. Bei einer Taktverdichtung auf einer Strecke stellt sich die Frage, ob der bisherige Bahnübergang behalten werden kann oder möglicherweise durch eine Brücke ersetzt werden muss, da es sonst zu großem Rückstau im Straßenverkehr kommen kann. Simulationen bieten in diesem Einsatzfeld die Möglichkeit, bereits vor Baubeginn die Planungen und getroffenen Annahmen zu überprüfen und somit einen reibungslosen Projektablauf in der Bauphase sicherzustellen.
  • Optimierte Logistikketten
    Der Bereich der Logistik ist geprägt von langen, zusammenhängenden Lieferketten, in welchen häufig verschiedene Unternehmen oder Abteilungen aus unterschiedlichen Branchen zusammenarbeiten, um die Versorgung mit Gütern sicherzustellen. Simulationen können in diesem Bereich zur Überprüfung der Robustheit von Lieferketten eingesetzt werden. Dazu können innerhalb einer Simulation verschiedene Störereignisse betrachtet, und die Auswirkungen auf die Lieferkette ausgewertet werden. Daraus lassen sich anschließend Ansatzpunkte zur Optimierung ableiten, sodass Lieferketten robuster gestaltet werden können.

The post Simulation als wertvolles Tool im Risikomanagement appeared first on Frachtwerk.

]]>
Modern, reactive web APIs with GraphQL, Go and Server-Sent Events – Part 2 https://frachtwerk.fw-web.space/modern-reactive-web-apis-with-graphql-go-and-server-sent-events-part-2/ Tue, 02 Feb 2021 19:33:00 +0000 https://frachtwerk.fw-web.space/?p=2495 Originally published at muetsch.io on Jun 06, 2020

The post Modern, reactive web APIs with GraphQL, Go and Server-Sent Events – Part 2 appeared first on Frachtwerk.

]]>
In the previous part, concepts and benefits of GraphQL and GraphQL Subscriptions were presented and proposed as a modern, highly flexible alternative for designing web APIs.

In this post, we are going to look at actual code. For demonstration purposes, a small single-page application (SPA) is built as an example. It can serve as a cleanly structured starting point for new apps based on the proposed tech stack.

Codemuety/go-graphql-sse-example

What to build?

The demo web app built in the context of this article comprised of a client-side frontend, built with VueJS and a server-side component built with Go. The two components interact with each other through a GraphQL API, which additionally offers the option to subscribe to data updates using Server-Sent Events.
With this demo app, we aim to mimic the functionality of a very basic, minimalist food ordering system. Customers can choose from a list of food products and place their orders. They are shown a waiting number an estimated processing time for their orders and are notified once the order is ready to be picked up. One the other side there is the kiosk operator, who views a live dashboard of currently pending orders, which appear just as they are being placed.

Technology Stack

In summary, the following technologies are used:

  • Go as the primary backend-side language
  • GraphQL as a “protocol” for defining web interfaces
  • Server-Sent Events as a simple protocol for live updates, used as an implementation of GraphQL Subscriptions here
  • MongoDB as a flexible document database for storage
  • VueJS as a frontend framework to build single-page web applications

In addition, graphql-request is used as a little helper library on the frontend to issue GraphQL queries more easily. It constitutes a light-weight wrapper around the plain Fetch API.

On the backend side, GraphQL development is facilitated by the excellent graphql-go package, which already provides well-defined guidelines to get started (thanks to the authors!).

Data Model

With GraphQL, you need to specify a schema using a GrapQL-specific syntax. It includes all entities, which your API should be able to deal with and is essentially a set of type definitions, split among one or more .graphql files.

Every GraphQL app consists of root types, defining all supported queries, mutations, and subscriptions as well as entity types.

For our app, the root schema looks like this (schema/schema.graphql):

schema {
    query: Query
    mutation: Mutation
    subscription: Subscription
}

type Query {
    product(id: ID!): Product
    products(): [Product]
    order(id: ID!): Order
    orders(status: String): [Order]
}

type Mutation {
    createOrder(order: OrderInput!): Order
    updateOrder(order: OrderUpdateInput!): Order
}

type Subscription {
    orderCreated(): Order
    orderChanged(id: ID!): Order
}

The type definition for the Product type referenced in the root schema is given as (schema/type/product.graphql):

type Product {
    id: ID!
    name: String
    description: String
    price: Float
}

The entire schema can be found in the GitHub repository.
After having defined your schema, in the case of graphql-go, it gets transformed into Go code, so it can be compiled into the final Go executable. It can then be loaded on application startup (see server.go) and served via an HTTP endpoint. Pretty straightforward!

graphqlSchema := graphql.MustParseSchema(schema.GetRootSchema(), &resolver.Resolver{})

http.Handle("/api/query", middleware.AddContext(ctx, &middleware.GraphQL{Schema: graphqlSchema}))

Resolvers

After having defined and loaded the schema, so-called resolvers need to be defined. The concept of resolvers is common among most GraphQL server libraries for various different programming languages. A resolver is responsible for providing the data for every field of an entity, e.g. for the ID, name, description, and price fields. Such fields can be literals, as it is the case with all fields of the Product type, but also other nested entities, like in the products field of the following Order type:

type Order {
    id: ID!
    ...
    products: [Product]
}

For literals, the resolver simply fills in the actual string, number, or boolean. For complex types, it delegates their resolution to their respective resolvers recursively. For instance, to resolve products, the orderResolver will ask a productResolver to do its respective duty.

When working with go-graphql, a simple resolver looks like this (resolvers/product.go):

type productResolver struct {
	p *model.Product
}

func (r *productResolver) Id() graphql.ID {
	return graphql.ID(r.p.Id)
}

func (r *productResolver) Name() *string {
	return &r.p.Name
}

func (r *productResolver) Description() *string {
	return &r.p.Description
}

func (r *productResolver) Price() *float64 {
	return &r.p.Price
}

Very simple. It is instantiated with a reference to a Product struct, which was previously loaded from the database and simply maps attributes of the raw data model to the respective GraphQL fields. Please note that it doesn’t have to be that trivial. For instance, your MongoDB schema might define firstName and lastName fields, while your GraphQL type only has name. In that case, the resolver would have to do some basic concatenation.

Things get a little more complex when dealing with non-literal fields, like the Order’s products above. In our database schema, an order only holds a list of product IDs as items. However, the GraphQL schema declares to return actual product objects. To do so, the respective resolver method first fetches the products for every ID from the database and then passes it on to productResolvers (see resolvers/order.go):

...
func (r *orderResolver) Products(ctx context.Context) (*[]*productResolver, error) {
	l := make([]*productResolver, len(r.o.Items))

	products, err := ctx.Value(service.KeyProductService).(*service.ProductService).GetBatchMap(r.o.Items)
	if err != nil {
		return nil, err
	}

	for i, id := range r.o.Items {
		l[i] = &productResolver{p: products[id]}
	}

	return &l, nil
}
...

Resolvers are very modular, coherent in themselves and can be composed together to build up an entire API. Note that even the very entrypoint of the GraphQL API is just a “root” resolver. You can find all resolvers, including those for mutations and subscriptions as well, in the repo.

Subscriptions

Probably the most interesting part here is subscriptions, as they provide a nice mechanism to make web applications reactive to backend-side data updates. As mentioned in the previous article, the GraphQL specification does not dictate how to technically implement subscriptions. Therefore, we decided to use Server-Sent Events (SSE) as a server-to-client communication channel. Technically, SSEs are simply a long-running HTTP request, which data is written to in form of a text stream and therefore very light-weight and easy to use.

On the backend side, we introduce a light-weight event bus to our services. For every data change, i.e. updates, creations or deletions, an event is published to the bus (see services/order.go):

func (s *OrderService) Create(order *model.Order) (*model.Order, error) {
	...
	order.Id = res.InsertedID.(primitive.ObjectID).Hex()
	s.Hub.Publish(eventhub.Message{
		Name:   KeyOrderCreated, // order.create
		Fields: eventhub.Fields{"id": order.Id},
    })
    ...
}

Inside the resolver responsible for orderCreated queries, a subscription to the event bus is made once the user requests that subscription.

func (r *Resolver) OrderCreated(ctx context.Context) (chan *orderResolver, error) {
	c := make(chan *orderResolver)
	go subscribeOrder(service.KeyOrderCreated, ctx, c)
	return c, nil
}

func subscribeOrder(key string, ctx context.Context, c chan *orderResolver) {
	srv := ctx.Value(service.KeyOrderService).(*service.OrderService)
	sub := srv.Hub.NonBlockingSubscribe(10, key)

	defer func() {
		srv.Hub.Unsubscribe(sub)
		close(c)
	}()

	for {
		select {
		case <-ctx.Done():
			return
		case m := <-sub.Receiver:
			if u, err := srv.Get(m.Fields["id"].(string)); err != nil {
				log.Println(err)
			} else {
				c <- &orderResolver{u}
			}
		}
	}
}

When a new order is inserted via the respective service, the above method is triggered as a consequence of being subscribed to order.create events. It reads the orer’s ID from the event, uses the qualified service to fetch it from the database and passes it on to an orderResolver to translate it into the schema-conformal format.

The HTTP handler, which dispatched the user’s GraphQL query to the above resolver, in turn, has subscribed to the result Go channel and writes every incoming Order instance to always-open HTTP stream (see middleware/graphql.go):

...
c, err := h.Schema.Subscribe(ctx, params.Query, params.OperationName, params.Variables)
...
for r := range c {
        response := r.(*graphql.Response)
        responseJSON, err := json.Marshal(response)
        ...
        fmt.Fprintf(w, "data: %snn", responseJSON)
        flusher.Flush()
        ...
}
...

Running Queries

Using GraphQL

During development, queries against a GraphQL API can be issued using the interactive GraphiQL browser, as demonstrated here.

Programmatically

On the client-side of our application, GraphQL queries are run to consume the API. After all, any client, that is able to speak HTTP, can also consume a GraphQL API, as GraphQL requests are really just POST requests with a certain query in the body.

For instance, the Vuex store action responsible for loading a list of products in the frontend is this (see store/products.js):

async fetchProducts({commit}) {
    const q = `{
        products() {
        id
        name
        description
        price
        }
    }`

    const data = await Vue.$api.graphql.request(q)
    commit('addProducts', data.products.map(Product.new))
}

For subscriptions, we rely on a slightly modified version of sse.js. It acts as a minimal wrapper around the browser’s standard EventSource and allows us to run SSE requests as POST (instead of GET) queries and pass some data in the body. We do so to fit well with GraphQL, where queries are always POST requests with a respective query body.

Subscribing to new orders in the frontend is mostly done like this:

async subscribeOrderCreated({commit}) {
    const q = `subscription {
        orderCreated() {
            id
            queueId
            createdAt
            updatedAt
            status
            eta
            totalSum
            products {
                id
                name
            }
        }
    }`

    const source = Vue.$api.sse.request(q, null)
    source.addEventListener('message', e => {
        const payload = JSON.parse(e.data)
        ...
        commit('addOrder', new Order(payload.data.orderCreated))
    })
    ...
    source.stream()
}

Demo

And here’s a live demo in action!

Outlook

While the current demo implementation serves as a – in our opinion – clean and well-structured starting point for building GraphQL-based web apps, its current state has one major drawback. It lacks authentication and authorization. Usually, you want to control which user can query and modify which data. Therefore, another blog post will follow in the future, which explains how to authorize GraphQL query endpoints.

Apart from that, we consider the present technology stack a promising choice for new web applications with the potential to facilitate clean, well-organized code and to make development easier, and more flexible.

The post Modern, reactive web APIs with GraphQL, Go and Server-Sent Events – Part 2 appeared first on Frachtwerk.

]]>
DB Fahrzeuginstandhaltung: Visualisierung einer Produktionsplanung https://frachtwerk.fw-web.space/db-fahrzeuginstandhaltung-visualisierung-einer-produktionsplanung/ Wed, 09 Dec 2020 15:02:00 +0000 https://frachtwerk.fw-web.space/?p=5114 Den gleichzeitigen Zugriff auf geteilte Ressourcen optimal zu planen, gehört zu den klassischen Problemen des Operations Research. Gemeinsam mit unserer Kundin, der DB Fahrzeuginstandhaltung Wittenberge, nähern wir uns dieser Herausforderung in einer agilen Arbeitsweise! Die schwere Instandsetzung von Schienenfahrzeugen ist ein umfangreicher Vorgang, der zumeist aus mehreren tausend Vorgängen an unterschiedlichen Arbeitsständen besteht, die wiederum […]

The post DB Fahrzeuginstandhaltung: Visualisierung einer Produktionsplanung appeared first on Frachtwerk.

]]>
Den gleichzeitigen Zugriff auf geteilte Ressourcen optimal zu planen, gehört zu den klassischen Problemen des Operations Research. Gemeinsam mit unserer Kundin, der DB Fahrzeuginstandhaltung Wittenberge, nähern wir uns dieser Herausforderung in einer agilen Arbeitsweise!

Die schwere Instandsetzung von Schienenfahrzeugen ist ein umfangreicher Vorgang, der zumeist aus mehreren tausend Vorgängen an unterschiedlichen Arbeitsständen besteht, die wiederum eine Vielzahl an Experten und Qualifikationen benötigen. Die DB Fahrzeuginstandhaltung (FZI) führt in ihrem Werk Wittenberge Jahr für Jahr hunderte solcher Maßnahmen an Fahrzeugen durch. Doch die Zahl der Arbeitsstände ist begrenzt und die Abfolge der Arbeitsschritte – und damit der Bedarf an Arbeitsständen und Qualifikationen – ist von Projekt zu Projekt unterschiedlich, sodass die gleichzeitige Nachfrage nach demselben Arbeitsstand vorprogrammiert und alltäglich ist.

Um diese Sitation zu optimieren, wurde gemeinsam ein Tool konzipiert, das in erster Ausbaustufe zunächst die Projektsituationen visualisieren soll. In Form von visuellen Ablaufplänen und mit dem Einsatz von Farbskalen sollen drohende Über-Nachfragen nach limitierten Ressourcen so innerhalb eines Horizonts von drei Monaten frühzeitig erkannt und planerisch behoben werden.

Durch das Übereinanderlegen aller Arbeitspläne mit in Summe mehreren zehntausenden Arbeitsschritten pro Monat werden so erstmalig Flaschenhälse sichtbar und können durch einen integrierten Editor direkt im Tool adressiert werden.

Bei der Entwicklung gehört die nahtlose Einbettung in die bestehende Systemlandschaft dabei zu den Kernanforderungen, um keine Doppelarbeiten und unterbrochene Prozesse zu schaffen. So ist es selbstverständlich, dass die Rohdaten direkt aus den Produktionssteuerungssystemen (beispielsweise SAP) bezogen werden und die Planungsergebnisse auch wieder dorthin zurückfließen.

In weiteren Versionen wird basierend auf den Erfahrungen der ersten Ausbaustufe unter anderem die Einbindung eines sogenannten „Solvers“ geplant, der in der Lage sein wird, die Gesamtplanung zu optimieren und somit zu Engpass-Situationen konkrete Lösungsvorschläge anzubieten. Auch eine Beplanung weiterer Ressourcen und eine noch engere Einbindung in die Systemlandschaft stehen auf der Agenda.

Bei der Entwicklung des Tools kommen mit Java Spring Boot und Vue.js aktuelle Technologien und ein frisches, browserbasiertes Frontend zum Einsatz. Die Entwicklung erfolgt agil in enger Zusammenarbeit mit den Fachbereichen, sodass regelmäßig sichergestellt wird, dass tatsächlich die relevantesten Anforderungen priorisiert umgesetzt werden. Wir danken der DB FZI für die bisherige Zusammenarbeit und freuen uns auf zukünftige Versionen!

The post DB Fahrzeuginstandhaltung: Visualisierung einer Produktionsplanung appeared first on Frachtwerk.

]]>
Nachhaltig Veränderung herbeiführen https://frachtwerk.fw-web.space/nachhaltig-veraenderung-herbeifuehren/ Fri, 06 Nov 2020 16:42:00 +0000 https://frachtwerk.fw-web.space/?p=4598 Wir wollen nicht nur erzählen, sondern Ihnen lieber direkt etwas zeigen. In den unten aufgeführten Download-Links finden Sie unsere PDFs, die Informationen in Form von Postern, Matrizes oder Kartensets enthalten, die wir für uns als agile Organisation entwickelt haben und als Inspiration kostenlos an Sie weitergeben wollen. Purpose Uns ist es wichtig, als Organisation eine […]

The post Nachhaltig Veränderung herbeiführen appeared first on Frachtwerk.

]]>
Wir wollen nicht nur erzählen, sondern Ihnen lieber direkt etwas zeigen. In den unten aufgeführten Download-Links finden Sie unsere PDFs, die Informationen in Form von Postern, Matrizes oder Kartensets enthalten, die wir für uns als agile Organisation entwickelt haben und als Inspiration kostenlos an Sie weitergeben wollen.

Purpose

Uns ist es wichtig, als Organisation eine klare gemeinsame Ausrichtung zu haben. Dadurch wollen wir ermöglichen, dass alle Menschen in der Organisation ihr eigenes Handeln eigenverantwortlich hinsichtlich der Zielausrichtung bewerten können. Dazu haben wir uns auf Basis des Golden Circles (Simon Sinek) Gedanken zu unserem Why, How und What gemacht. Parallel dazu haben wir die ethischen Grundlagen unserer Zusammenarbeit in Form von „Principles“ zusammengefasst.

Travel Guide

Um neuen Personen den Einstieg bei Frachtwerk zu erleichtern, haben wir einen kleinen „Reiseführer in die Frachtwerk-Welt“ geschrieben, den alle neuen Menschen an ihrem ersten Tag in Form eines Kartensets geschenkt bekommen. Am Ende des Kartensets gibt es ein paar folienkaschierte Blanko-Karten, um eigene Gedanken zum Travel Guide festzuhalten. Zum Kartenset gehört ein hölzerner Fuß dazu, um eine tägliche Lieblingskarte auf dem Schreibtisch präsent zu haben und so Tag für Tag tiefer in den Frachtwerk-Kosmos eintauchen zu können. Die einzelnen Karten des Travel Guides sind in die Kategorien „Purpose“, „Selbstverständnis und Verständnis von Arbeit“, „Verständnis der Zusammenarbeit“, „Kundenverständnis“ und „Organisationsverständnis“ gegliedert, die sich jeweils durch unterschiedlich gestaltete Rückseiten unterscheiden.

New Pay

Als agile Organisation ist uns ein fairer Umgang mit Vergütung wichtig. Daher haben wir für uns ein Konzept entwickelt, um Vergütung basierend auf unterschiedlichen Stufen zu realisieren. Diese sind bewusst lediglich mit den Buchstaben A bis H markiert und sollen jeweils den eigenen Beitrag zur Organisation repräsentieren. Die Grundidee des Konzepts haben wir in einer Unterlage zusammengefasst. Für die Bewertung der Stufen haben wir eine „New-Pay-Matrix“ in Form eines Posters erstellt.

Selbstcheck

Mit dem Selbstcheck wollen wir uns und andere Organisationen immer wieder erkennen lassen, wie viel Agilität im Arbeitsalltag bereits gelebt wird. Der Selbstcheck ist ein Fragebogen, in dem man seine Organisation im Rahmen verschiedener Kategorien selbst einordnet. Außerdem fördert er ein Verständnis für nächste mögliche Schritte hin zu mehr Agilität.

Die Ansprechpartnerin für alle Fragen

Pia Frischen

Sie benötigen eine externe Agile Organisations-Beratung oder vielleicht auch nur eine zweite Meinung? Schreiben Sie uns gerne. Wir freuen uns über Post von Ihnen!

The post Nachhaltig Veränderung herbeiführen appeared first on Frachtwerk.

]]>
Agile Methoden im klassischen Projektmanagement https://frachtwerk.fw-web.space/agile-methoden-im-klassischen-projektmanagement/ Sun, 30 Aug 2020 11:12:00 +0000 https://frachtwerk.fw-web.space/?p=2428 Für eine erfolgreiche Durchführung von Projekten bildet die Wahl der passenden Projektmanagement-Methode eine essenzielle Grundlage. Durch die individuellen Eigenschaften und Rahmenbedingungen eines jeden Vorhabens stehen zahlreiche Methoden zur Herangehensweise zur Auswahl. Neben den bewährten, klassischen Vorgehensmodellen konnten sich zunehmend moderne und agile Methoden etablieren und genießen seit einigen Jahren eine hohe Aufmerksamkeit.
Doch wann sollte auf diese Methoden zurückgegriffen werden und welche Vorteile bieten sie? Mit diesen und weiteren Fragen beschäftigt sich der folgende Artikel.

The post Agile Methoden im klassischen Projektmanagement appeared first on Frachtwerk.

]]>
Wie unterscheiden sich klassische und agile Ansätze voneinander?

Betrachtet man zunächst die Zielgrößen im klassischen Projektmanagement, wird schnell klar, dass der Umfang des Projekts von Beginn an fest definiert ist. Alle Anforderungen und Leistungen müssen vor dem Projektstart erfasst und dokumentiert werden. Im weiteren Vorgehen werden diese linear abgearbeitet. Anpassungen oder Veränderungen im Verfahren werden nach Möglichkeit vermieden, da diese in der Regel den Projektablauf verzögern und nur durch aufwändige Change-Requests bearbeitet werden können.

Im agilen Ansatz hingegen verhalten sich die Zielgrößen genau entgegengesetzt. Mit Hilfe eines festen Budgets und innerhalb eines definierten Zeitrahmens wird versucht, das optimale Ergebnis zu erzielen. Das genaue Ergebnis am Ende des Projekts ist zu Beginn noch nicht bekannt.

Ein sofortiger Umschwung auf ausschließlich agile Methoden lässt sich in den wenigsten Projekten realisieren und ist außerdem nicht für alle Arten von Projekten geeignet. Aus diesem Grund kann es von Vorteil sein, neben dem klassischen Vorgehen auch Methoden und Ansätze des agilen Projektmanagement einzusetzen. In einem solchen Fall spricht man vom Hybridenprojektmanagement.

Welche Vorteile ergeben sich daraus?

Durch den Einsatz von agilen Prinzipien werden zahlreiche positive Effekte erzielt, wenn diese von allen Projektteilnehmern gelebt werden. Um einen möglichst hohen Nutzen erzielen zu können, sollten allerdings einige Prämissen beachtet werden:

Veränderungen der Anforderung und des Vorgehens als Teil der Projektarbeit Agiles Vorgehen und der Einsatz von agilen Methoden fokussieren dabei die Erzielung eines möglichst hohen Nutzens am Ende des Projekts. Dieser kann jedoch nur erzielt werden, wenn das Vorgehen und die Anforderungen regelmäßig an die sich verändernden Rahmenbedingungen angepasst und danach ausgerichtet werden.

Hohe Mitwirkung des Auftragsgebers während des Projekts erforderlich

Damit am Ende des Projekts ein für den Kunden zufriedenstellendes Ergebnis erzielt werden kann, ist eine enge Zusammenarbeit und intensive Kommunikation unersetzlich. Erst durch den regelmäßigen Austausch und die Präsentation von Zwischenergebnissen können Feedback und Änderungen im Verlauf des Projekts erkannt und berücksichtigt werden.

Dadurch kann die zunächst grobe Vorstellung über das Ergebnis zu Beginn des Projekts stetig spezifiziert und genau auf die Bedürfnisse des Kunden abgestimmt werden. In Summe wird dadurch der Nutzen und vor allem die Akzeptanz der angestrebten Lösung gesteigert.

Eine Möglichkeit, die Kommunikation innerhalb des Projektteams zu stärken, ist die Methode des Daily Stand-Ups. Hierbei wird der regelmäßige Informationsaustausch im Team gefördert und täglich der Raum dafür geschaffen, sich über aktuelle Themen sowie eventuelle Probleme des Projekts auszutauschen und direktes Feedback zu erhalten. Die Zeiträume zwischen den Stand-Ups können beliebig variiert und beispielsweise auch als Weekly oder Monthly Stand-Up im Projekt eingesetzt werden.

Iteratives statt sequenziellem Planen

Auch im agilen Vorgehen wird nicht auf die Erstellung von Detailplanungen verzichtet. Betrachtet wird dabei im Gegensatz zum sequenziellen Vorgehen allerdings nur ein kurzer Zeithorizont. Hierbei wird häufig das Prinzip des Timeboxing verwendet.

Eine Timebox ist durch eine definierte Dauer und ein zu erreichendes Ziel gekennzeichnet. Sie wird zum vordefinierten Zeitpunkt beendet und alle nicht erledigten Inhalte werden in nachfolgende Timeboxes verschoben bzw. entfallen, wenn bereits neue Erkenntnisse vorliegen.

Durch das iterative Vorgehen kann schnell auf Veränderungen reagiert und neue Erkenntnisse sowie Feedback im weiteren Verfahren beachtet werden. Darüber hinaus kann diese Methode einen positiven Effekt auf die Motivation der Mitarbeiter innerhalb des Projektteams erzielen, da nach jedem Iterationszyklus erste Erfolge sichtbar sind und ein Fortschritt erkennbar ist.

Wann sind agile Methoden sinnvoll?

Auch wenn agile Methoden eine Vielzahl von Vorteilen mit sich bringen, können diese nicht in jedem Projekt ihr volles Potential entfalten. Einen besonders hohen Nutzen können agile Methoden in Projekten bewirken, die:

  • eine lange Laufzeit und einen hohen Grad an Komplexität aufweisen
  • sich durch eine hohe Dynamik auszeichnen und durch Anforderungen, welche sich ständig verändern
  • zu Beginn keine genauen oder nur sehr grobe Zielvorstellungen bzw. Anforderungen definieren, welche sich zum Teil auch erst im Verlauf des Projekts ergeben
  • in einem unbekannten Umfeld durchgeführt werden, in dem das Projektteam nur wenig oder gar keine Erfahrungen vorweisen kann (z.B. im Einsatz von neuen Technologien)

Closing

Wie zu Beginn bereits angeschnitten wurde, ist es in der Praxis schwierig, ein Projekt komplett agil zu gestalten bzw. sofort auf neue Vorgehensweise und Methoden umzustellen. Dadurch ist es von Vorteil, einen hybriden Ansatz zu wählen und sich zunächst auf einzelne Methoden und Prinzipien des agilen Vorgehens zu fokussieren und gezielt das klassische Vorgehen mit diesen ergänzen.

Die beispielhaft angesprochenen Methoden stellen dabei nur einen kleinen Einblick in die Möglichkeiten dar, die der Werkzeugkasten agiler Methoden zu bieten hat.

The post Agile Methoden im klassischen Projektmanagement appeared first on Frachtwerk.

]]>
Opensource-Alternativen für die Zusammenarbeit im Homeoffice https://frachtwerk.fw-web.space/opensource-alternativen-fuer-die-zusammenarbeit-im-homeoffice/ Tue, 14 Jul 2020 12:02:00 +0000 https://frachtwerk.fw-web.space/?p=2335 Das Corona-Virus hat Unternehmen dazu gezwungen, Mitarbeiter ins Homeoffice zu schicken. Viele Unternehmen sind nur unzureichend auf diese digitale Herausforderung vorbereitet, doch Veränderungen bringen auch immer Chancen mit sich. Warum also nicht die aktuelle Situtation nutzen, um die Zusammenarbeit im Unternehmen digitaler zu gestalten.

The post Opensource-Alternativen für die Zusammenarbeit im Homeoffice appeared first on Frachtwerk.

]]>
Damit das Arbeiten aus dem Homeoffice klappt, brauchen Teams Tools für die Zusammenarbeit. Viele Tech-Unternehmen haben diese Entwicklung für sich genutzt und eine Vielzahl an Angeboten ins Portfolio aufgenommen, teilweise mit kostenlosen Angeboten oder zeitlich beschränkten Testphasen.

Die Verlockung ist groß, ein solches Angebot zu nutzen, um die Zusammenarbeit in der digitalen Welt zu ermöglichen, wobei Themen wie Datenschutz und Privatsphäre schnell in den Hintergrund rücken.
Diese Opensource-Alternativen können problemlos mit den Angeboten datenhungrieger Unternehmen mithalten!

  1. Chat – Digitale Teamkommunikation
  2. Videokonferenzen – Digitale Begegnungen
  3. Dokumente – Zugriff über die Cloud, jederzeit und überall
  4. Projektplanung & -management – Tools und Methoden in der Cloud

Digitale Teamkommunikation

Mattermost ist ein webbasierter Messaging-Dienst für Teams und erlaubt Einzel- und Gruppenchats. Anstelle eines einzelnen Posteingangs können Gruppengespräche in Channels organisiert werden, die beispielweise für Teams oder bestimmte Themen erstellt werden. Dadurch erhalten User nur relevante Nachrichten und können selbstständig steuern, welche Themen aktuell wichtig sind und welche warten können.

Zusätzlich zu einfachen Nachrichten können Dateien geteilt, Chats durchsucht und über Integrations direkt Einladungen zu Videoanrufen geteilt werden. Besonders interessant für Entwicklerteams ist die Integration von Git und DevOps Tools, wodurch diese Benachrichtigungen über den Status ihrer Anwendung in Mattermost erhalten.

Mattermost kann schnell auf dem eigenen Server bereitgestellt werden und bietet neben der Möglichkeit, die Anwendung im Browser zu nutzen, auch Apps für iOS, Android, Linux, Windows und Mac.

Ähnliche Projekte sind Rocket Chat oder Zulip. Auch diese Tools bieten Channels und Integrations zu anderen Apps.

Digitale Begegnungen

Jitsi ist ein vollverschlüsselter freier Videokonferenz-Dienst. Teilnehmer können ganz einfach per Link zu Konferenzen eingeladen werden. Die Möglichkeit, ein Passwort für den Zugang zu vergeben, bietet zusätzlich Sicherheit.

Jitsi beinhaltet die Option, seinen Bildschirm freizugeben oder im integrierten Chat Links und Dateien zu teilen. Zusätzlich lassen sich Gespräch für später aufzeichnen.

Neben der Möglichkeit, einen eigenen Jitsi-Server zu betreiben, existieren auch öffentlich zugängliche Jitsi-Instanzen. Jitsi funktioniert ohne weiteres im Browser, bietet aber zusätzlich eine iOS und Android App an.

Zugriff über die Cloud, jederzeit und überall

Mit Hilfe von Cloudspeicher-Lösungen haben Mitarbeiter von überall Zugriff auf ihre Dateien. Darüber hinaus lassen sich Dokumente mit Kollegen teilen und gemeinsam bearbeiten. Die meisten Anbieter solcher Lösungen haben ihren Hauptsitz in den USA und somit landen auch die Unternehmensdaten auf Servern in den USA. Dies bedeutet jedoch, dass ein Unternehmen nur bedingt entscheiden kann, wo genau seine internen Dateien und Dokumente abgelegt werden. Mittlerweile haben viele Anbieter reagiert und bieten Serverstandorte in Deutschland und der EU an. Doch können wir wirklich darauf vertrauen, dass niemand außer uns selbst Zugriff auf die Daten erhält?

Seafile und Nextcloud erlauben, eine eigene Cloudspeicher-Lösung zu betreiben. Die abgelegten Dateien bleiben auf den eigenen Servern und wir haben die volle Kontrolle. Darüber hinaus müssen User auf keine Funktionen aus bekannten Cloud-Lösungen verzichten. Beide Systeme bieten die Möglichkeit, eine Office-Lösung – wie OnlyOffice oder Collabora – zu integrieren, um Word-, Excel- und PowerPoint-Dokumente direkt im Browser zu öffnen und zu bearbeiten.

Nextcloud beinhaltet zusätzlich einen eigenen Appstore, in dem sich die Anwendung erweitern lässt.

Beide Lösungen funktionieren im Browser und bieten Apps für iOS, Android, Linux, Windows und Mac an.

Tools und Methoden in der Cloud

Digitale Todo-Listen Projektmanagement-Anwendungen helfen dabei, nicht den Überblick über wichtige Aufgaben zu verlieren. Der Vorteil des digitalen Erfassens von Aufgaben ist, dass man Dokumente und Bilder anhägen kann sowie Aufgaben mit Teammitgliedern teilen. Dadurch lassen sich Projekte besser strukturieren und in Aufgaben untergliedern.

Ein beliebte Möglichkeit, Struktur zu schaffen, sind Kanban-Boards. Sie verschaffen einen klaren Überblick über sämtliche Aufgaben und ihren Bearbeitungsstatus. Das erlaubt, sich auf das Wesentliche zu fokussieren und potenzielle Probleme, wie Flaschenhälse und Single-Points-of-Failure, zu identifizieren.

Wekan wurde als freie Alternative zu Trello entwickelt. Es bietet die Möglichkeit, mehrere Boards zu erstellen und diese mit Teammitgliedern zu teilen. Jedes Board kann individuell gestaltet werden. Aufgaben können mit Labels und Farben gekennzeichnet werden und zusätzliche Inhalte wie Anhänge beinhalten. Wekan kann auf einem eigenen Server installiert werden und benötigt nur einen Browser für die Nutzung.

Ein andere Alternative bietet Gitlab. Unter Entwicklern ist Gitlab am Besten als Versionsverwaltung für Softwareprojekte bekannt. Doch Gitlab bietet auch eine mächtige Aufgabenverwaltung. Aufgaben, genannt Issues, können aus Listen bestehen, Anhänge enthalten und über Labels und Status gekennzeichnet werden. Aufgaben können in einem Kanban-Board und als Liste organisiert werden. Milestones erlauben es. Aufgaben in einer Einheit zusammenzufassen. Gitlab kann ganz einfach über den Browser bedient werden.

Closing

Die vorgestellten Lösungen sind eine kleine Auswahl an Tools, die eine Opensource-Alternative zu kommerziellen Lösungen bieten. Alle vorgestellten Tools können auf eigener Infrastruktur betrieben werden oder als Software-as-a-Service (SaaS) beim Entwickler.

Du brauchst Unterstützung bei der Einrichtung einer Opensource-Lösung in deinem Unternehmen, weißt aber nicht wie Du anfangen sollst? Schreib uns eine Nachricht unter contact@frachtwerk.de mit deinem Vorhaben und wir vereinbaren gerne ein kostenloses Beratungsgespräch mit dir.

The post Opensource-Alternativen für die Zusammenarbeit im Homeoffice appeared first on Frachtwerk.

]]>
Modern, reactive web APIs with GraphQL, Go and Server-Sent Events – Part 1 (Englisch) https://frachtwerk.fw-web.space/modern-reactive-web-apis-with-graphql-go-and-server-sent-events-part-1/ Wed, 24 Jun 2020 09:48:00 +0000 https://frachtwerk.fw-web.space/?p=2323 originally published at muetsch.io on Jun 06, 2020

The post Modern, reactive web APIs with GraphQL, Go and Server-Sent Events – Part 1 (Englisch) appeared first on Frachtwerk.

]]>
Introduction

In the course of this two-part article, the interested reader is briefly introduced to the basic of GraphQL and how it compares to traditional approaches. In the second part, an example single-page web application (SPA) is built to demonstrate the use of GraphQL in combination with further modern web technologies. The final project provides a clean, opinionated code- and project structure for both backend and frontend and constitutes a good starting point for new apps based on the presented tech stack.

What is GraphQL?

GraphQL is a relatively new (proposed in 2015 by Facebook engineers) approach to designing APIs for (web) backend applications and can be considered an alternative to REST or remote-procedure-call (RPC) mechanisms like JSON-RPC. In other words, it’s „an open-source data query and manipulation language for APIs“ [1]. The specification is open-source and actively evolving on GitHub. While REST APIs are currently the de-facto standard on the web (although not necessarily all of them being fully mature) – GraphQL starts to gain traction.

Comparison with REST and RPC

In contrast to REST, which is primarily structured around resources or entities and RPC-based APIs, which focus on actions or methods, GraphQL is all about the underlying data itself. The consumer of an API – usually the frontend / client-side part of a SPA – only has to know the schema and structure of the data provided by the API to CRUD it. Compared to REST APIs, where the consumer heavily depends on the fixed data structure delivered by the backend API, this is especially beneficial as it introduced a lot more flexibility and decoupling and can save the developer some time making the client-side application tolerant. Also, you will probably not need backends for frontends anymore.
Essentially, with GraphQL, the consumer asks exactly for what it needs and how it needs it, i.e. your client application tells the backend exactly what to return and in which format. Consuming a GraphQL API is like querying a database, but with more guidance and control.

Example

Let’s look at an example to get a better idea of how GraphQL works, especially in comparison to the REST principles.

Imagine you have an e-commerce application with products and orders. Every order consists, among others, of a set of products. As the operator of the web shop, you might want to get a list of all orders. With a more or less RESTful API (we neglect the hypermedia controls in the example though), your request-response pair could look like this:

Request
-------
GET /api/orders

Response Body
-------------
[
    {
        "id": 125,
        "customerId": 8977,
        "createdAt": "2020-06-06T13:40:49.038Z",
        "productIds": [ 49863176 ]
    }
]

So far so good, but potentially you will also want to view the actual products right away. What you got are only ids, for each of which you would have to issue another API call to retrieve it. Alternatively, the API could also return nested objects, like so:

[
    {
        "id": 125,
        "customerId": 8977,
        "createdAt": "2020-06-06T13:40:49.038Z",
        "products": [
            {
                "id": 49863176,
                "name": "Slim T-Shirt navy-blue",
                "price": 17.90,
                "options": [
                    {
                        "id": "size",
                        "name": "Size",
                        "description": "T-Shirt size",
                        "values": [
                            {
                                "id": "s",
                                "name": "Size S",
                            },
                            {
                                "id": "m",
                                "name": "Size M",
                            },
                            {
                                "id": "l",
                                "name": "Size L",
                            }
                        ]
                    }
                ]
            },
        ]
    }
]

However, that is — to my understanding – not truly RESTful anymore. Also, while the above example is still quite straightforward, things get ugly as nested objects include other nested objects, that include other nested objects, that… Quickly you get JSON responses of several tens or hundreds of kilobytes, although you’re potentially only interested in two or three attributes.

Moreover, on some pages of your shop you may be interested in all possible options (e.g. „size“) of a product, but not on others. Should your API define different view models now and expose different endpoints? Or a single endpoints with query flags like ?expanded=true? Soon you might be catching yourself tailoring your API specifically to the needs of your client while neglecting REST conventions and a straightforward design.

With GraphQL, things are different. Your API is a bit dumber and less opinionated now and does not deliver data in a fixed structure, according to a specified GQL query, which looks a lot like JSON. The above example might look like this, now:

Request
-------
POST /api/graphql/query

{
    "query": "{
        orders {
            id
            customerId
            products {
                name
                price
                options {
                    name
                }
            }
        }
    }"
}

Response Body
-------------
{
    "data": {
        "orders": [
            {
                "id": 125,
                "customerId": 8977,
                "products": [
                    {
                        "name": "Slim T-Shirt navy-blue",
                        "price": 17.90,
                        "options": [
                            {
                                "name": "Size",
                            }
                        ]
                    }
                ]
            }
        ]
    }
}

This way, you get only the data you want. All your API has to know is how to fetch every piece of data. All your client has to know is how the data schema itself looks like.

Try it out

GitHub’s official API offers GraphQL query endpoints. You can try it out using their GraphQL explorer.

GraphQL Basic
Since this article does not aim to be another introduction to GraphQL, you can read most of the basics about fields, data types, etc. in the official docs. However, it is worth mentioning that GraphQL supports three types of queries:

  • Query: „Standard“ type of queries, used for fetching data (see above). Similar to what you would do with a GET in REST.
  • Mutation: Query type used to modify data. Similar to what you would do with a PUT, POST, PATCH or DELETE in REST.
  • Subscription: Query type to communicate your intent to subscribe to live data updates.

Subscriptions

While a basic GraphQL application will at least use the former two types, the latter is especially interesting in the context of this article. Using subscriptions, you can have your web frontend be notified when new data arrives at the server or existing data changes. For instance, the operator of the above web shop could have a live-updating dashboard, that shows new orders just as they are placed.

For subscriptions, the GraphQL standard does not define a lot more than their plain existence and purpose. Especially, it is not defined how and which technology to implement them. On the web, any publish/subscribe-like mechanism that provides bi-directional or uni-directional server-to-client communication is appropriate. For the sake of simplicity, Server-Sent Events are used in this article.

What’s next?

This part gave a brief introduction to GraphQL. The next part is about actual code. We’re going to build an example web app with live-updates using GraphQL, Go, MongoDB and VueJS.

The post Modern, reactive web APIs with GraphQL, Go and Server-Sent Events – Part 1 (Englisch) appeared first on Frachtwerk.

]]>
Digitalisierungspotenziale im Unternehmen erkennen und umsetzen https://frachtwerk.fw-web.space/digitalisierungspotenziale-im-unternehmen-erkennen-und-umsetzen/ Sat, 20 Jun 2020 09:38:00 +0000 https://frachtwerk.fw-web.space/?p=2315 Digitalisierung, digitale Transformation und digitale Revolution sind nur einige Begriffe der neuen Arbeitswelt. Doch was wird unter diesen Begriffen verstanden und wie kann ein Unternehmen prüfen, ob oder welche Arbeitsbereiche davon profitieren können?
Der folgende Artikel erläutert zunächst die Bedeutung der Digitalisierung und zeigt anschließend Wege und Möglichkeiten für Unternehmen auf, wie sie mit der Digitalisierung profitieren können.

The post Digitalisierungspotenziale im Unternehmen erkennen und umsetzen appeared first on Frachtwerk.

]]>
Digitalisierung: Eine Definition

Digitalisierung beschreibt im allgemeinen die Umwandlung von analogen Werten in digitale Formate. In dieser ursprünglichen Bedeutung der Digitalisierung ging es zunächst darum, digitale Kopien von analog vorliegenden Daten anzufertigen. Ziel war es, Informationen digital zu speichern, zu bearbeiten und zu verteilen.

Über die Zeit hat sich die Bedeutung des Begriffs der Digitalisierung jedoch weiterentwickelt und umfasst heute weitaus mehr Bereiche. So wird die aktuell stattfindende digitale Transformation, welche Veränderungen in fast allen Lebensbereichen hervorruft, ebenfalls als Digitalisierung bezeichnet.

Die digitale Transformation ist dabei ein Überbegriff für alle Veränderungen, die aktuell durch digitale Technologien in Wirtschaft, Bildung und Kultur ausgelöst werden. So kann heute auch die Unterstützung von Computern in Arbeitsabläufen und Prozessen als Digitalisierung verstanden werden.

Potenziale erkennen und umsetzen

Ob oder welche Bereiche in einem Unternehmen von Digitalisierungspotentialen profitieren können, lässt sich leider nicht pauschal bestimmen. Die Unterschiede von Unternehmen in Arbeitsweise, Struktur, Branche und vielen weiteren Faktoren sind dafür zu groß. Allerdings besteht für jedes Unternehmen die Möglichkeit, Digitalisierungspotentiale nach einem ähnlichen Prinzip zu ermitteln, zu strukturieren und umzusetzen.

Notwendig dazu ist vor allem eine Übersicht über alle relevanten Prozesse im Unternehmen. Die Übersicht sollte dabei Informationen über die Häufigkeit, die Anzahl an beteiligten Mitarbeitern sowie die benötigte Arbeitszeit je Prozessschritt enthalten. Diese Prozessübersicht schafft neben der Transparenz über die Unternehmensprozesse auch die Möglichkeit, die monatlichen Kosten für Prozesse eindeutig zu bestimmen.

Die monatlich teuersten Prozesse sind dabei häufig die ersten Digitalisierungspotentiale, die ein Unternehmen nutzen kann, um beispielsweise mittels einer neuen Software effizienter zu werden. Für die Realisierung eines Digitalisierungspotentials sollte jedoch nicht nur die Kostenreduktion allein entscheidend sein. So sollte vorher ebenfalls die Prozesskette auf mögliche Verbesserungen hin analysiert werden und auch Mitarbeiter und gegebenenfalls Kunden in eine Entscheidung miteinbezogen werden.

The post Digitalisierungspotenziale im Unternehmen erkennen und umsetzen appeared first on Frachtwerk.

]]>