Softwareentwicklung Use Cases

Anwendungsfälle für Softwareentwicklung

In this collection you'll learn

  • Wie Sie Engpässe in Softwareprozessen effektiv identifizieren und beheben können.
  • Tipps zur Verbesserung der Zusammenarbeit und Kommunikation in Entwicklungsteams.
  • Möglichkeiten zur Verwaltung von Softwareprojekten für eine termingerechte Lieferung.
  • Wie man agile Methoden implementiert und Arbeitsabläufe optimiert.
  • Wie man Software-Engineering-Probleme löst, einschließlich Debugging, Testen und Refactoring.
  • Wie man Tech-Schulden priorisiert.
  • ... und vieles mehr.

Praktische Einblicke aus Anwendungsfällen in der Softwareentwicklung

In diesem Handbuch finden Sie eine Vielzahl von Anwendungsfällen im Zusammenhang mit der Softwareentwicklung.

Lernen Sie direkt aus den praktischen Herausforderungen, mit denen andere konfrontiert waren, und verstehen Sie die Strategien, die zu bahnbrechenden Lösungen geführt haben. Durch die Analyse dieser Szenarien erhalten Sie ein Instrumentarium an Problemlösungsansätzen.

Wählen Sie einen Anwendungsfall aus der Liste auf der rechten Seite aus oder scrollen Sie nach unten, um zunächst einige Details zu erfahren.

Wie man mit ständigen Drehpunkten und Änderungen in der Teamzusammensetzung Ergebnisse erzielt

In diesem Anwendungsfall werden Strategien zur Aufrechterhaltung der Projektdynamik und -bereitstellung in Umgebungen, die durch häufige Verschiebungen und Veränderungen der Teamdynamik gekennzeichnet sind. Es gibt einen Einblick, wie das Kanban-System Agilität und Anpassungsfähigkeit im Projektmanagement ermöglicht.

Das Problem: Ständige Änderungen und Drehpunkte

Das Problem, das angegangen wird, ist die Ineffizienz und die Verschwendung von Ressourcen, die entstehen, wenn Teams häufig mit Umstellungen und Änderungen in der Teamzusammensetzung konfrontiert sind, ohne einen klaren Prozess zur Bewältigung dieser Änderungen zu haben.

Kanban als Lösung

upstream downstream kanban

Die Implementierung eines Kanban-Frameworks, insbesondere des Upstream-Downstream-Ansatzes, hilft dabei, Aufgaben effektiv zu verwalten.

In diesem Anwendungsfall erfahren Sie:

  • Die Struktur und die Vorteile der Verwendung eines Upstream-Downstream-Kanban-Systems.
  • So implementieren Sie Kanban in Ihre Projektmanagementpraktiken.
  • Methoden zur Verfeinerung von Aufgaben, um einen reibungslosen Übergang von der Idee zur Ausführung zu gewährleisten.
  • Strategien zur Verbesserung der Planungsgenauigkeit und Effizienz im Projektmanagement.

Lesen Sie weiter →

Granulare Rechteverwaltung mit der CASL-Bibliothek

Der Anwendungsfall befasst sich damit, wie die CASL-Bibliothek die Berechtigungsverwaltung in Webanwendungen verbessern kann, und befasst sich mit den allgemeinen Herausforderungen, die mit komplexen Zugriffskontrollanforderungen verbunden sind.

Das Problem: Verwaltung von Benutzerberechtigungen in vielfältigen Anwendungen

Das Problem, das gelöst wird, ist die Schwierigkeit, Benutzerberechtigungen in vielfältigen Anwendungen zu verwalten, insbesondere wenn es sich um eine Vielzahl von Benutzerrollen handelt, die Zugriff auf bestimmte Daten erfordern. Dieses Problem eskaliert, wenn sich die Anwendung und die Rollen weiterentwickeln.

CASL als Lösung

CASL (ein Akronym für „Create, Read, Update, Delete“) ist eine JavaScript-Bibliothek, mit der detaillierte Benutzerberechtigungen definiert werden können, die auf ihre Rollen abgestimmt sind, wodurch der Prozess optimiert wird, wer was in der Anwendung sehen und tun kann.

In diesem Anwendungsfall erfahren Sie:

  • Wie CASL in einer Metrics Tool-Anwendung verwendet wurde, um Benutzerrollen und -berechtigungen zu definieren und durchzusetzen.
  • Die Komplexität der Berechtigungsverwaltung in großen Anwendungen.
  • So implementieren Sie die CASL-Bibliothek für die Verwaltung von Berechtigungen in JavaScript-Anwendungen.
  • Die Vorteile eines granularen Ansatzes für die Berechtigungsverwaltung.
  • Die Art und Weise, wie eine präzise Berechtigungskontrolle zu einer besseren Sicherheit und fundierteren Entscheidungsfindung innerhalb von IT-Projektmanagement-Tools führen kann.

Lesen Sie weiter →

So nutzen Sie Kennzahlen, um die Leistung Ihres Teams zu steigern

Der Anwendungsfall bietet eine Anleitung zur Verbesserung der Teamleistung durch den effektiven Einsatz von Kennzahlen und warnt vor den Fallstricken, die entstehen, wenn sie als Ziele missbraucht werden.

Das Problem: Echte Verhaltensänderung

Der Artikel befasst sich mit dem Problem, dass die bloße Festlegung von Zielen für Kennzahlen nicht unbedingt das Verhalten ändert, da Einzelpersonen das System manipulieren könnten, um diese Ziele ohne echte Leistungsverbesserungen zu erreichen.

Vier goldene Regeln für die Verwendung von Metriken

Wie bei einem EKG sollten Kennzahlen verwendet werden, um Probleme zu diagnostizieren und Verbesserungsstrategien zu entwickeln, anstatt direkte Ziele für Teams festzulegen.

Die effektive Nutzung von Metriken beinhaltet vier goldene Regeln: sich nicht auf eine einzige Metrik verlassen, die Metriken objektiv halten, nur das messen, was messenswert ist, und die Erkenntnis, dass es keinen universellen Satz von Metriken gibt.

In diesem Anwendungsfall erfahren Sie:

  • Warum Metriken nicht als direkte Ziele verwendet werden sollten.
  • Strategien zur effektiven Auswahl und Interpretation von Metriken.
  • Wie man Metriken anwendet, um die Teamleistung zu diagnostizieren und zu verbessern.
  • Möglichkeiten, sich mit Kennzahlen vertraut zu machen, um fundierte Entscheidungen zu treffen und sinnvolle Änderungen vorzunehmen.

Lesen Sie weiter →

Glaube dem Hype nicht: Manchmal ist ein Monolith besser als Microservices

Der Anwendungsfall erörtert die Debatte zwischen Microservices und monolithischen Architekturen, insbesondere für kleinere Projekte, und gibt Einblicke, warum eine monolithische Struktur manchmal vorteilhafter sein könnte.

Kernproblem: Skalierbarkeit versus Komplexität der Architektur

Die Wahl zwischen Microservices und einer monolithischen Architektur wirkt sich auf die Komplexität und Geschwindigkeit der Entwicklung aus. Microservices sind zwar skalierbar, führen jedoch zu Komplexität und verlangsamen die anfängliche Entwicklung. Eine monolithische Architektur ist zwar weniger skalierbar, kann aber bei kleineren Projekten schneller und einfacher sein.

Modularer Monolith kann eine Lösung sein

modular monolith

Die Einführung eines modularen monolithischen Ansatzes kann für bestimmte Projekte effektiv sein. Diese Methode ermöglicht eine einfache Trennung in logische Module und die Möglichkeit, später bei Bedarf auf Microservices umzusteigen.

In diesem Anwendungsfall erfahren Sie:

  • Wann und warum eine monolithische Architektur Microservices vorzuziehen sein könnte.
  • Faktoren, die berücksichtigt werden müssen, bevor Sie sich für die architektonische Gestaltung des Projekts entscheiden.
  • So überprüfen Sie, ob Sie sich inmitten des Microservice-Hypes für eine einfachere, traditionellere Architektur entscheiden.

Lesen Sie weiter →

Wie man einen Erwartungs-Workshop durchführt und Projektkonflikte reduziert

In diesem Anwendungsfall wird ein Erwartungs-Workshop als unverzichtbares Instrument zur Lösung des häufigen Problems von Verzögerungen und Frustrationen bei Softwareprojekten vorgestellt, die durch nicht übereinstimmende Erwartungen von Stakeholdern und Entwicklern verursacht werden.

Das Problem: Nicht übereinstimmende Erwartungen

Der Anwendungsfall befasst sich mit der Herausforderung von Missverständnissen, Nacharbeiten und verpassten Fristen in der Softwareentwicklung, die durch unterschiedliche Hintergründe und Kommunikationsstile in multikulturellen Teams noch verschärft werden.

Erwartungsworkshop als Lösung

Die Lösung beinhaltet die Durchführung eines Erwartungsworkshops, der 8 wichtige Schritte umfasst. In dem im Anwendungsfall vorgestellten Beispiel ermöglicht der Expectation Workshop dem Team, Informationsasymmetrien und validierte falsche Überzeugungen zu erfassen, was zu Prozessverbesserungen, einer schnelleren Bereitstellung qualitativ hochwertigerer Arbeit und einer höheren Teamzufriedenheit führte.

In diesem Anwendungsfall erfahren Sie:

  • Wie man einen Expectation Workshop effektiv organisiert und durchführt.
  • Strategien zur Verbesserung der Kommunikation und zur Reduzierung von Missverständnissen in Softwareprojekten.
  • Methoden zur Führung multikultureller Teams und verschiedener Kommunikationsstile.
  • Möglichkeiten zur Identifizierung und Korrektur von Informationsasymmetrien innerhalb eines Teams.

Lesen Sie weiter →

Verbesserte Typsicherheit mit Zod - Zähmt schlecht typisierte externe Bibliotheken

Dieser Anwendungsfall zeigt, wie Zod, eine robuste Validierungsbibliothek, entscheidend zur Lösung von Integrationsproblemen beigetragen hat, die auf den schlecht eingegebenen Code in der AdminJS-Bibliothek zurückzuführen sind.

Das Problem: Schlecht getippter Code verursacht Integrationskomplexität

Der Anwendungsfall konzentriert sich auf die Schwierigkeiten, die mit dem unzureichend typisierten Code von AdminJS auftraten, was zu Integrationskomplexitäten und dem Potenzial von Laufzeitfehlern führte.

Verwendung der Zod-Bibliothek als Lösung

Zod wurde genutzt, um präzise Typschemas zu definieren und die Daten anhand dieser Schemas zu validieren, was die frühzeitige Fehlererkennung während der Entwicklung erleichterte und die allgemeine Codequalität verbesserte.

In diesem Anwendungsfall erfahren Sie:

  • Strategien zur Gewährleistung der Typsicherheit bei der Integration externer Bibliotheken mit schwach typisiertem Code.
  • So erstellen Sie umfassende Typdefinitionen und Validierungen mit Zod.
  • Techniken zum Verfeinern von Schemas und zum Ändern von Werten nach der Validierung.
  • Die Nützlichkeit der Erstellung von Subschemas für die Verarbeitung verschiedener Teile von Datennutzlasten.
  • Die Anwendung von Typwächtern zur Aufrechterhaltung der Robustheit in dynamisch typisierten Umgebungen.

Lesen Sie weiter →

Automatisierung von CI/CD für Mobilgeräte: Bitrise im Vergleich zu GitHub Actions + Migrationsstudie

Dieser Anwendungsfall befasst sich mit der strategischen Migration von Bitrise zu GitHub Actions für einen optimierten CI/CD-Prozess.

Das Problem: Skalieren mit Bitrise

Der Anwendungsfall befasst sich mit den Herausforderungen der Skalierung der Entwicklungsprozesse für mobile Anwendungen mit Bitrise und der Notwendigkeit einer flexibleren, kostengünstigeren Lösung.

Migration zu GitHub-Aktionen

github actions

Die Lösung beinhaltet den Übergang zu GitHub Actions, das eine bessere Kontrolle über CI/CD-Pipelines bietet und sich nahtloser in GitHub-Repositorys integrieren lässt, wie in der Studie beschrieben.

In diesem Anwendungsfall erfahren Sie:

  • Praktische Aspekte der Migration von CI/CD-Prozessen
  • Wie GitHub Actions potenziell eine bessere Leistung bieten kann als Bitrise
  • Überlegungen zur Workflow-Optimierung bei der Plattformmigration
  • Technische und strategische Vorteile der Verwendung von GitHub Actions für mobile Apps CI/CD

Lesen Sie weiter →

Das technische Schuldenrätsel lösen: Strategien, die das Geschäft ankurbeln

Dieser Anwendungsfall befasst sich mit der Komplexität und den Herausforderungen von Verwaltung technischer Schulden in einem älteren Softwaresystem das unter schlechter Codequalität, Skalierbarkeitsproblemen und unzureichenden Tests und Dokumentationen leidet.

Das Problem: Anhäufung von Tech-Schulden

tech debt cost vs time

Der Anwendungsfall stellt die Herausforderungen dar, die technische Schulden für die effektive Wartung und Skalierung von Softwaresystemen mit sich bringen. Eine weitere Herausforderung bestand in der Auswahl des richtigen Ansatzes und der Priorisierung der Schulden.

Strategischer Ansatz als Lösung

Die Lösung beinhaltet einen strategischen Ansatz für technische Schulden, die Bewertung ihrer Auswirkungen und die Integration des Managements in den täglichen Arbeitsablauf. Das Team nutzte ein technisches Audit, um Probleme zu priorisieren, das Refactoring an den Geschäftszielen auszurichten, die Testing Trophy-Strategie den traditionellen Testpyramiden vorzuziehen und schrittweise Refactoring-Schritte zu unternehmen, wobei der Schwerpunkt auf dem Geschäftswert und der strategischen Verbesserung lag

In diesem Anwendungsfall erfahren Sie:

  • Wie man ein Tech-Audit durchführt und welche Bedeutung es für die Bekämpfung von Tech-Schulden hat.
  • Die Wichtigkeit, technische Aufgaben auf der Grundlage potenzieller geschäftlicher Auswirkungen zu priorisieren.
  • Alternative Teststrategien, die in einigen Szenarien vorteilhafter sein könnten als herkömmliche Methoden.
  • Strategien zur schrittweisen Neugestaltung älterer Systeme zur Anpassung an die Geschäftsziele.
  • Der Wert modularer Entwicklung und ereignisgesteuerter Architektur bei der Isolierung und Bewältigung technischer Schulden.

Lesen Sie weiter →

PDF-Einblicke mit der Integration von AWS Textract und OpenAI

In diesem Anwendungsfall wird eine Methode zum effizienten Extrahieren von Informationen aus PDF-Pitchdecks beschrieben, um die Schwierigkeiten beim Umgang mit unstrukturierten Daten und grafischen Elementen zu lösen.

Das Problem: Extrahieren unstrukturierter Daten aus PDFs

Das Problem war die Extraktion relevanter Informationen aus einer großen Menge von Pitchdecks im PDF-Format, die in der Regel unstrukturiert sind und eine Mischung aus Text, Bildern und räumlichen Beziehungen aufweisen, die mit herkömmlichen Textextraktionstools nur schwer interpretiert werden können.

AWS Textract als Lösung

Die Lösung beinhaltet die Verwendung von AWS Textract für seine OCR- und Machine-Learning-Funktionen zum Extrahieren von Text in Verbindung mit den GPT-3.5- und GPT-4-Modellen von OpenAI zum Zusammenfassen und Analysieren von Inhalten, um bestimmte Informationen wie Namen oder Finanzdaten zu extrahieren.

In diesem Anwendungsfall erfahren Sie:

  • Wie sich AWS Textract von anderen OCR-Tools beim Umgang mit unstrukturierten PDF-Inhalten unterscheidet.
  • Die Anwendung der Sprachmodelle von OpenAI beim Zusammenfassen und Extrahieren von Daten aus Text.
  • Die Grenzen der aktuellen Technologie beim Verständnis komplexer visueller und räumlicher Elemente in Dokumenten.
  • Die Notwendigkeit einer Weiterentwicklung der Integration geometrischer Daten in Sprachmodelle für eine genauere Interpretation.

Lesen Sie weiter →

Paartests: Programmierer und QA arbeiten zusammen

In diesem Anwendungsfall wird die Verbesserung der Softwarequalität durch die Zusammenarbeit von Programmierern und QA-Mitarbeitern bei Paartests erörtert.

Das Problem: Mangelnde Kommunikation führt zu Ineffizienz

Der Beitrag befasst sich mit der Ineffizienz und dem Mangel an Kommunikation, die entstehen können, wenn Entwickler und QA-Tester isoliert arbeiten, was zu Missverständnissen und einer größeren Anzahl von Fehlern führen kann.

Paartests als Lösung

Die empfohlene Lösung ist das Pair-Testing, eine Technik, bei der ein Programmierer und ein Mitglied des QA-Teams zusammenarbeiten, um Software zu testen und ihre Perspektiven zu kombinieren, um Fehler früh im Entwicklungszyklus zu identifizieren und zu beheben.

benefits of pair testing

In diesem Anwendungsfall erfahren Sie:

  • Das Konzept und die Implementierung von Paartests in einer Entwicklungsumgebung.
  • Vorteile der Integration der Fähigkeiten der Entwickler und QA-Tester.
  • Praktische Einblicke in die Verbesserung der Softwarequalität und der Projektkommunikation.
  • Strategien zur Förderung einer Kooperationskultur innerhalb von Technologieteams.

Lesen Sie weiter →

TrPC vs GraphQL — Warum tRPC endlich das Problem mit der Typsicherheit behebt

Dieser Anwendungsfall vergleicht TrPC und GraphQL und hebt TrPC als effektive Lösung zur Lösung von Typsicherheitsproblemen in der Webentwicklung hervor.

Das Problem: Tippsicherheit mit GraphQL

Das angesprochene Problem ist die Schwierigkeit, Typsicherheit bei der Webentwicklung zu erreichen, was bei GraphQL besonders problematisch war, weshalb eine bessere Lösung erforderlich war.

tRPC als Lösung

tRPC wird als TypeScript-orientierte Lösung eingeführt, die Backend-Typen direkt in den Webclient integriert, die Typgenerierung automatisiert und den manuellen Codierungs- und Konfigurationsaufwand reduziert, wodurch der Entwicklungsprozess rationalisiert wird.

In diesem Anwendungsfall erfahren Sie:

  • Die intrinsischen Vorteile von tRPC für TypeScript-Entwickler.
  • Wie tRPC den Aufwand und die Komplexität bei der Verwaltung von Typen reduziert.
  • Praktische Schritte zum Einrichten von TrPC und GraphQL in einem Demo-Projekt.
  • Die Flexibilität und Effizienz steigt, wenn tRPC für häufige Änderungen verwendet wird.
  • Der Vergleich von TrPC und GraphQL in Bezug auf Wartungsfreundlichkeit und Anpassungsfähigkeit.

Lesen Sie weiter →