Connect with us

Entwicklung & Code

Eine Schätzung ist keine Prognose: Sprachphilosophie im Softwareprojekt


Nicht nur in agilen Projekten gehört es zum normalen Vorgehen, Aufgaben zu schätzen (Ticket-Estimation). Persönlich vertrete ich dabei die Meinung, dass Schätzungen immer richtig sind. Es handelt sich schließlich um eine Schätzung.

Weiterlesen nach der Anzeige


Escape the Feature Factory: Stefan Mintert

Escape the Feature Factory: Stefan Mintert

(Bild: 

Stefan Mintert

)

Stefan Mintert arbeitet mit seinen Kunden daran, die Unternehmenskultur in der Softwareentwicklung zu verbessern. Das derzeit größte Potenzial sieht er in der Leadership; unabhängig von einer Hierarchieebene.

Die Aufgabe, dieses Potenzial zu heben, hat er sich nach einem beruflichen Weg mit einigen Kurswechseln gegeben. Ursprünglich aus der Informatik kommend, mit mehreren Jahren Consulting-Erfahrung, hatte er zunächst eine eigene Softwareentwicklungsfirma gegründet. Dabei stellte er fest, dass Führung gelernt sein will und gute Vorbilder selten sind.

Es zeichnete sich ab, dass der größte Unterstützungsbedarf bei seinen Kunden in der Softwareentwicklung nicht im Produzieren von Code liegt, sondern in der Führung. So war es für ihn klar, wohin die Reise mit seiner Firma Kutura geht: Führung verbessern, damit die Menschen, die die Produkte entwickeln, sich selbst entwickeln und wachsen können.

Für Heise schreibt Stefan als langjähriger, freier Mitarbeiter der iX seit 1994.

Wikipedia versteht darunter die genäherte Bestimmung von Zahlenwerten, Größen oder Parametern durch Augenschein, Erfahrung oder statistische Methoden. Eine Schätzung bestimmt also etwas, was ist, und nicht etwas, was wird. Eine Schätzung kümmert sich nicht um die Zukunft.

Die meisten Manager, die ich erlebt habe, behandeln Schätzungen aber wie eine Prognose, also eine Vorhersage über die Zukunft.

Wenn die Zukunft dann zur Gegenwart geworden ist, vergleicht man die Schätzung aus der Vergangenheit mit einem Wert, der sich zu einem späteren Zeitpunkt entwickelt hat. Das passt nicht zusammen.

Was die Manager eigentlich wollen, ist – wie gesagt – eine Prognose. Auch dazu hat Wikipedia etwas Interessantes zu sagen: Von anderen Aussagen über die Zukunft (z. B. Prophezeiungen) unterscheiden sich Prognosen durch ihre Wissenschaftsorientierung.

Wer sich als Entwickler von Schätzungen und dem Umgang damit unter Druck gesetzt fühlt, kann mal versuchen, Schätzungen durch Prognosen zu ersetzen. Selbstverständlich explodiert damit der Aufwand. Und genau das ist der Punkt: Viele Manager sprechen sehr viel und sehr gerne darüber, wie man besser schätzen kann. In diese Frage wird viel Energie gesteckt. Die Frage, wie man besser arbeiten kann, tritt dabei oft in den Hintergrund.

Weiterlesen nach der Anzeige

Es wirkt manchmal so, als ob die Schätzung (die eigentlich eine Prognose sein soll) wichtiger als das Produkt ist. Der Grund dahinter ist oft die den Managern heilige Planung. Die Gründe für deren Scheitern liegen aber nicht in der Durchführung der Schätzung. Eine Schätzung ist immer richtig, wie ich auch bereits an anderer Stelle schrieb.

Das gilt auch, wenn der geschätzte Wert vom wahren Wert abweicht. Wenn mir das nicht gefällt, müsste ich eine Schätzung durch eine Messung ersetzen. Das ist in diesem Fall nicht möglich, weil ich zukünftige Ergebnisse nicht heute messen kann.

Wenn ein Ticket bei Fertigstellung also dreimal so viel Zeit erforderte, wie geschätzt (prognostiziert) wurde, wird nicht die Frage gestellt, ob die Umsetzung des Tickets gut gelaufen ist. Nein. Bereits die Abweichung von der Schätzung (Prognose) genügt, um die geleistete Arbeit zu diskreditieren. Das halte ich für wenig zielführend, und hier sind meines Erachtens Softwareentwickler aufgefordert, der missbräuchlichen Verwendung von Schätzungen entgegenzutreten.

Der erste Schritt kann darin bestehen, klarzumachen, dass Pläne auf Grundlage von Schätzungen selbst Schätzungen und keine Zusagen sind. Wer es anders sieht, dem kann man mit hoher Wahrscheinlichkeit eine turbulente Zukunft prophezeien.

Wenn Du die Themen, die ich im Blog anspreche, in Deiner Firma verbessern möchtest, komm’ in unsere Leadership-Community für Softwareentwicklung. Sie wirkt auch ohne Führungsposition. Mit dem Code „heisedev“ gibt’s den Heise-Rabatt für Interactive-Members.


(rme)



Source link

Entwicklung & Code

Vite 8.0: Rust-basierter Bundler Rolldown ist der neue Standard


Vite 8.0 ist erschienen. Unter der Haube bringt das Frontend-Build-Tool nun Rolldown mit – einen Rust-basierten Bundler, der für eine höhere Build-Geschwindigkeit sorgt. Für die Suche nach Plug-ins steht darüber hinaus eine neue Registry bereit.

Weiterlesen nach der Anzeige

Erst kürzlich zeigte die aktuelle Umfrage State of JavaScript, dass Vite zum wiederholten Mal das beliebteste Tool unter JavaScript-Entwicklern ist und bei der Nutzungshäufigkeit nur noch knapp hinter webpack liegt.




(Bild: jaboy/123rf.com)

Tools und Trends in der JavaScript-Welt: Die enterJS 2026 wird am 16. und 17. Juni in Mannheim stattfinden. Das Programm dreht sich rund um JavaScript und TypeScript, Frameworks, Tools und Bibliotheken, Security, UX und mehr. Frühbuchertickets sind im Online-Ticketshop erhältlich.

Vite startete einst mit den beiden Bundlern esbuild und Rollup. Dabei kam esbuild während der Entwicklung zum Einsatz, Rollup für optimierte Produktions-Builds. Mit Vite 8.0 erfolgt nun der Wechsel zu Rolldown als einheitlichem Bundler, der die beiden Vorgänger ablöst. Hierbei soll es sich um die bedeutendste Änderung seit Vite 2.0 handeln.

Rolldown stammt ebenso wie Vite aus dem Hause VoidZero. Der Bundler besitzt eine Rollup-kompatible API, basiert auf der Programmiersprache Rust und soll 10- bis 30-mal schnellere Builds ermöglichen. Beispielsweise seien die Produktions-Build-Zeiten während der Beta-Phase von rolldown-vite bei Mercedes-Benz.io um 38 Prozent gesunken, bei der Newsletter-Plattform Beehiiv sogar um 64 Prozent.

Eine weitere Neuerung ist die Website registry.vite.dev, ein durchsuchbares Verzeichnis von Plug-ins für Vite, Rolldown und Rollup. Als Datenquelle dienen npm und die von Plug-in-Autoren hinterlegten Metadaten. Diese Daten werden täglich aktualisiert. Plug-in-Autoren können zusätzliche Metadaten hinterlegen, indem sie das Feld compatiblePackages in der JSON-Datei des Pakets hinzufügen.

Weiterlesen nach der Anzeige

Der Umstieg auf Vite 8.0 soll für die meisten Entwicklerinnen und Entwickler problemlos vonstattengehen. Für komplexe Projekte empfiehlt das Vite-Team jedoch eine schrittweise Migration: zuerst den Wechsel vom vite-Package zum rolldown-vite-Package in Vite 7, und erst anschließend den Wechsel zu Vite 8. Auf diese Weise lässt sich einfacher feststellen, ob mögliche Schwierigkeiten vom neuen Bundler herrühren. Weitere Hinweise finden Entwickler in der Migrationsanleitung.

Wie das Vite-Team einräumt, ist die Installationsgröße von Vite 8 etwa 15 MB größer als Vite 7. Das liegt hauptsächlich daran, dass lightningcss nun keine optionale Dependency mehr ist und dass die Rolldown-Binärdatei größer ist als esbuild und Rollup. Eine Verringerung der Installationsgröße steht jedoch auf dem Plan.

Alle weiteren Details zu Vite 8.0 finden sich im Vite-Blog und im Changelog.


(mai)



Source link

Weiterlesen

Entwicklung & Code

Databricks legt Genie Code vor: Ein KI-Agent soll Datenteams die Arbeit abnehmen


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Databricks hat mit Genie Code einen KI-Agenten vorgestellt, der die Arbeit von Datenteams grundlegend verändern soll. Statt Entwicklern lediglich beim Schreiben von Code zu assistieren, übernimmt der Agent der Ankündigung zufolge eigenständig komplexe Aufgaben: den Aufbau von Datenpipelines, die Fehlerbehebung in Produktionssystemen, die Erstellung von Dashboards und die Wartung laufender Systeme. Laut Ali Ghodsi, Mitbegründer und CEO von Databricks, weist Genie Code den Weg hin zu „agentenbasierter Datenarbeit“.

Weiterlesen nach der Anzeige


data2day 2026 Logo

data2day 2026 Logo

Am 7. und 8. Oktober 2026 lädt die data2day Data Scientists, Data Engineers und Data Teams zur mittlerweile 13. Auflage der Konferenz ein. Bis zum 15. April können Expertinnen und Experten beim Call for Proposals noch ihre Vorschläge für Talks und Workshops einreichen.

Genie Code ergänzt laut Ankündigung im Databricks-Blog die bestehende Genie-Produktfamilie, mit der Nutzer bereits per Chat-Interface auf ihre Unternehmensdaten zugreifen können. Im Vergleich mit herkömmlichen Coding-Agenten soll sich Genie Code vor allem durch seine tiefe Integration in die unternehmenseigene Dateninfrastruktur auszeichnen. Über den Unity Catalog von Databricks greift der Agent auf Metadaten, Datenherkunft, Nutzungsmuster und Governance-Richtlinien zu. Herkömmliche Coding-Agenten scheitern laut Databricks häufig an Datenaufgaben, weil ihnen genau dieser Kontext fehlt.

Genie Code ist dabei kein einzelnes Sprachmodell, sondern ein agentenbasiertes System, das Aufgaben über mehrere Modelle und Werkzeuge hinweg verteilt. Je nach Anforderung wählt das System der Ankündigung zufolge automatisch das passende Modell aus – ob proprietäres Frontier-Modell, Open-Source-Modell oder ein auf Databricks gehostetes Custom-Modell.

Die Funktionen erstrecken sich über den gesamten Daten- und ML-Lebenszyklus: Der Agent soll vollständige Machine-Learning-Workflows abwickeln können – vom Feature-Engineering über das Training und den Vergleich mehrerer Modelltypen bis hin zum Deployment auf Databricks Model Serving. Experimente werden dabei in MLflow protokolliert. Im Bereich Data Engineering erstellt Genie Code laut Hersteller produktionsreife Spark-Pipelines, berücksichtigt Unterschiede zwischen Staging- und Produktionsumgebungen und wendet automatisch Datenqualitätsprüfungen an. Darüber hinaus soll der Agent Dashboards mit wiederverwendbaren semantischen Definitionen generieren und mehrstufige Aufgaben autonom planen und ausführen können.


Von Genie Code erstelltes Dashboard mit Grafiken

Von Genie Code erstelltes Dashboard mit Grafiken

Genie Code soll Visualisierungen erstellen, Filter konfigurieren und Dashboard-Layouts organisieren – mit wiederverwendbaren semantischen Definitionen.

(Bild: Databricks)

Ein weiterer Aspekt ist die proaktive Überwachung: Genie Code soll Lakeflow-Pipelines und KI-Modelle im Hintergrund überwachen, Fehler triagieren und Anomalien untersuchen, bevor ein Mensch eingreifen muss. Sogenannte „Background Agents“ Agents“, die diese Überwachung dauerhaft im Hintergrund übernehmen, sind laut Databricks allerdings noch nicht verfügbar – sollen aber bald nachgereicht werden.

Weiterlesen nach der Anzeige

Der Agent verfügt über einen persistenten Speicher, der interne Anweisungen auf Basis vergangener Interaktionen und Coding-Präferenzen automatisch aktualisiert. So soll er mit der Zeit „besser werden“.

Parallel zur Vorstellung von Genie Code gab Databricks die Übernahme von Quotient AI bekannt. Das Unternehmen ist auf die Bewertung und das verstärkende Lernen für KI-Agenten spezialisiert und war zuvor bereits an der Qualitätsverbesserung für GitHub Copilot beteiligt. Durch die Integration soll eine kontinuierliche Leistungsüberwachung direkt in Genie Code eingebettet werden: Quotient misst laut Databricks die Antwortqualität, erkennt Regressionen frühzeitig und lokalisiert Fehler – und speist diese Erkenntnisse in einen Verbesserungsprozess ein.

Lesen Sie auch

Genie Code ist laut Databricks ab sofort allgemein verfügbar und direkt in Databricks-Workspaces integriert – in Notebooks, im SQL-Editor und im Lakeflow-Pipelines-Editor. Eine aufwendige Konfiguration sei nicht erforderlich.

Der Agent lässt sich über drei Wege erweitern: Über das Model Context Protocol (MCP) kann Genie Code mit externen Tools wie Jira, Confluence oder GitHub interagieren. Über sogenannte Agent Skills lassen sich domänenspezifische Fähigkeiten definieren, etwa für den Umgang mit personenbezogenen Daten oder unternehmensspezifische Validierungsframeworks. Und über den persistenten Speicher lernt der Agent aus vergangenen Interaktionen und passt sich an die Arbeitsweise des jeweiligen Teams an.

Die neuen Funktionen von Databricks reihen sich in einen branchenweiten Trend ein. Nahezu alle großen Anbieter setzen inzwischen auf agentenbasierte KI-Systeme, die komplexe Aufgaben autonom lösen sollen. Doch wie weit die tatsächlichen Fähigkeiten reichen, ist umstritten – insbesondere auch im Hinblick auf nicht-funktionale Anforderungen.


(map)



Source link

Weiterlesen

Entwicklung & Code

Neu in .NET 10.0 [14]: Starten einzelner C#-Dateien unter Linux und macOS


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

In meinem vorangegangenen Beitrag in dieser Serie zu .NET 10 habe ich beschrieben, wie man eine C#-Datei als File-based App unter Windows startet. Das geht auch unter Linux und macOS – sogar ohne dotnet voranstellen zu müssen.

Weiterlesen nach der Anzeige


Der Dotnet-Doktor – Holger Schwichtenberg

Der Dotnet-Doktor – Holger Schwichtenberg

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

Dazu verwendet man eine sogenannte Hash-Bang-Zeile oder Shebang-Zeile am Anfang der C#-Datei:

#!/usr/bin/env dotnet

Folgender Kommandozeilenbefehl sorgt dafür, dass die Datei ausführbar ist:

chmod +x Dateiname.cs

Ein Start ist dann ohne Erwähnung von „dotnet“ möglich:

Weiterlesen nach der Anzeige

./Dateiname.cs

Es ist unter Linux und macOS nicht einmal notwendig, dass die Datei auf .cs endet:



Unter Linux lässt sich eine C#-Datei ohne Erwähnung von dotnet starten (Abb. 1).

Ein solch direkter Start einer einzelnen C#-Datei, ohne „dotnet“ davor zu schreiben, ist unter Windows jedoch nicht möglich.


(rme)



Source link

Weiterlesen

Beliebt