mrjerk: Agile Softwareentwicklung (Kellerglosse)

Beitrag lesen

Hallo,
"Agile Entwicklung" heisst IMO nicht notwendigerweise, schnell irgendetwas runter zu schreiben.
Sondern die Prozesse um die Software-Entwicklung herum so zu optimieren, dass die Leute effizient arbeiten können und dass Probleme, Hindernisse und Verzögerungen schneller auffallen (und idealerweise behoben werden). Letztendlich werden dadurch dann natürlich auch die Entwicklungszyklen kürzer.

Das ist aber völlig losgelöst von der Programmiersprache. Genau genommen muss man nicht einmal etwas mit Software-Entwicklung zu tun haben, um agile Methoden einzusetzen.

Leider wird aber genau das oft verwechselt. "Wir arbeiten jetzt agil" heisst für viele "Wir sparen uns das Geld für Konzeption, robuste Software-Architekturen und Tests". Das ist nicht agil, sondern Gefrickel.

Das Einteilen der Projektzeit in "Sprints" z.b. heisst für viele Entscheider "Entwicklungszeit verkürzen, schneller fertig werden, Geld sparen". Tatsächlich wird aber die Anzahl der Features begrenzt, nicht (nur) die Zeit, in der diese umgesetzt werden. Das wollen aber viele nicht wahr haben, denn auf Features verzichten zu müssen, weil sie in der vorgegebenen Zeit einfach nicht mehr sauber und stabil umgesetzt werden können, ist ein schmerzlicher Prozess.
Aus diesem Grund habe ich auch mit dem Agilitäts-Hype so meine Probleme, auch wenn ich die Ansätze prinzipiell gut finde.

Wenn ich aber von meinem Verstädnis von Agilen Methoden ausgehe (ohne zu behaupten, dass das das "richtige" ist), bei der eine der wichtigsten Komponenten ist, Probleme und Risiken im Entwicklungsprozess schnell zu identifizieren und sicher zu gehen, dass die Software, die ich schreibe, danach robust ist, ist Java keine schlechte Wahl: Die strenge Typisierung z.b. zwingt mich dazu, sauber zu programmieren, mögliche Fehler im Vorfeld zu bedenken (weil sonst der Code gar nicht erst compiliert) und von vornherein möglichst umfassend automatisiert-testbaren Code zu produzieren.

Letztendlich ist Java genauso gut/schlecht wie jede andere Sprache, die entscheidende Frage ist, wie verantwortlich der Entwickler damit umgeht.

So long,
Jörg