Metaspatial Logo
FOSSGIS Logo Arnulf Christl
Metaspatial Logo

Agile   SoftwareEntwicklung

mit

Open   Source

im

Amt

Quelle: http://getwallpapers.com/wallpaper/full/e/0/5/739576-mission-impossible-wallpapers-2880x1800-for-full-hd.jpg (2021-04-28)

Arnulf Christl

Job Description Affiliation
Senior Consultant terrestris GmbH & Co. KG
Agile Coach Metaspatial
Ex Borg Seven of Nine

Das Projekt:

SmartMapping

Die AdV beauftragt die Arbeitsgruppe SmartMapping, neue Verfahren zu entwickeln, um AdV Produkte mit aktueller Technologie bereitzustellen.

Ziele

  • Bundesweite Kooperation durch Kommunikation
  • Gemeinsame Lösung von Bund und Ländern
  • Wirtschaftlich und effizient ("Wenige für Alle")
  • Bündelung und Erweiterung von Entwicklerwissen
  • Gemeinsames Erproben neuer Technologien
  • Verteilte Entwicklung (Videokonferenzen, Chat, ...)

Title. Source: Quelle: http://getwallpapers.com/collection/mission-impossible-wallpapers (2021-05-17)

Meine Mission

  • Einführung agiler Vorgehensweise
  • Aufbau der Entwicklungsumgebung

Agiles   Vorgehen

Eine minimalistische Einführung

  • Softwareentwicklung
  • Projektmanagement

Agile Softwareentwicklung

Problem verstehen...

  1. Lösung vorschlagen
  2. Testen und Entwickeln
  3. Ergebnis vorstellen
  4. Diskutieren, verwerfen, verbessern

Iteration...

Projektmanagement

Voraussetzung: Ziel (Produkt-) Definition liegt vor

  • Team besetzen
  • Arbeitsbedingungen herstellen
  • (Agile Softwareentwicklung)
  • Probleme beseitigen
  • Informieren

Methoden

Vorteile

  • Projektrisiko transparent und reduziert
  • Probleme werden frühzeitig erkannt
  • Gegenmaßnahmen greifen schneller
  • Alternativen können identifiziert werden
  • Der Plan wird kontinuierlich angepasst

Einsatzgebiete

Geeignet Weniger geeignet
Dienstleistung Produkt(kauf)
Teamwork Routinejobs
Innovation Festangebote
Software-Entwicklung proprietäre Lizenzen

Agile Entwicklung

...am Beispiel der AG SmartMapping der AdV

  • Rollen
  • Artefakte
  • Meetings

Rollen

  • 4 Teams (3 bis 7 Personen)
  • Product Owner (4)
  • Scrum Master (1)
  • Stakeholder (beliebig viele)

Product Owner

...pflegt kontinuierlich das Backlog.

  • Erarbeitet mit dem Team Aufgaben
  • Priorisiert die Aufgaben (Backlog)
  • Ist immer auf dem aktuellen Stand

Team

  • entscheidet WIE Aufgaben umgesetzt werden
  • entscheidet WIE VIELE pro Sprint
  • berichtet (täglich) über Fortschritt / Probleme

Product Owner unterschätzen anfangs
oft
immer
den Aufwand, um das Backlog zu pflegen!

Entwickler überschätzen (anfangs)
oft
immer
wie viel sie schaffen!

Scrum Master

Achten auf die Einhaltung der Regeln

  • Organisieren Meetings
  • Moderieren Besprechungen
  • Lösen Probleme

Business Owner

Quelle: https://www.marioandreya.de/2018/09/rechtschreibung-mangelhaft-stakeholder-steakholder/ (2021-06-07)

Steakholder

Quelle: https://www.marioandreya.de/2018/09/rechtschreibung-mangelhaft-stakeholder-steakholder/ (2021-06-07)

Stakeholder

  • Verfolgen ein Interesse
  • Arbeiten nicht direkt in Teams
  • Haben nur mittelbar Einfluss

Stakeholder

In AG SMartMapping Projekt der AdV:

  • Business Owner (AdV Plenum)
  • Endanwenderinnen (Alle!)
  • Management (die Länder?)
  • IT-Abteilung (Niemand?)
  • Politische Interessen (erstaunlich viele!)

Artefakte

Drei Haupt-Artefakte werden regelmäßig gepflegt:

  • User Story
  • Task
  • Product Backlog
  • Sprint Backlog

User Story

Spezifikation von Anforderungen

  • Product Owner beschreiben Aufgaben
  • <Rolle> möchte <Ziel/Wunsch> , um <Nutzen>
  • Hat immer ein klares "Definition of Done"
  • Team schätzt Aufwand und Risiko / Komplexität

Tasks (Aufgaben)

Spezifikation der technischen Umsetzung

  • Tasks werden vom Entwickler-Team formuliert
  • Tasks konkretisieren die Umsetzung der User Story
  • "Definition of Done" (ist wirklich erledigt)
  • Entwickler schätzen Aufwand und Risiko

Product Backlog

  • Pendant zum Lastenheft
  • User Stories, um die Vision umzusetzen
  • Aufgabe der Product Owner:
    • aktualisiert
    • priorisiert
    • ständig!

Sprint Backlog

  • Wird im Sprint Planning erstellt
  • Team wählt aus Product Backlog
  • User Stories für einen Sprint


Product Owner beeinflusst nur die Priorität

Meetings

Es gibt (z.B. bei Scrum) vier zentrale Meetings:

  • Sprint Planning
  • Daily Stand-up
  • Sprint Review
  • Retrospective

Sprint Planning

Der Product Owner stellt neue Anforderungen vor

  • Das Team fragt, bis alles klar ist
  • Das Team schätzt den Aufwand
  • Das Team wählt Aufgaben für den nächsten Sprint

Daily Stand-Up

Alle Teammitglieder treffen sich jeden Tag für 15 Minuten Stand-Up

  • Was habe ich gestern getan?
  • Gab es Probleme?
  • Was tue ich heute

Quelle: http://cdn.collider.com/wp-content/uploads/2015/07/mission-impossible-5-image-19.jpg (2021-04-28)

Ausprobiert...

Abgeschafft!




Als Kompromiss einstündiges wöchentliches Meeting

Sprint Review

Teammitglieder stellen Ergebnisse des Sprints vor.

  • Funktionierende Features
  • Dokumentation
  • Tests
  • (Powerpoint-Verbot)

Retrospective

Zeit für das Team!

Probleme werden identifiziert und Lösungen erarbeitet.

Quelle: http://getwallpapers.com/wallpaper/full/1/f/9/739403-mission-impossible-wallpapers-1920x1080-for-1080p.jpg (2020-09-23)

Slack Day

Neue Sachen ausprobieren.

Spielen.




Wird meistens vernachlässigt!

Der gesamte Prozess

Aside note: check time, you should be at ~10 minutes


					      if ( ↓ ) 
					         {
					            echo "Gesamter Prozess im Detail"; 
					         } 
					      elseif ( → ) 
					         {
					            echo "Abkürzung, alles in einem Bild"; 
					         }
				      

Scrum in a nutshell. Source: http://metaspatial.net/wiki/Sprint (2019-02-27)

Product-Owner

...setzen die Anforderungen der Kunding / Anwenderin in User-Stories um und priorisieren sie.

Product-Owner und Team

...erstellen konkrete Arbeitspakete (Tasks) aus den User Stories, die am Ende jedes Sprints zu einem funktionierenden Produkt führen.

Das Team

...wählt so viel Arbeitspakete aus, wie in einem Sprint (zwei Wochen) zu schaffen sind und fängt an zu arbeiten.

Der Scrum Master

...moderiert tägliche, kurze Besprechungen (Stand-Ups), in denen das Team den Fortschritt der Arbeiten bespricht und Blocker identifiziert.

Scrum Master & Product Owner

...beseitigen die Blocker und halten das Management aus auf dem Laufenden.

Review-Meeting

Das Team präsentiert am Ende des Sprints dem Product Owner, den Anwendern und den Stakeholdern das Ergebnis (im Idealfall eine neue, funktionierende Version des Produkts).

Iteration

Dieser Prozess wird wiederholt, bis das Ziel erreicht ist.

Scrum in a nutshell. Source: http://metaspatial.net/wiki/Sprint (2019-02-27)

Das Ergebnis

Das Ergebnis ist immer ein fertiges Produkt, dessen Qualität sich aus der Funktion von Budget, Zeit und Funktionsumfang zusammensetzt.

Source: https://en.wikipedia.org/wiki/Project_management_triangle (2019-03-11)

Open Source im Amt?

Open Source: Amtlich

Es hat ein Paradigmenwechsel stattgefunden!

Rahmenbedingungen

Hürden beim Aufbau der Entwicklungsumgebung.

( ↓ )

Entwicklungsumgebung

Für die AG SmartMapping soll eine Entwicklungsumgebung aufgebaut werden.

Wie geht das?

V-Modell XT

Source: http://download.gsb.bund.de/BundesCIO/V-Modell_XT_Bund/V-Modell%20XT%20Bund-2.0-HTML/index.html (2020-09-23)

Vorgehen

  • Sammeln der Anforderungen
  • Erstellung des Lastenheftes
  • Ausschreibung
  • Auswahl
  • Beauftragung
  • Erstellung
  • Lieferung
  • Abnahme
  • ...vielleicht Abnahme

Virtualisierung (Cloud)

  • User Interface
  • Docker
  • Docker run
  • kubectl
  • Provisioning
  • RBAC
  • Monitoring
  • Health Checks
  • Rancher Distribution
  • Kubernetes Cluster
  • OpenShift Orchestration
  • Container Networking
  • Kubernetes Master
  • Multi Cloud Management
  • ...

Hardware

  • 18 Prozessoren
  • 256 GB RAM
  • 25 TB Speicher

Software

Must-have:

  • Postgresql
  • PostGIS
  • t-rex
  • QGIS

Software

Nice to have...

  • FME Server
  • Arc GIS Portal
  • ...

Instanzen

(Mindestens) 5 Instanzen für CI/CD...

  1. Dev
  2. Test
  3. Int
  4. Staging
  5. Prod

Der Traum

Title. Source: https://www.supernap.com/gallery/images/supernap-gallery11.jpg (2021-05-17)

Die Realität

Kostenexplosion

Source: http://getwallpapers.com/wallpaper/full/e/6/b/739540-mission-impossible-wallpapers-1920x1080-smartphone.jpg (2021-05-17)

Die Alternative?

Ein Standard-Blech bei Hetzner:

  • Ubuntu 18.04 Server + PostGIS
  • Volle Kostenkontrolle
  • Volle Kontrolle über Ports, Firewall, etc.
  • Ausfallfreier Betrieb seit März 2019

Anforderungen nach 2 Jahren klarer...

...Umzug auf größeres Blech.

Hardware 2.0

  • 40 Prozessoren
  • 512 GB RAM
  • 10 TB NVMe SSD
  • 20 TB Standard SSD

Source: # htop @ https://dev.adv-smart.de (2021-06-07 21:48:12)

Entwicklungsumgebung 2.0

https://dev.adv-smart.de

High Five! Source: https://joy.org.au/anastasiawarren/wp-content/uploads/sites/351/2017/11/high-five.jpg (2020-10-13)

Agil im Amt

Echt jetzt ?

Erfahrungen und Vorurteile:

  • Lastenheft-Denke
  • Innovation
  • V-Modell
  • Veraltete Technik
  • Restriktionen:
    • Netzwerk
    • Sicherheit
    • Windows
    • keine Videokonferenzen

Eher unnovativ (unkreativ)

Title. Source: https://Quelle: https://commons.wikimedia.org/wiki/File:Telefon04_1.jpg (2021-04-28)

Zugang Status Lösung
Zoom Gesperrt Jitsi
Jitsi Gesperrt Webex
Github Gesperrt FOSSIL SCM
Slack Gesperrt Mattermost
Port 22 Gesperrt FATAL ERROR

Remote Access. Quelle: http://getwallpapers.com/wallpaper/full/1/f/9/739403-mission-impossible-wallpapers-1920x1080-for-1080p.jpg (2021-04-13)

Offizell

Es folgt ein Anschreiben zur Freigabe des Port 22 für Mitarbeiterinnen der Arbeitsgruppe SmartMapping...

Und so weiter...

Es ist ein langer, kalter Krieg gegen die Bürokratie.

Source: http://getwallpapers.com/wallpaper/full/e/6/b/739540-mission-impossible-wallpapers-1920x1080-smartphone.jpg (2020-09-23)

Ergebnisse

Source: http://getwallpapers.com/wallpaper/full/e/6/b/739540-mission-impossible-wallpapers-1920x1080-smartphone.jpg (2020-09-23)

Source: https://dev.adv-smart.de (2021-06-07)

Ergebnisse

Selber klicken, hier gehts lang:

https://adv-smart.de

Vortrag zur Technik

Herr Johann Sehner (Landesamt für Digitalisierung, Breitband und Vermessung, Bayern) und Arnulf Christl werden am am 9. Juni 2021 um 11:00 das Verfahren und die Technik vorstellen:

https://fossgis-konferenz.de/2021/sessions/7LXB37.php

Zusammenfassung

  • Bedingungen für Open Source massiv verbessert
  • Lastenheft != agile Software-Entwicklung
  • Command & Control immer noch weit verbreitet
  • Arbeitsbedingungen im Amt sind nicht agil!

Aber wenn das Team passt und alle mitziehen
geht es dennoch!




Vielen Dank für Ihre Aufmerksamkeit!


Zeit für Fragen


Arnulf Christl
https://metaspatial.com