Skip to content
DE | EN
Logo Farmdok

Eine Fallstudie zur digitalen Gestaltung der Landwirtschaft

FARMDOK ist eine userfreundliche Landwirtschafts-Software, die für die Aufzeichnung von Felddaten verwendet wird. Sie besteht aus einer Smartphone-App, mit der Aufgaben direkt am Feld erfasst werden, und einem Webclient zur Erstellung von Auswertungen und Berichten. Farmdok ist nicht nur hilfreich für gesetzlich vorgeschriebene Dokumentationsberichte für Pflanzenschutz und Düngung, sondern liefert auch sinnvolle Aufzeichnungen für datengestützte Entscheidungen.

Farmdok_mockup_cropped

Kund*in

KMU

Typ

Team as a Service

Industrie

AgTech

Dauer

2 Jahre+

Land

Österreich

Einbeziehung der Vision

1

Moderne Landwirte stärken

Das Hauptziel bestand darin, Landwirte mit einer benutzerzentrierten Softwarelösung zu stärken, die sie in ihren täglichen Betriebsabläufen unterstützt

2

Das Potenzial entfesseln

Unser Ziel war es, die Skalierbarkeit und Flexibilität von Farmdok zu realisieren, um den vielfältigen Anforderungen landwirtschaftlicher Unternehmen gerecht zu werden, unabhängig von ihrer Größe.

3

Kontinuierliche Weiterentwicklung

Mit dem fortlaufenden Engagement für Innovation strebten wir danach, einen nahtlosen Prozess der Softwareverbesserungen zu schaffen, der sich an den aufkommenden AgTech-Trends und den Anforderungen der Landwirte anpasst.

Farmdok weiterentwickeln

Animation of a drawing pen on paper

Getting Started

Bei der Arbeit an einem bestehenden Produkt spielen Architektur-Workshops eine entscheidende Rolle in dessen Weiterentwicklung. In diesen Workshops bewerten wir die aktuelle Architektur und entwickeln Strategien zur Verbesserung. Durch Analyse der Stärken und Schwächen des Systems, gewann das neue Entwicklungsteam wertvolle Erkenntnisse, die bei Entscheidungen und der Priorisierung von Verbesserungen helfen. Diese Workshops dienen nicht nur vor Beginn des Projekts, sondern auch zwischen den wichtigsten Meilensteinen als Gelegenheit für laufende Evaluierung und Optimierungen.

Animation of three arrows in a cirlce

Agile Entwicklung in Aktion

Wir nutzten die Agile SCRUM Methodik, die für ihre Anpassungsfähigkeit und Kundenbeteiligung bekannt ist. Innerhalb von SCRUM tragen wesentliche Elemente zu Erfolg bei. Die Roadmap bietet eine übergreifende Sicht auf Projektziele und Zeitpläne, während das Backlog eine dynamische Liste priorisierter Tasks darstellt. Tägliche Stand-up-Meetings synchronisieren die Arbeit des Teams und behandeln den Fortschritt.

Jeder 'Sprint', ein zweiwöchiger Entwicklungszyklus, konzentriert sich auf spezifische Softwarefunktionen. Nach jedem Sprint erhalten unsere Kunden eine Erweiterung des funktionalen Produkts mit einem transparenten Blick auf das Wachstum der Software.

Agile Process

Der iterative Prozess innerhalb von SCRUM beginnt mit der Definition der Anforderungen und der Priorisierung von Aufgaben, gefolgt von der Erstellung eines stimmigen visuellen Erlebnisses in der Designphase. Die Entwicklung implementiert die Funktionalitäten unter Verwendung geeigneter Technologien, während das Testing Qualität und Kompatibilität gewährleistet.

Eine effiziente Bereitstellung von Updates findet im Deployment statt. In der Review-Phase wird Feedback gesammelt, um das Produkt und interne Arbeitsabläufe weiter zu optimieren und kontinuierlich zu verbessern.
SCRUM macht es möglich, sich schnell an Änderungen anzupassen, Feedback einzubeziehen und schrittweise Mehrwert zu liefern.

Dies führt letztendlich zu einer höheren Produktqualität und einer gesteigerten Kundenzufriedenheit.
Die folgenden Abschnitte geben Einblicke in einen Sprint, der sich auf das 'Felder'-Feature konzentrierte. Wir zeigen, wie die agile SCRUM-Methodik angewendet wurde, um effiziente Teamarbeit, iterative Entwicklung und Kundenzufriedenheit zu gewährleisten.

Phase 1

Anforderungen

Fokus auf das Wesentliche

Während der Anforderungsphase haben wir uns intensiv mit dem 'Felder'-Feature befasst und dabei User Storys iterativ verfeinert, um die wichtigsten Elemente hervorzuheben, wie z.B. Datenvalidierung, Berechtigungen und die nahtlose Integration in bestehende Arbeitsabläufe. Durch die Spezifikation der API haben wir klare Richtlinien für den Datenaustausch zwischen den Frontend- und Backend Systemen festgelegt.
Basierend auf den verfeinerten User Storys wurden detaillierte Tickets für das Entwicklungsteam erstellt, welche die genauen Anforderungen und Akzeptanzkriterien für jeden Task beschrieben. Das 'Felder'-Feature führte neue Widgets zur Datenvisualisierung ein. Die Tickets beschrieben die Datenpunkte, deren Gestaltung und welche Benuetzer*innengruppen Zugriff auf diese Funktion erhalten. Die API-Definitionen legten fest, was das Backend-Team implementieren musste und wie Frontend-Komponenten die nötigen Daten abrufen können.
Wir verwenden ein KANBAN-Board, um den Status der Tickets jederzeit für alle transparent zu machen. Dadurch behalten wir den Überblick und können Blocker frühzeitig identifizieren.

Screenshot of a GitLab Issue Board
Phase 2

Design

Screenshot of components and mockups in Figma

Effizienz durch ein ausgereiftes Design-System

Ein umfassendes Designsystem legt eine einheitliche Sammlung von Designprinzipien, Richtlinien und wiederverwendbaren Komponenten fest. Farmdok verfügte bereits über ein detailliertes Designsystem in Figma, das schrittweise erweitert wurde, um sicherzustellen, dass alle Oberflächen, Interaktionen und visuellen Elemente im gesamten Produkt ein einheitliches Erscheinungsbild haben. 

Dies ermöglichte es uns, den Stil neuer Komponenten im 'Felder'-Feature, wie z.B. Textstile, Farben und Formen zu spezifizieren. Da Designtokens in Figma mit der Codebase abgestimmt sind, war es einfach, Mockups als Referenz für die Entwickler*innen zu erstellen. 

Phase 3

Entwicklung

Ein moderner und spannender Techstack

Farmdok nutzt Vue.js als leistungsstarkes JavaScript-Framework zur Entwicklung flexibler und interaktiver User-Interfaces. Bootstrap stellt uns vorgefertigte Komponenten zur Verfügung, die an das Farmdok Designsystem angepasst wurden, um eine bestmögliche Wiederverwendbarkeit zu gewährleisten.

Die Spezifikation der API basiert auf OpenAPI, einem weit verbreiteten Standard zur Definition und Dokumentation von RESTful APIs. OpenAPI ermöglichte es uns, klare Richtlinien für den Datenaustausch zwischen Front-End- und Back-End-Systemen festzulegen und eine nahtlose Integration und Zusammenarbeit zwischen den Mitgliedern des Entwicklungsteams zu fördern.

Um Nutzer*innen geografische Analysen und Visualisierungen zur Verfügung zu stellen, bieten Bibliotheken wie Turf.js praktische Funktionen für die Verarbeitung von Geodaten. Als Verwaltungstool spielen Tabellen eine wichtige Rolle in Farmdok. HandsonTable fungiert als robuste Grundlage, um Landwirten ein interaktive und flexibles Erlebnis, ähnlich zu einer Tabellenkalkulation, in der gesamten Applikation zu bieten.

Animation of Security Standards

Security Standards

Animation of a git branch

Clear Development
Processes

Animation of two people talking

Peer Code Reviews

Animation of automated checks

Automated Checks

Animation of a document

Documentation

Animation of a truck

Deliver High Quality

Qualität von Anfang bis Ende

Bei &amp vertrauen wir auf bewährte Managementtechniken, Best Practices und strenge Qualitätsprüfungsmaßnahmen. Wir halten uns strikt an die ISTQB Testing Standards und priorisieren Sicherheit, indem wir Risiken ansprechen, die in den OWASP Top 10-Berichten identifiziert wurden. Automatisierte Checks mithilfe von statischen Code-Analysetools helfen bei der Einhaltung von Programmierstandards, während Peer-Code-Reviews dem "4-Augen-Prinzip" folgen. Durch kontinuierliche Integrationspipelines gewährleisten wir eine gründliche Qualitätssicherung, von der Kompilierung bis zum Testing. Unsere Planungs- und Dokumentationsprozesse beinhalten Referenztickets mit definierten "Definition of Ready"-Kriterien. Jedes Ticket folgt einer INVEST "Definition of Done" und enthält Akzeptanzkriterien. Durch diese Maßnahmen liefern wir konsequent qualitativ hochwertige Software, die den Erwartungen der Kund*innen und Industriestandards entspricht.

Phase 3

Testen

Testen mit Strategie

Das Testen spielte eine wichtige Rolle bei der Sicherstellung der Qualität und Stabilität von Farmdok. Zum Einsatz kam eine umfassende Suite von Unit- und Integrationstests mit Jest, um die Funktionalität und Leistung jeder Komponente zu validieren. Bei der Arbeit an neuen Features erweitert jede*r Entwickler*in die Tests entsprechend den Anforderungen, die in den Tickets festgelegt sind.

Wie erwähnt, führte die Iteration des 'Felder'-Features neue Widgets in den Felddetails ein. Die Unit- und Integrationstests validierten nicht nur die zugrunde liegende Logik und Funktionalität, sondern stellten auch sicher, dass keine negativen Auswirkungen auf bestehende Elemente auftraten.

Die Verwendung von Cypress für automatisierte End-to-End-Tests ermöglichte es uns zu simulieren, wie Nutzer*innen das neue Feature verwenden, sowie die Gesamtfunktionalität des Systems zu beurteilen. Dies gewährleistete ein robustes Produkt während kontinuierlicher Entwicklungszyklen.

Farmdok_cypress
Phase 4

Bereitstellen

Screenshot of passed pipelines in GitLab

Smooth Sailing

Ein optimierter Deploymentprozess wurde durch Gitlab CI angetrieben, um aus Code in Realität umzuwandeln. Automatisiertes Deployment gewährleistete das effiziente und zuverlässige Ausrollen von Updates in Farmdok.

Nach Abschluss der mit dem "Felder"-Feature verbundenen Aufgaben in diesem Sprint wurde die neue Funktionalität in einer internen Testumgebung bereitgestellt, um eine gründliche Evaluierung durchzuführen und Feedback von internen Stakeholdern zu erhalten. Dieses Feedback half dabei, notwendige Anpassungen vorzunehmen, bevor nach Abschluss des gesamten Funktionsumfangs neue Änderungen in der Produktivumgebung veröffentlicht wurden. Dadruch konnten wir Farmdok Stück für Stück verbessern und weiterentwickeln.

Durch dir Möglichkeit, Updates mit nur einem Klick jederzeit verfügbar zu machen, gewährleistete unser kontinuierliches Deploymentkonzept, dass Landwirte direkt von den neuesten Verbesserungen der Feldverwaltung in ihrem täglichen Betrieb profitieren konnten.

Phase 5

Review

Animation of a tool

Feinschliff

Wie eine Dirigentin, die eine Symphonie perfektioniert, haben wir jeden Aspekt analysiert und auf Leistung, Bedienbarkeit und Funktionalität geprüft. In kurzen Feedback-Zyklen haben wir das Nutzer*innenerlebnis fein abgestimmt, um sicherzustellen, dass es den Bedürfnissen der Landwirte entspricht. In diesem Schritt kann unser Entwicklungsteam gemeinsam Prozesse optimieren und interne Arbeitsabläufe zu verbessern.
In diesem spezifischen Sprint wurde nach Abschluss der Tasks des 'Felder'-Features im Reviewprozess deutlich, dass manche Randfälle für bestimmte Nutzer*innengruppen berücksichtigt werden mussten. Diese konnten im nächsten Sprint zur Lösung integriert werden, was die Wirksamkeit unseres iterativen Entwicklungsansatzes verdeutlichte.

Animation of a magnifying glass

Retrospektive

In der Reviewphase führen wir eine Sprint-Retrospektive durch, um unseren Fortschritt zu reflektieren und Verbesserungsmöglichkeiten zu sammeln. Durch die Evaluierung der Erfolge und Herausforderungen des abgeschlossenen Sprints identifizieren wir so Aspekte für mögliche Anpassungen. Z.B. haben wir in diesem Sprint erkannt, dass die Implementierung interaktiver Tabellenkomponenten komplexer war als ursprünglich geplant. Das ermöglichte es uns, den Entwicklungsprozess für den nächsten Sprint zu verfeinern und zusätzliche Ressourcen zur Bewältigung der Komplexität zuzuweisen.
Die Retrospektive dient als Ausgangspunkt für den nächsten Sprint und ermöglicht eine kontinuierliche Schleife aus Planung, Ausführung, Review und Verfeinerung.

Wiederholen

Nach Abschluss eines Sprints durchläuft das Projekt erneut die verschiedenen Phasen. Diese Form der Iteration ermöglicht Flexibilität, Anpassungsfähigkeit und die Integration von Feedback in jeder Phase. Jeder Sprint baut auf dem vorherigen auf und verbessert die Software inkrementell, während der Entwicklungsprozess basierend auf den gewonnenen Erkenntnissen verfeinert wird.
Durch die Umsetzung dieses iterativen Ansatzes stellt Farmdok gemeinsam mit &amp sicher, dass die Software dynamisch bleibt, auf Bedürfnisse der Nutzer*innen reagiert und kontinuierlich den sich ändernden Anforderungen dieser Branche gerecht bleibt.

Farmdok_Fields

Einzigartiger Bereich, Einzigartige Herausforderungen

Animation of puzzle pieces

Robustheit sicherstellen

Eine umfassende Testabdeckung in einer bestehenden Codebase zu erreichen, stellt aufgrund komplexer Abhängigkeiten und begrenzter Dokumentation eine Herausforderung dar. Das Nachrüsten von Tests erfordert die Identifizierung von Lücken, ein Verständnis des beabsichtigten Verhaltens und des Zwischenspiels anderer Komponenten. Herausforderungen ist eine Verbesserung der Testabdeckung für Stabilität, Wartbarkeit und Qualitätsverbesserung von entscheidender Bedeutung. Sie reduziert Regressionseffekte und erleichtert zukünftige Entwicklungen.

Animation of layers

Vue.js 2 → Vue.js 3

Die Migration des Projekts von Vue.js 2 auf Vue.js 3 war ein wichtiger Schritt, um auf dem neuesten Stand aktueller Entwicklungen im Vue Ökosystem zu bleiben. Diese Migration ermöglichte es uns, von den erweiterten Funktionen, der verbesserten Leistung und Skalierbarkeit von Vue.js 3 zu profitieren. Durch eine detaillierte Planung und umfassende Tests haben wir einen reibungslosen Übergang sichergestellt, während potenzielle Störungen innerhalb von Farmdok minimiert wurden.

Innovation kultivieren

farmdok-logo

Zusammenfassung

Bei Farmdok, haben wir unsere Expertise in der agilen Softwareentwicklung genutzt, um das bestehende Produkt schrittweise weiterzuentwickeln. Mit unserem optimierten Prozess, umfassenden Tests und kontinuierlicher Zusammenarbeit haben wir maßgeschneiderte Lösungen erstellt, die die Vision von Farmdok verkörpern und Landwirte in ihren täglichen Arbeiten unterstützen. Unsere umfassende Erfolgsbilanz und unser Engagement für Innovation haben uns zur vertrauten Wahl für Farmdok gemacht.
Animation of a spinning Globe

Impact

Farmdok bringt bedeutende Fortschritte in der Landwirtschaft, indem es die Aufzeichnung von Felddaten vereinfacht und datengestützte Entscheidungen ermöglicht. Durch unsere Erfahrung in der Entwicklung nutzer*innenzentrierter Software hat &amp eine wesentliche Rolle bei der ständigen Verbesserung und Weiterentwicklung von Farmdok gespielt. Unser Beitrag ermöglicht es Landwirten, ihre Produktivität und Nachhaltigkeit zu steigern, fundierte Entscheidungen zu treffen und sie bei der Bewirtschaftung ihrer Betriebe zu unterstützen.

Portrait of Andreas Prankl

Andreas Prankl

Co-Founder von Farmdok

“Dank ihrer außergewöhnlichen Expertise im Bereich der Softwarearchitektur konnte das Team nicht nur die Entwicklung unserer Anwendung optimieren, sondern auch ihre Qualität und Stabilität erheblich verbessern. Die Zusammenarbeit mit &amp war zweifellos ein Gamechanger für unser Projekt.”

Über &amp

&amp nutzt die Kraft der Technologie, um Menschen in dem, was sie tun, zu stärken. Abhängig von Ihren Ideen und Bedürfnissen entwickeln, gestalten und verbessern wir Softwareprodukte, um Ihre digitale Resilienz zu erhöhen.

Portrait of Andreas Wittmann
Andreas Wittmann
LinkedIn Icon
Projektleiter und geschäftsführender Partner bei &amp

Bereit, Ihr Unternehmen mit innovativen Softwarelösungen zu transformieren?

Bei &amp sind wir leidenschaftlich darum bemüht, Ihre Ideen in die Realität umzusetzen und außergewöhnliche Softwarelösungen zu liefern, die Ihre einzigartigen Anforderungen erfüllen.