Eine Fallstudie zur Gestaltung der Landwirtschaft
FARMDOK ist die einfache Agrarsoftware, mit der Feldaufzeichnungen in der Landwirtschaft erstellt werden. Sie besteht aus einer Smartphone-App, die Aufgaben direkt im Feld aufzeichnet, und einem Webclient für die Erstellung und Auswertung von Berichten. Farmdok ist nicht nur hilfreich für gesetzlich vorgeschriebene Dokumentationsberichte für Pflanzenschutz und Düngung, sondern bietet Ihnen auch die richtigen Aufzeichnungen für Ihre Entscheidungen auf dem Betrieb.

Kunde
KMU
Typ
Team as a Service
Industrie
AgTech
Dauer
2+ Jahre
Land
Österreich
Die Vision einbeziehen
1
Den modernen Landwirt stärken
Das Hauptziel bestand darin, Landwirten ein benutzerorientiertes Softwareerlebnis zu bieten, das sie in ihrem täglichen Betrieb unterstützt.
2
Das Potenzial ausschöpfen
Unser Ziel war es, die Skalierbarkeit und Flexibilität von Farmdok zu nutzen, um den unterschiedlichen Bedürfnissen landwirtschaftlicher Unternehmen unabhängig von ihrer Größe gerecht zu werden.
3
Kontinuierliche Entwicklung
Mit einem kontinuierlichen Engagement für Innovationen wollten wir eine nahtlose Pipeline von Softwareverbesserungen schaffen, die sich an neue AgTech-Trends und die Anforderungen der Landwirte anpassen.
Farmdok verbessern
Erste Schritte
Bei der Arbeit an einem bestehenden Produkt spielen Architekturworkshops eine zentrale Rolle bei der Verbesserung dieses Produkts. In diesen Workshops evaluieren wir die aktuelle Architektur und entwickeln Verbesserungsstrategien. Durch die Analyse der Stärken und Schwächen des Systems gewann das neue Entwicklungsteam wertvolle Erkenntnisse, die als Grundlage für Entscheidungen und die Priorisierung von Verbesserungen dienen. Nicht nur vor Projektbeginn, sondern auch zwischen wichtigen Meilensteinen dienen diese Workshops als Gelegenheit zur kontinuierlichen Bewertung und Verbesserung.
Agilität in Aktion
Wir verwendeten eine agile SCRUM-Methode, die für ihre Anpassungsfähigkeit und Kundenbindung bekannt ist. Innerhalb von SCRUM tragen Schlüsselelemente zum Erfolg bei. Die Roadmap bietet einen umfassenden Überblick über die Projektziele und Zeitpläne, während das Backlog als dynamische Liste priorisierter Aufgaben dient. In täglichen Besprechungen wird die Arbeit des Teams synchronisiert und der Fortschritt besprochen.
Jeder „Sprint“, ein zweiwöchiger Entwicklungszyklus, konzentrierte sich auf bestimmte Softwarefunktionen. Nach jedem Sprint erhielten unsere Kunden eine Erweiterung des funktionellen Produkts, das einen transparenten Überblick über das Wachstum der Software bot.

Der iterative Prozess innerhalb von SCRUM beginnt mit der Definition von Anforderungen und der Priorisierung von Aufgaben in der Anforderungsphase, gefolgt von der Schaffung eines zusammenhängenden visuellen Erlebnisses in der Designphase. Die Entwicklung implementiert dann Funktionen mithilfe geeigneter Technologien, während das Testen Qualität und Kompatibilität sicherstellt.
Die effiziente Bereitstellung von Updates erfolgt während der Bereitstellung. In der Überprüfungsphase wird Feedback genutzt, um das Produkt und die internen Arbeitsabläufe zu optimieren und kontinuierlich zu verbessern.
Der Einsatz von SCRUM ermöglicht es uns, uns schnell an Änderungen anzupassen, Feedback zu berücksichtigen und schrittweise Mehrwert zu schaffen.
Dies führt letztendlich zu einer höheren Produktqualität und einer erhöhten Kundenzufriedenheit.
Die folgenden Abschnitte geben Einblicke in einen Sprint, der sich auf die Funktion „Felder“ konzentriert, und zeigen, wie die Agile Scrum-Methode angewendet wurde, um effiziente Teamarbeit, iterative Entwicklung und Kundenzufriedenheit sicherzustellen.
Phase 1
Anforderungen

Auf das Wesentliche konzentrieren
Während der Anforderungsphase haben wir uns intensiv mit der Funktion „Felder“ befasst und die Benutzerberichte iterativ verfeinert, um uns auf die wichtigsten Elemente wie Datenvalidierung, Benutzerberechtigungen und die nahtlose Integration in bestehende Workflows zu konzentrieren. Durch die Spezifizierung der API haben wir klare Richtlinien für den Datenaustausch zwischen Frontend- und Backend-Systemen festgelegt.
Basierend auf den verfeinerten Anwenderberichten haben wir detaillierte Tickets für das Entwicklungsteam erstellt, in denen die genauen Anforderungen und Akzeptanzkriterien für jede Aufgabe beschrieben sind.
Mit der Felder-Funktion wurden neue Widgets für die Datenvisualisierung eingeführt. In den Tickets wurden die visualisierten Datenpunkte, ihr Design und die Benutzergruppen beschrieben, die Zugriff auf diese Funktion haben. In den API-Definitionen wurde beschrieben, was die Backend-Techniker implementieren mussten und wie Frontend-Komponenten die erforderlichen Daten abrufen können.
Wir verwenden ein KANBAN-Board, um den Status von Tickets für alle jederzeit transparent zu machen. Dies hilft uns, den Überblick zu behalten und Blocker frühzeitig zu identifizieren.
Phase 2
Design

Schneller durch ein ausgereiftes Designsystem
Ein umfangreiches Designsystem legt einen einheitlichen Satz von Konstruktionsprinzipien, Richtlinien und wiederverwendbaren Komponenten fest. Farmdok hat in Figma bereits ein detailliertes Designsystem eingeführt, das schrittweise erweitert wurde und sicherstellte, dass alle Bildschirme, Interaktionen und visuellen Elemente im gesamten Produkt ein einheitliches Erscheinungsbild haben. Dadurch konnten wir das Erscheinungsbild neuer Komponenten in den einzelnen Bereichen wie Textstile, Farben und Formen festlegen. Da die Design-Tokens in Figma auf die Codebasis abgestimmt sind, war es einfach, Mockups als Referenz für die Entwickler zu erstellen.
Phase 3
Entwickeln
Ein moderner Tech-Stack, der Spaß macht
Farmdok verwendet Vue.js als leistungsstarkes JavaScript-Framework für die Erstellung flexibler und interaktiver Benutzeroberflächen. Bootstrap bietet uns gebrauchsfertige Komponenten, die an das Farmdok-Designsystem angepasst wurden, um die bestmögliche Wiederverwendbarkeit zu gewährleisten. Für die API-Spezifikation haben wir OpenAPI verwendet, einen weit verbreiteten Standard zur Definition und Dokumentation von RESTful-APIs. OpenAPI ermöglichte es uns, klare Richtlinien für den Datenaustausch zwischen den Front-End- und Back-End-Systemen festzulegen und so die nahtlose Integration und Zusammenarbeit zwischen den Mitgliedern des Entwicklungsteams zu fördern. Bibliotheken wie Turf.js bieten wertvolle Funktionen für die Arbeit mit geographischen Daten, um Benutzern die Möglichkeit zu geben, Geodaten zu analysieren und zu visualisieren. Als Management-Tool spielen Tabellen in Farmdok eine entscheidende Rolle. HandsOnTable dient als solide Grundlage, um Landwirten in der gesamten App ein interaktives und flexibles, tabellenkalkulationsähnliches Erlebnis zu bieten.
Vue.js

Bootstrap

Handsontable

Turf.js

OpenAPI
Qualität von Anfang bis Ende
Bei & setzen wir bewährte Managementtechniken, Best Practices und strenge Qualitätssicherungsmaßnahmen ein. Wir halten uns strikt an die ISTQB-Teststandards und räumen der Sicherheit Priorität ein, indem wir uns mit den in den OWASP Top 10-Berichten identifizierten Risiken befassen. Automatisierte Überprüfungen mithilfe statischer Codeanalysetools halten die Codierungsstandards ein, während Peer-Code-Reviews dem „4-Augen-Prinzip“ folgen. Kontinuierliche Integrationspipelines gewährleisten eine gründliche Qualitätssicherung, von der Kompilierung bis zum Testen. Unsere Planungs- und Dokumentationsprozesse umfassen Referenztickets mit definierten Kriterien zur Definition des Status „Ready“. Jedes Ticket entspricht einer „Definition of Done“ von INVEST und beinhaltet Akzeptanzkriterien. Durch diese Maßnahmen liefern wir durchweg hochwertige Software, die den Kundenerwartungen und Industriestandards entspricht.

Sicherheitsstandards

Klarer Entwicklungsprozess

Peer Code Reviews

Automatisierte Checks

Dokumentation

Hohe Qualität liefern
Phase 4
Testen

Testen mit Strategie
Tests spielten eine wichtige Rolle bei der Sicherstellung der Qualität und Stabilität von Farmdok. Wir haben mit Jest eine umfassende Reihe von Einheiten- und Integrationstests verwendet, um die Funktionalität und Leistung der einzelnen Aspekte zu überprüfen. Bei der Arbeit an einer neuen Funktion erweitert jeder Entwickler die Testsuite um die in den Tickets angegebenen Anforderungen.
Wie bereits erwähnt, wurden mit der Iteration der Feldfunktion neue Widgets in den Felddetails eingeführt. Einheiten- und Integrationstests bestätigten nicht nur die zugrundeliegende Logik und Funktionalität, sondern stellten auch sicher, dass keine negativen Auswirkungen auf bestehende Elemente auftraten.
Durch die Nutzung von Cypress für automatisierte Ende-zu-Ende-Tests konnten wir simulieren, wie Benutzer mit der neuen Funktion interagieren würden, und die Gesamtfunktionalität des Systems beurteilen. Dadurch wurde ein robustes Produkt während der kontinuierlichen Entwicklungszyklen gewährleistet.
Phase 5
Veröffentlichen

Reibungsloser Launch
Ein optimierter Bereitstellungsprozess wurde durch die Leistungsfähigkeit von GitLab CI angetrieben und verwandelte Code in die Realität. Automatisierte Bereitstellungen sorgten für eine effiziente und zuverlässige Bereitstellung von Updates in Farmdok.
Nach Abschluss der Aufgaben im Zusammenhang mit der Felder-Funktion in diesem Sprint wurde die neue Funktionalität in einer internen Testumgebung bereitgestellt, um einer gründlichen Bewertung unterzogen zu werden, um wertvolles Feedback von internen Stakeholdern einzuholen. Dieses Feedback half dabei, die notwendigen Anpassungen vorzunehmen, bevor neue Funktionen in der Produktionsumgebung veröffentlicht wurden, sobald der gesamte Funktionsumfang fertiggestellt war. Dies ermöglichte es uns, Farmdok Stück für Stück zu verbessern und weiterzuentwickeln.
Da Updates jederzeit mit einem einzigen Klick verfügbar waren, stellte unser kontinuierlicher Bereitstellungsansatz sicher, dass Landwirte in ihrem täglichen Betrieb direkt von den neuesten Fortschritten im Feldmanagement profitieren konnten.
Phase 6
Bewertung
Fine-Tuning
Wie ein Dirigent, der eine Symphonie perfektioniert, haben wir jeden Aspekt sorgfältig analysiert und Leistung, Benutzerfreundlichkeit und Funktionalität unter die Lupe genommen. In strengen Überprüfungs- und Feedback-Zyklen haben wir das Nutzererlebnis optimiert und dafür gesorgt, dass es sich nahtlos an die Bedürfnisse der Landwirte anpasst. Dieser Schritt bietet unserem Entwicklungsteam die Gelegenheit, zusammenzuarbeiten, Prozesse zu optimieren und interne Arbeitsabläufe zu verbessern.
In diesem speziellen Sprint wurde nach Abschluss der Aufgaben im Zusammenhang mit der Funktion „Felder“ durch den Überprüfungsprozess deutlich, dass es spezifische Randfälle gab, die für bestimmte Benutzergruppen angegangen werden mussten. Wir konnten sie in den bevorstehenden Sprint zur Problemlösung integrieren, was die Effektivität unseres iterativen Entwicklungsansatzes und der kurzen Feedback-Zyklen unterstrich.
Rückblick
In der Überprüfungsphase führen wir eine Sprint-Retrospektive durch, um unsere Fortschritte zu reflektieren und Erkenntnisse für kontinuierliche Verbesserungen zu sammeln. Durch die Bewertung der Erfolge und Herausforderungen des abgeschlossenen Sprints identifizieren wir Bereiche, in denen Verbesserungen und Anpassungen erforderlich sind. In diesem Sprint haben wir beispielsweise festgestellt, dass die Implementierung interaktiver Komponenten in Tabellen komplexer war als ursprünglich geplant. Dies ermöglichte es uns, unseren Entwicklungsansatz für den nächsten Sprint zu verfeinern und zusätzliche Ressourcen für die Lösung der Komplexität bereitzustellen.
Die Retrospektive dient als Ausgangspunkt für den nächsten Sprint und gewährleistet einen kontinuierlichen agilen Kreislauf aus Planung, Ausführung, Überprüfung und Verfeinerung.

Iterieren
Nach Abschluss eines Sprints durchläuft das Projekt erneut die verschiedenen Phasen. Dieser iterative Charakter ermöglicht Flexibilität, Anpassung und die Einbeziehung von Feedback in jeder Phase. Jeder Sprint baut auf dem vorherigen auf, verbessert die Software schrittweise und verfeinert den Entwicklungsprozess auf der Grundlage der gewonnenen Erkenntnisse.
Durch diesen iterativen Ansatz stellt Farmdok sicher, dass seine Softwarelösung dynamisch bleibt, auf die Bedürfnisse der Benutzer reagiert und konsequent auf die sich ständig ändernden Anforderungen der Agrarindustrie abgestimmt ist.
Einzigartige Domäne, einzigartige Herausforderungen
Sicherstellung der Robustheit
Das Erreichen einer umfassenden Testabdeckung in bestehenden Codebasen ist aufgrund komplizierter Abhängigkeiten und begrenzter Dokumentation eine Herausforderung. Bei der Nachrüstung von Tests müssen Lücken identifiziert, das beabsichtigte Verhalten verstanden und die Auswirkungen auf andere Komponenten abgemildert werden. Trotz der Herausforderungen ist die Verbesserung der Testabdeckung von entscheidender Bedeutung für Stabilität, Wartbarkeit und Qualitätsverbesserung. Dadurch werden Regressionsfehler reduziert und die zukünftige Entwicklung erleichtert.
Vue.js 2 → Vue.js 3
Die Migration des Projekts von Vue.js 2 auf Vue.js 3 war ein wichtiger Schritt, um an der Spitze der aktuellen Entwicklungen im Ökosystem von Vue zu bleiben. Diese Migration ermöglichte es uns, die erweiterten Funktionen, die verbesserte Leistung und die Skalierbarkeit von Vue.js 3 zu nutzen. Durch eine detaillierte Planung und umfassende Tests sorgten wir für einen reibungslosen Übergang und minimierten gleichzeitig mögliche Störungen der Funktionalität von Farmdok.
Innovation kultivieren
Zusammenfassung
Bei Farmdok haben wir unser Fachwissen 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 geliefert, die die Vision von Farmdok widerspiegeln und die Landwirte stärken. Unsere nachgewiesene Erfolgsbilanz und unser Engagement für Innovationen haben uns zur vertrauenswürdigen Wahl für Farmdok gemacht.
Auswirkung
Farmdok bringt bedeutende Fortschritte in der Landwirtschaft, indem es die Führung von Feldaufzeichnungen vereinfacht und datengestützte Entscheidungen ermöglicht. Durch unsere Expertise in der Entwicklung benutzerfreundlicher Software hat & eine wichtige Rolle bei der ständigen Verbesserung und Weiterentwicklung von Farmdok gespielt. Unser Beitrag ermöglicht es Landwirten, Produktivität und Nachhaltigkeit zu verbessern und fundierte Entscheidungen zu treffen, und unterstützt sie bei der Verwaltung ihrer Farmen.
Andreas Prankl
,
Mitbegründer von Farmdok
“Thanks to their exceptional expertise in software architecture, the team not only streamlined our application's development, but significantly enhanced its quality and stability. Partnering with & has undoubtedly been a game-changer for our project.”
Über &
& nutzt die Macht der Technologie, um Menschen bei dem zu unterstützen, was sie tun. Je nach Ihren Ideen und Bedürfnissen entwickeln, gestalten und verbessern wir Softwareprodukte, um Ihre digitale Präsenz zu stärken.
Sind Sie bereit, Ihr Unternehmen mit innovativen Softwarelösungen zu transformieren?
Bei & setzen wir uns leidenschaftlich dafür ein, Ihre Ideen in die Realität umzusetzen und außergewöhnliche Softwarelösungen zu liefern, die Ihren individuellen Anforderungen entsprechen.
