Spec-Driven Development stellt einen modernen Ansatz für die API Entwicklung dar. Kann mit diesem Ansatz die Qualität einer API massgebend verbessert und die Entwicklung erleichtert werden?
REST, OpenAPI, CI/CD, Gitlab, Python, Angular
Spec-Driven Development stellt einen modernen Ansatz für die Softwareentwicklung dar. Dieser Ansatz betont die Bedeutung der präzisen Definition und Einigung auf die API-Spezifikationen bereits vor Beginn der Programmierung. Die Gewährleistung eines klaren und einheitlichen Verständnisses der geplanten Funktionalität und des Verhaltens der API ist das Ziel dieser Methode, die alle Beteiligten – Architekt*innen, Entwickler*innen, Tester*innen und Manager*innen – einbezieht. Die Priorisierung des API-Designs gewährleistet einen organisierten und konsistenten Entwicklungsprozess. Das Spezifikationsdokument wird somit zum zentralen Kommunikationsmittel, welches jede Phase des Projekts leitet: vom Entwurf über die Entwicklung und das Testen bis hin zum Release und der darauffolgenden Wartung. Die Anwendung eines Spec-Driven-Ansatzes führt zu einer Vereinfachung der Entwicklung, dank der Verwendung von zahlreichen Automatisierungs-technologien, sowie einer Verbesserung der Produkt- und Dokumentationsqualität.
Die Anwendung eines Spec-Driven-Ansatzes bei der Entwicklung der API der aWall-Anwendung hat sich als signifikante Verbesserung erwiesen. Die Definition klarer Richtlinien sowie deren automatische Überprüfung führten zu einer signifikanten Verbesserung der Konsistenz und Qualität des API-Designs. Des Weiteren konnte die Entwicklung der API durch den Einsatz von Code- und Testgenerierung beschleunigt und auf das Wesentliche reduziert werden. Da die Spezifikation zum Zeitpunkt der Implementierung bereits vollständig vorliegt, kann die Implementierung der API in den verschiedenen Softwarekomponenten der aWall-Anwendung parallelisiert werden, was zu einer weiteren Beschleunigung des Entwicklungsprozesses beiträgt.
26 Wochen, 360h pro Person, 2 Personen
aTouch Dynamics, atouch.ch
Yannick Huggler & Yannick Koller
Prof. Martin Kropp,
martin.kropp@fhnw.ch
Fabian Affolter,
fabian.affolter@fhnw.ch