Wer in der Softwarebranche arbeitet und vor allem Entscheidungen trifft, der braucht eine gute technische Grundlage. Nur so können richtige und nachhaltige Entscheidungen getroffen und Willkür vermieden werden.

Im Beitrag Should a Scrum Master be able to write code habe ich folgendes ausgesagt:

Is someone without development skills able to know what matters in software development? In my opinion, yes. It isn’t important to know how to solve a specific technical problem but what is really important to create a great product. [..] Long story short, a Scrum Master does not made decisions. Content decisions are made by the Product Owner and the development team is responsible for all technical decisions.

Zwar war die Aussage auf einen Scrum Master bezogen, dennoch hatte ich hier großflächiger gedacht. Mittlerweile sehe ich das etwas anders.

Jeder der an der Entwicklung einer Software beteiligt ist, muss wissen wie Softwareentwicklung funktioniert.

Das ist eine sehr allgemeine Aussage und hat erstmal nichts mit irgendwelchen Methoden oder Prozessen zu tun.

Wer auch immer die Planung eines Software-Projektes inne hat, muss die Auswirkungen seiner Entscheidungen kennen und beurteilen können. Nur so können die richtigen Prioritäten gesetzt werden. Ohne Kenntnisse ist das schwierig bis unmöglich. Das mag zu Beginn der Entwicklung oft gar nicht so auffallen, aber bei einem langfristigen Projekt müssen dann Basisimplementierungen schon mal getauscht werden, weil sich durch diverse Änderungen ein Engpaß entwickelt hat oder anderweitige Probleme auftreten. Da sind auch schnell mal Bibliotheken etc. zu aktualisieren, was vielleicht nicht kurz nebenbei geht, da Breaking Changes enthalten sind.

Natürlich kosten „technische Maßnahmen“ Zeit und es wäre cooler, an Features arbeiten zu können. Aber was ist, wenn beispielsweise Aktualisierungen Wochen oder Monate hinausgezögert werden? Irgendwann ist eine Aktualisierung mit annehmbarem Aufwand einfach nicht mehr möglich. Das resultiert dann darin, dass die Software technologisch veraltet. Das ist bei langjährigen Projekten und Produkten untragbar.

Bei fehlendem Verständnis fällt dann auch schnell mal die Aussage:

„Ihr Softwareentwickler wollt doch nur spielen und immer das Neueste“.

Das mag schon stimmen, aber gerade deswegen ist es auch wichtig und notwendig, dass der Entscheidungsträger Ahnung von der Materie hat. Ist dem nicht so, können Entscheidungen nur willkürlich getroffen werden. Keine gute Wahl wenn man an das Projekt/Produkt, das Wohl des Unternehmens, dessen Mitarbeiter und die Kunden denkt …

PS: Schön langsam bin ich ja der Meinung, dass jeder, ausnahmslos jeder das Programmieren erlernen muss. Mittlerweile ist das wirklich essentiell.

Über den Autor

Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler und Fotograf. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.