Agiles Wissen
Die Deployment Pipeline
Ein DevOps-Thema.
Das Fehlen der Deployment Pipeline verhindert oft, die Ernte einzufahren: es ist nicht möglich, ein unmittelbares Feedback zu bekommen zu den fertiggestellten SW-Komponenten aus der letzten Iteration. Das hat Auswirkungen auf die nächsten Iterationen. Einmal, weil Annahmen gemacht werden müssen bzgl. der bis zu diesem Zeitpunkt erstellten Qualität und zum anderen, weil dann doch noch Änderungen vorgenommen werden müssen nach dem Release-Termin. Änderungen an der Software, die zwischenzeitlich weiterentwickelt wurde.
Das Versionsverwaltungssystem – Version Control System (VCS)
In diesem Video wird erläutert, was ein Versionsverwaltungssystem ist, wie damit gearbeitet wird und welchen Einfluss es hat auf den gesamten SW-Entwicklungsbereich einer Firma.
Der Entwicklungsarbeitsplatz
Die Weitergabe von Wissen ist wichtig. Jeder im Team profitiert davon, wenn neue Erkenntnisse am Bildschirm demonstriert und diskutiert werden können. Dafür sollte der Platz vorhanden sein.
Agiles Testen
Nur gemeinsam können alle erfolgreich sein, d.h. alle müssen am selben Strang ziehen um das Software-Produkt „durch die Tür zu bringen“. Ich habe es selbst erlebt, dass ein Release nicht live gehen konnte, weil es ein Ping-Pong zwischen der Fachabteilung und der Entwicklungsabteilung gab. Der Ansatz war schon nicht agil, weil die Tests nach der Entwicklung stattgefunden haben … mit den eben beschriebenen Auswirkungen. Die Kunden mussten auf die Neuerungen warten. Das Testen muss mit dem Entwickeln von Software einhergehen. Dazu gehört ebenso die Implementierung von Unittests wie die Automatisierung von Tests. Nur so können die Fehler, die z.B. aufgrund des Refactorings auftreten, sofort ermittelt und behoben werden. Oft arbeiten die Entwickler mit Mocks. Diese abzuschalten und durch die ‚realen‘ Schnittstellen zu ersetzen ist oft eine weitere Quelle von Fehlern. Das passiert während der Integration der einzelnen Komponenten der Entwickler*innen.
Selbstorganisation und Führung
Agiler zu werden hat weit grössere Auswirkungen auf ein Unternehmen, als „nur“ Entwicklerteams zu etablieren. Es hat Auswirkungen auf die gesamte Führung. Welchen Beitrag trägt die einzelne Führungskraft dazu bei, die gesamte Organisation agiler zu machen … also kundenfreundlicher und reaktionsfähiger auf Veränderungen? Gibt es dafür eine Metrik?
Das wird als nächstes kommen: der Abbau von Hierarchiestufen hin zu einem flachen Unternehmen. Ich möchte noch hinzufügen: zu einem lernenden Unternehmen.
Das wird große Veränderungen bringen … für jede einzelne Führungskraft. Lassen Sie sich coachen!
User Stories
User Stories dienen dem Austausch zwischen denjenigen, die eine Funktion in einem Software-Produkt nutzen werden und denjenigen, die diese Funktion erschaffen. Ursprünglich wurden User Stories auf Sticky Notes geschrieben und auf das Task Board geklebt. Dort hat man sich getroffen und darüber gesprochen. Bei Scrum sind dafür zwei Meetings vorgesehen: das Sprint Planning I u. II und das Backlog Refinement Meeting.
Es gibt sehr leistungsfähige SW-Systeme für das Verwalten von User Stories. User Stories haben dort eine Vielzahl von Feldern, die oft auch konfiguriert werden können. Diese Systeme sind sinnvoll, weil sie helfen, den Überblick zu bewahren, insbesondere, wenn Software-Entwicklungsteams ‚remote‘ zusammenarbeiten. Das dürfte heute in Corona-Zeiten noch mehr Fall sein, als ehedem.
Es sollte aber immer der Austausch stattfinden anhand dessen, was notiert worden ist. Das schließt ausdrücklich ein Fingerpointing aus zwischen den Vertretern der oben erwähnten Gruppen.
Story Mapping
Mit Story Mapping lassen sich noch weitere Ziele erreichen: z.B. die Planung des nächsten SW-Releases. Eine Story Map lebt nicht nur zu Beginn eines neuen Software-Produktes, sondern auch darüber hinaus während des gesamten Entstehungsprozesses, basierend auf der eigentlichen Idee, die Kommunikation zwischen allen Beteiligten zu fördern. Es gibt auch elektronische Mittel um eine Story Map abzubilden.