Software Öko-Systeme für agile Teams
Agilität braucht nicht nur agile Teams, sondern auch eine flexible Softwarearchitektur. „Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.“ So sieht es das agile Manifest vor. Dieses 11. Prinzip1)hat zu den größten Missinterpretationen in der agilen Community geführt. Die agile Herangehensweise funktioniert am besten, wenn das Entwicklungsteam, zum Beispiel mit Scrum, die Infrastruktur und die Softwarearchitektur Stück für Stück, parallel zu den funktionalen Anforderungen, entwickelt. Im Idealfall wird der Aufwand für nicht funktionale Anforderungen von Sprint zu Sprint weniger und der funktionale Anteil bekommt mehr Raum. Es wird keine Architektur auf Vorrat gebaut, sondern immer nur der Aspekt, der gerade ansteht. Dieses Prinzip setzt eine Basisarchitektur voraus, die dem Stand hält. Eine Basisarchitektur wählen Ein Softwareprodukt ist wie ein lebender Superorganismus, der zu einer passenden Klimazone gehört. Ein Korallenriff vor der Küste Australiens braucht eine bestimmte Temperatur und Wasserqualität. Schon kleinste Veränderungen im Umfeld führen dazu, dass ein Riff verödet. Wichtig ist die frühe Entscheidung für das richtige Architekturprinzip. Eine kleine Anwendung auf dem PC braucht keine Vernetzung. Eine weltweit verteilte Anwendung kommt nicht ohne die Cloud aus. Eine Softwarelandschaft in der Cloud gleicht einem Korallenriff. Hardware, Software und Menschen leben in Symbiose. Hier heißt es groß denken und klein handeln. Bei dem Start der Entwicklung eines neuen Produktes ist es notwendig, vorausschauend an die Sache ran zu gehen. Dies gilt genauso für ein Startup, wie für ein großes Unternehmen. Es geht nicht darum im Vorfeld…