Working Software

Etwas, worauf die zwölf agilen Prinzipien grossen Wert legen, ist funktionierende Software (Hervorhebungen von mir):

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Agile Principle no. 3

Working software is the primary measure of progress.

Agile Principle no. 7

(Beim dritten sieht man den agilen Prinzipien übrigens ihr Alter an; wie ich schon im Januar 2019 angemerkt habe, würde man heute eher von Tagen bis Wochen sprechen.)

Wenn ein Projekt also „nach «agilen Methoden» umgesetzt“ wird und nach Ausgaben von über 400 Millionen Franken (zum Vergleich: damit könnte man etwa 40 Erfolgsgeschichten wie Ledgy finanzieren!) grosse Kopfschmerzen bereitet anstatt schon ganz viel funktionierende Software geliefert zu haben, dann ist das ein Widerspruch.

Dabei wollen Projektmanager in solchen Fällen bestimmt niemandem etwas vormachen, machen manchmal sich selbst aber am meisten vor, wenn sie agile Techniken in einer Art & Weise kombinieren, dass die resultierende Methode nicht mehr funktioniert (nicht zufällig stand in der 2016er-Ausgabe vom Scrum Guide zwar „Simple to understand“, aber auch „Difficult to master“). Deshalb hatte ich Besuchende meiner Kurse über agiles Projektmanagement explizit gewarnt:

Programming Is Not Software Engineering

The Essentials of Modern Software Engineering ch. 1.2

Das Malaise in der Softwarebranche sitzt jedoch tiefer. Durham und Michel stellen zu recht eine mangelnde Bereitschaft fest, bei der Entwicklung von Software-Systemen diszipliniert auf die Erfahrung & das Wissen aus dem Systems Engineering zu setzen. Jacobson et al. stellen klar:

  • Programming stands for the work related to implementation or coding of source code.“
  • Software development is the larger process which, apart from programming, includes working with requirements, design, test, etc.“
  • „«Software engineering combines engineering techniques with software development practices» (from Wikipedia). Moving from development to engineering means more reliance on science and less on craft, which typically manifests itself in some form of description of a designated way of working and higher-level automation of work. This allows for repeatability and consistency from project to project. Engineering also means that teams, for example, learn as they work and continuously improve their way of working. Thus, stated in simple terms, software engineering is bringing engineering discipline to software development.“

Agiles Projektmanagement kann wunschgemäss resultieren in mehr funktionierender Software und weniger Kosten- sowie Zeitüberschreitungen, wenn es nicht als Vorwand missbraucht wird, um auf diszipliniertes Ingenieurwesen und entsprechend komplementäre Teams zu verzichten. Ansonsten sollte der Projektstecker „schon“ nach 400’000 Fr. und nicht erst nach 400’000’000 Fr. gezogen werden.

%d Bloggern gefällt das: