Single Source of Truth: Das Spec-Driven Development?
Das neue Format ‚AI and the Future of Programming‘ (AIFOP) fragt bei Fachleuten nach, wie sich die Prozesse in der Softwareentwicklung aktuell verändern.
Eine zentrale These aus dem Vortrag von Simon Martinelli lautet: Wir sollten weniger einzelne Technologien vermitteln und stärker die Konzepte hinter guter Softwareentwicklung.
Spec-Driven Development & Single Source of Truth
Mit KI wird Programmieren zunehmend zur automatisieren Leistung. Damit rücken präzise Spezifikationen noch stärker ins Zentrum. Entwickler:innen halten mit Spezifikationen fest, was ein System tun soll und nutzen sie sowohl für Entwicklung als auch für das Testen als Referenz. Martinelli versteht Spezifikationen deshalb grundsätzlich als „Single Source of Truth“, die es zwingend synchron zum Code zu halten gilt. Und Use Cases erhalten aus dieser Perspektive wieder eine verstärkte Bedeutung. Ihr Vorteil: Sie beschreiben Anforderungen in Abläufe und Varianten und sind auch für Nicht-Techniker verständlich.
Für die Hochschulehre kann das heissen: Spezifikationen werden noch wichtiger. Und Studierende müssen wie gehabt lernen, aus vagen Ideen präzise und überprüfbare Spezifikationen zu entwickeln.

Was verändert sich da gerade?
Vieles, was man bisher in der Softwarentwicklung kannte, bleibt weiterhin relevant: Domänenwissen, Requirements Engineering, Architektur, Qualitätssicherung und das Verständnis der fachlichen Zusammenhänge bleiben zentral. Doch die Art wie entwickelt wird verändert sich: Weil KI kann einen immer grösseren Teil der Implementierung übernimmt, spielen Kontext, Spezifikation, Architektur und Verantwortung eine grössere Rolle.
Auch Martinelli betont deshalb, dass die Vermittlung von übergeordneten Konzepten an Bedeutung gewinnt. Wie beurteilen wir Qualität? Welches Cyber-Risiken bestehen? Wie sind die längerfristigen System-Entwicklungshorizonte abzuschätzen?
Fundierte System- und Programmierkenntnisse
Bei der Weiterentwicklung fehlen oft Dokumentationen oder sie unvollständig. Das heisst, für bestehenden Systemen müssen Zusammenhänge, Systemlogik und Anforderungen rekonstruiert werden. Oft besteht also eine wichtige Arbeit darin, vorhandene Systeme zu verstehen, zu strukturieren und schrittweise weiterzuentwickeln. Hierfür sind fundierte System- und Programmierkenntnisse und oft auch viel Erfahrung erforderlich.