Agiles Coaching

Fragen Sie sich, ob agile Softwareentwicklung für Sie „das Richtige“ ist, was wirklich dahintersteckt und wie man „das hinbekommt“?!

 

Agilität für Ihr Unternehmen

Ihre Neugier zu dem Thema (vielleicht auch ein wenig die Unzufriedenheit mit dem Status Quo) hat Sie zu uns geführt. Auch wir haben uns vor langer Zeit ähnliche Fragen gestellt. Hier ein paar Gründe, warum wir bereits seit langer Zeit auf Agilität setzen:

  • weil wir verstanden haben, dass ein iterativ-inkrementelles Vorgehen mit kurzen Rückkopplungs- und Lernzyklen auf allen Ebenen und mit frühzeitig funktionsfähiger Software für unsere Kunden deutlich mehr Geschäftswert bringt, als lange vorgeschaltete Konzeptphasen mit Anspruch auf Vollständigkeit und ohne früh verfügbare Software.
  • weil wir die Erfahrung gemacht haben, dass man den größeren Herausforderungen in der komplexen Welt der Softwareentwicklung mit Agilität angemessen, effizient und pragmatisch begegnen kann, etwa den zu Projektbeginn unklaren oder gar unbekannten, und im Projektverlauf sich laufend verändernden Anforderungen und insbesondere den Konsequenzen, die sich daraus für alle Beteiligten ergeben.
  • weil wir gesehen haben, dass es nicht nur bei der Implementierung von Software, sondern auch bei der Projektdurchführung und -organisation wichtig ist, sein Tun und Handeln ständig zu überprüfen und zu verbessern, und dass Agilität hierfür institutionalisierte Instrumente auf verschiedenen Ebenen nutzt, wie z.B. Reviews, Retrospektiven und das Schaffen von Transparenz.
  • weil wir besonders viel Wert auf hohe Qualität in der Softwareentwicklung legen, und Agilität dies fördert und fordert, etwa über den laufenden Nachweis auf Basis eines hohen Automatisierungsgrads über Continuous Integration, Continuous Delivery und Continuous Testing, so dass Software nicht nur nachweislich besser, sondern auch die bessere Software entsteht.
  • weil der gerne vernachlässigte „Faktor Mensch“ auch in der Softwareentwicklung von großer Bedeutung ist, und Agilität diesem Faktor in besonderer Art und Weise Rechnung trägt und verantwortlich damit umgeht.

Man könnte viele weitere Argumente dafür anführen, warum Teams sich durch Agilität verbessern können: von der Reduzierung der Projektrisiken über die Optimierung von Projektlaufzeiten bis hin zur Steigerung des Produktwerts.

Wir helfen Ihnen gerne dabei, den Weg herauszufinden und zu gehen. Die dafür notwendigen Schritte und Stellschrauben identifizieren, erarbeiten und drehen wir gemeinsam mit Ihnen durch individuelle Beratung, aktives Training und Coaching.

Vermittlung Agiler Werte und Prinzipien

„Scrum hier… Kanban dort… und überhaupt: Agile Softwareentwicklung! Alles nur Anarchie und Chaos… oder?!“

Lange Jahre nach der Entstehung des Agilen Manifests erscheint es eigentlich überraschend, dass über Agilität immer noch so viele Vorurteile existieren, und so viel falsches Verständnis und Unwissenheit kursieren. Deswegen ist es besonders wichtig, die Werte und Prinzipien richtig zu verstehen, welche die agile Softwareentwicklung motivieren und so erfolgreich machen

Wir helfen Ihnen dabei, die Motivation und die Ideen richtig einzuordnen und über den praktischen Bezug zu Ihrer Unternehmens- und Arbeitssituation ein gemeinsames Verständnis für Agilität zu entwickeln.

Aufbau agiler Skills

Neben der notwendigen Basis aus Wissen und Verständnis stehen vor allen Dingen der Aufbau, die Anwendung und die Weiterentwicklung verschiedenster praktischer agiler Kompetenzen und Skills im Vordergrund.

Bei der Auswahl adäquater agiler Prozesse, Methoden und Konzepte stehen wir Ihnen ebenso zur Seite, wie etwa bei der Förderung interdisziplinärer, selbstorganisierter Teams, beim Nutzen von Best Practices, bei Einsatz von User Storys oder bei der Verwendung professioneller Werkzeuge für die eigentliche Entwicklungsarbeit.

Agiles Anforderungsmanagement

Eine besondere Herausforderung ist es, alteingesessene Formen der Anforderungsspezifikation und Planung zu überdenken, die auf frühzeitig möglichst allumfassende und vollständige Dokumente und Konzepte fokussieren, und für ein effizientes agiles Anforderungsmanagement bedarfsgerecht zu verändern.

Wir vermitteln Ihnen die Grundlagen agiler Planung und bringen Ihnen passende Techniken näher, wie das Story Mapping und das Arbeiten mit Personas, User Storys und Epics. Wir helfen Ihnen dabei, das richtige Verständnis für ein nutzenorientiertes, iterativ-inkrementelles Vorgehen und das Etablieren kurzer, validierter Rückkopplungs- und Lernzyklen auf verschiedenen Ebenen zu entwickeln. Dies bedeutet u.a.:

  • organisatorisch Faktoren wie benötigtes Fach- und Domänenwissen, Entscheidungsbefugnis und permanente Verfügbarkeit zusammenzubringen.
  • vom Vorgehen her den Fokus auf echte Wertoptimierung und Risikokontrolle zu legen.

Agile Entwicklungspraktiken

Für effiziente agile Softwareentwicklung sind kurze Feedbackzyklen unerlässlich. Ziel dabei ist es, nachweislich funktionierende Software möglichst schnell und wiederholbar ausliefern zu können, unabhängig davon, ob ganz neue Anforderungen umgesetzt wurden oder bereits vorhandene Funktionalitäten etwa durch Refactorings angepasst wurden. Dies lässt sich letztlich nur durch einen hohen Automatisierungsgrad über Praktiken wie Continuous Integration und Continuous Delivery erreichen, gepaart mit einer hohen Testabdeckung und -automatisierung. Und natürlich muss die Softwarearchitektur mitwachsen können, und dahingehend flexibel und anpassungsfähig sein.

Wir unterstützen Sie bei der Einordnung und Einführung verschiedener agiler Entwicklungspraktiken, bspw. dem besseren Verständnis für unterschiedliche Testverfahren und automatisiertes Testen auf verschiedenen Ebenen, oder dem Ausgestalten eines effizienteren Softwareentwicklungsprozesses durch Test Driven Development (TDD), Behavior Driven Development (BDD), automatisierte Akzeptanztests, Pair Programming und die Anwendung von Clean Code Prinzipien und Praktiken.

Agile Methoden: Scrum und Kanban

Es gibt eine Vielzahl agiler Methoden. Scrum ist, gefolgt von Kanban, die wohl bekannteste und meistgenutzte agile Methode.

Die Erfolge sprechen zurecht für sich, denn Scrum ist ein vergleichsweise einfach aufgebautes und leichtgewichtiges Framework mit klaren Regeln, welches es erlaubt, erfolgreich komplexe Produkte zu entwickeln und komplexe adaptive Aufgabenstellungen anzugehen. Scrum beruht dabei im Wesentlichen auf 3 Grundpfeilern und definiert 3 Rollen sowie verschiedene Scrum Ereignisse und Scrum Artefakte, die in ihrer Gesamtheit zusammenwirken.

Einen anderen Ansatz verfolgt Kanban: Kanban ist eine agile Methode für evolutionäres Change-Management, welche die Prinzipien des Lean (Product) Developments umsetzt und durch seine Vielseitigkeit besticht. Kanban schafft Transparenz über die Visualisierung von Workflows und Prozessen bei konsequenter Anwendung von Metriken und Modellen. So können bestehende Prozesse über viele kleine Änderungen, anstatt einer großen Änderung, in kleinen Schritten verbessert werden. Das reduziert das Risiko für einzelne Maßnahmen, schafft einen sanften Übergang und erzeugt eine oft bessere und nachhaltigere Akzeptanz. Der Kanban-Ansatz ist nicht nur für die Softwareentwicklung geeignet, sondern auch für andere IT-Einsatzfelder wie den Betrieb, die Administration oder den Support.

Projekt-, Team- und Unternehmenskonstellationen und -voraussetzungen sind eigentlich nie gleich, und auch Prozesse und Methoden eignen sich nicht immer gleichermaßen gut für alle Situationen. Für das erfolgreiche Implementieren und Etablieren des Scrum-Frameworks bspw. müssen verschiedene Anforderungen, Rahmenbedingungen, und funktionale wie nicht-funktionale Voraussetzungen erfüllt sein bzw. geschaffen werden können. In der Praxis kann dies durchaus eine Herausforderung darstellen, so dass auch die Frage nach der Angemessenheit und Eignung einer Methode und nach passenden Alternativen durchaus gerechtfertigt ist.

Wir helfen Ihnen gerne dabei, Scrum und Kanban kennenzulernen, die für Ihren Bedarf geeignete Methode auszuwählen und erfolgreich einzuführen und anzuwenden.


Ihr Ansprechpartner

Fabrizio Scarpati

Fabrizio Scarpati

Technischer Berater