IT-Governance und agiles Arbeiten in der Software-Entwicklung passen nicht zusammen - Da sind sich zumindest die Vertreter der agilen Welt recht einig.
Crowdgovernance vereint praktische Ideen von Scrum, liquid democracy und community-prozessen miteinander. Damit unterstützt es Teams den roten Faden zu sehen und das Handeln an einer gemeinsamen Strategie auszurichten.
Während agiles Arbeiten möglichst alle Entscheidungen in die Verantwortung der Teams verlagert, hat IT-Governance meist einen sehr zentralistischen Ansatz, bei dem Expertengruppen Rahmenbedingungen definieren, die dann für alle gelten sollen.
Eine zu starke IT-Governance erstickt Innovation und Eigenverantwortung schon im Keim. Das Gegenteil, also eine unkontrollierte Verlagerung aller Verantwortung in die Teams, führt häufig zu Wildwuchs und Überforderung. Meist wird versucht einen trade-off zwischen den beiden Extremen zu finden, was leider zu ähnlichen Ergebnissen führt, wie agiles Arbeiten im Wasserfall ;-)
Crowdgovernance ist ein Ansatz, der verspricht nicht in dieser Sackgasse zu enden. Die Grundlage bildet eine lateral geführte Zusammenarbeit von Teams und Entwicklern. Anstatt diese jedoch mit ihrer Verantwortung alleine zu lassen beschreibt Crowdgovernance eine Menge von Kommunikationsmaßnahmen, Vorgehensmustern und Tools die unterstützen um den roten Faden in der Software-Entwicklung zu sehen. Dabei werden viele praktische Ideen von Scrum, liquid democracy und community-prozessen miteinander vereint.
In dem Vortrag werden eine Menge dos und don'ts vermittelt, die der Autor in seinem eigenen Unternehmen und in diversen Großprojekten erlebt hat. Ebenso lassen sich die praktischen Vorschläge in größeren open source Projekten einsetzen um diesen eine fokussiertere Ausrichtung zu geben. Der Vortrag richtet sich an IT-Leiter, Architekten vor allem aber an Entwickler - denn bei denen liegt ja die Verantwortung.
2. 25.08.13 2
IT-Governance
Unternehmen wollen IT-Governance
Unterstützung strategischer Ziele
Vermeidung von Fehlentscheidungen
Minimierung von Risiken
Effizienz
Homogene IT-Landschaften
Zukunftsfähigkeit
3. 25.08.13 3
IT-Governance
Meist bedeutet dies:
Zentrale Technologie-Whitelists
Ein Standard-Stack
Trennung zwischen Architekt und Entwickler
Zentrale Architektur-Abteilung muss alles absegnen ..
.. oder sogar alles entwerfen
Großer Katalog von IT-Vorgaben und Richtlinien, ...
.. den nie jemand gelesen hat
.. den alle für Quatsch halten
.. der total veraltet ist
Die Mehrheit der Entwickler 'leidet' unter den Vorgaben,
anstatt diese als Unterstützung zu empfinden.
6. 25.08.13 6
Agile Entwicklung
Die Teams entscheiden über das 'wie'!
Die Teams übernehmen Verantwortung für Machbarkeit und Qualität
Agile Entwicklung stellt einiges in Frage:
Kann die Technologie-Entwicklung trotzdem beeinflusst werden?
Was machen Software-Architekten in einer agilen Entwicklung?
Wie kann ich die Teams unterstützen, die richtigen Entscheidungen
zu treffen?
Auch eine agile Organisation muss geleitet werden!
9. 25.08.13 9
Aber, wie können wir Leute befähigen selber Entscheidungen zu
treffen, ohne dabei im Chaos zu enden?
10. 25.08.13 10
„Die Entscheidungshoheit liegt in
den Teams!“
Wer etwas tut, darf auch selber über das 'wie' entscheiden.
Wer etwas tut, muss auch selber über das 'wie' entscheiden.
Im Gegemzug muss er die Veranwortung für die
Konsequenzen tragen
11. 25.08.13 11
„Befähige deine Leute“
Mitarbeiter müssen Anregungen bekommen
Unterstützung beim Erschließen neuer Themen
Wissensaufbau und Schulung
Teamzusammensetzungen mit passendem Skilllevel
12. 25.08.13 12
Technologie entwicklet sich schnell weiter
Es sollte nicht versucht werden alles auf
einheitlichen Plattformen und 'einem Stack' zu
realisieren
Innovation braucht Vielfalt
Lerne die Vielfalt zu managen
„Akzeptiere Heterogenität“
13. 25.08.13 13
„Das Gesamtbild muss allen klar sein“
Mitarbeiter müssen das 'große Ganze' erkennen können
Welche Vision hat das Unternehmen/Projekt?
Wo sitzt mein Puzzle-Teil?
14. 25.08.13 14
„Förderung von Zielen, nicht von Verboten“
Vorschriften und Verbote bringen nichts
Mitarbeiter müssen ein Ziel erkennen
um Entscheidungen zu treffen
15. 25.08.13 15
„It's all about communication“
Es darf kein Inseldenken geben
Jeder muss eine Idee davon haben, was
andere machen
Gute Ideen brauchen Kommunikation, um sich
schnell durchzusetzen
17. 25.08.13 17
Liquid Democracy & Votings
Demokratische Elemente im Unternehmen/Projekt bringen
Hohe Identifikation
Gesteigertes Commitment
Eigeninitiative
Mitentscheidung/Voting bei anstehenden Entscheidungen
Vorschlagswesen für Verbesserungen
Mitgestaltung muss organisiert werden:
Aufzeigen von Problemen
Vorschlagen von Lösungen/Maßnahmen
Voting und Selektion von Maßnahmen
Freigabe & Operationalisierung von Maßnahmen
19. 25.08.13 19
Vision & Leitsätze formulieren
Klare Formulierung der Ziele
Vision = Strategisch
Leitsätze = Anwendbare Richtlinien
Wichtig:
Muss von allen verstanden und getragen sein!
Am besten gemeinsam gesammelt und gewählt.
21. 25.08.13 21
Leitsatz Beispiel
Wir richten die Entwicklung unserer Software am Nutzen
unserer Kunden und Anwender aus!
Hierzu entwickeln wir in kurzen Zyklen und legen besonderen Wert auf
automatisches Deployment und Testautomatisierung,
sowie auf die Integration mit OpenSource-Software und der Community.
SWE-Leitsatz, tarent
23. 25.08.13 23
Reviews
Etablierung öffentlicher Reviews aller Teams und Projekte
Z.B. am Ende eines jeden Sprint oder Meilensteins
Darstellung des 'was' und des 'wie'
Zuschauer dürfen Kritik üben
Effekt:
Vermeidung von Inseldenken:
Teams schauen über den Tellerrand
Von einander Lernen
Rechtfertigung von Entscheidungen vor der Gruppe
Ausrichtung von Teamentscheidungen an der Gruppe
24. 25.08.13 24
Talks
Kurze Talks zu interessanten Themen
Regelmäßiger Zeitpunkt
Möglichst kurz
Auswahl der Themen durch ein Voting
Formen
Tech-Talk
Lightning-Talk
Knowledge-Session
25. 25.08.13 25
Communities of Practice
„Gemeinschaft von Personen mit ähnlichen Aufgaben
zum Austausch und gemeinsamen Lernen“
Eine CoP trägt dazu bei
ein gemeinsames Verständis zu Themengebieten zu
formulieren
eine gemeinsame Strategie zu finden
Probleme und Maßnahmen gemeinsam anzugehen
Wissen und Best-Practices zu formulieren
Eine CoP darf nicht sein:
Beschlussfähiges Gemium, das Vorschriften macht
Laberrunde; Zeitverschwendung
26. 25.08.13 26
Labs
„Mini-Forschungsprojekte mit klarem Scope“
Was und Wie:
Klare Zielsetzung (z.B. Erprobung neue Technolgie)
Klares Budget, Team und Zeit
Prototyische Lösung eines Problems
Dokumentation und Veröffentlichung des Wissen
Effekt:
Neue Themen werden transparent angegangen
Alle profitieren von den Erfahrungen einzelner
27. 25.08.13 27
Technologie-Radar
Gemeinsame Bewertung von Technologien
Was sollten wir ..
.. vermeiden?
.. beibehalten?
.. anschauen/evaluieren?
.. verproben und testweise einsetzen?
.. einführen und verwenden?
Effekt:
Explizites Meinungsbild der Gemeinschaft
Anregungen für die Teamentscheidungen
Grundlage für Fortbildungsmaßnahmen
28. 25.08.13 28
Unabhängige Systeme
„Integriere Software auf Systemebene“
Unabhängige Builds
Sprach- und Frameworkunabhängige Schnittstellen
Nachbarsysteme sind wie Fremdsysteme zu behandeln