terrestris Logo

    Arnulf Christl
Metaspatial Logo

FOSSGIS 2022 Logo - Marburg

Open Source Geospatial

und

agile Softwareentwicklung


...am Beispiel der Glasfaser Rollout-Prozesse der Telekom AG

Mein Hintergrund ist ein bunter Mix aus IT und Kommunikation...

...also so etwas wie die Borg.

Unternehmungen

  • 1998 Gründung CCGIS GbR
  • 2003 Mitgründer Ngakde e.V.
  • 2004 Mitgründer Geo-Consortium
  • 2006 Mitgründer Open Source Geospatial Foundation (OSGeo)
  • 2007 Mitgründer WhereGroup GmbH & Co. KG
  • 2010 Gründung Metaspatial
  • 2013 Mitgründer SplashMaps.com
  • 2021 Mitarbeiter der terrestris GmbH & Co KG

Current Affiliations

Exkurs

Derzeit beschäftige ich mich mit
ethischen und philosophischen
Grundlagen künstlicher Intelligenz
im Spannungsfeld mit
> zunehmend mangelnder <
menschlicher Intelligenz

(vielleicht so etwas wie "Materialismuskritik")

Wofür wird "künstliche Intelligenz" (KI)
heute primär genutzt?

Um noch mehr Blödsinn zu verkaufen
den sowieso kein Mensch braucht.

Stattdessen sollten wir KI lieber mit
wichtigen und richtigen Werten trainieren, z.B.

  • Liebe, Güte, Fürsorge
  • Mitgefühl
  • Mitfreude
  • Gleichmut, Gelassenheit und Toleranz


Die vier Unermesslichen

Dafür brauchen wir:

  1. Großzügigkeit
  2. Ethische Disziplin
  3. Geduld
  4. freudige Anstrengung, Durchhaltevermögen
  5. Konzentration
  6. Weisheit


Die sechs Paramitas

Warum ein Doppel-Talk?

  • Komplexe Fragestellung
  • Harte Business Anforderungen
  • agile Softwareentwicklung vs. "Lastenheft"
  • agiles Projektmanagement

Die Aufgabe

Die Telekom ist vom Gesetzgeber angehalten, Haushalte (auch im ländlichen Raum) an das Hochgeschwindigkeits-Internet anzuschließen.


Siehe auch Vortrag:

Cloudbasierte Geodateninfrastruktur für den Glasfaserrollout in der Deutschen Telekom AG

Tobias Frechen, FOSSGIS 2021

Telekom AG Infografiken. Source: https://www.telekom.com/de/medien/mediencenter/infografiken (2021-02-27)

Die Zielvorgabe

Ziel der Bundesregierung gibt 2018 als Ziel vor eine flächendeckende Infrastruktur mit Gigabit Geschwindigkeiten (1GBit/s) bis 2025 auszubauen.

Die Umsetzung

Um dieses Ziel zu erreichen, muss (unter anderem) der Planungsprozess erheblich beschleunigt werden.

Stand 2018 ist der vorbereitende Planungsprozess für die Glasfaserverlegung noch weitgehend analog und manuell.

Deutsche Glasfaser. Source: https://www.deutsche-glasfaser.de/netzausbau/gebiete/bornheim/ (2022-03-08)

Der Planungsprozess

(...stark verkürzt und vereinfacht...)

  • Festlegung des Ausbaugebietes
  • Ermittlung des Bedarfs
  • Verortung potentieller Standorte der Verteilerkästen
  • Berechnung potentieller Trassen
  • Vorlage der Planung zu Genehmigung

Ausbaugebiet Bornheim

Ausbaugebiet Bornheim (Demo/Test)

Ermittlung des Bedarfs

Bedarfsermittlung. Source: https://ebs01.telekom.de/resout/pom/pilote/boh/pom-fiber-boh/ (2022-03-02)

Verortung potentieller Standorte Verteilerkästen

Ruhrnachrichten. Source: https://www.ruhrnachrichten.de/dortmund/neue-telekom-kaesten-werden-seit-monaten-nicht-montiert-plus-1491694.html (2022-03-08)

Berechnung potentieller Trassen

Zur Berechnung werden Daten benötigt:

  • Flurstücke, Gebäude, etc.
  • Adressdaten
  • Verteilerstandorte
  • bestehendes Leitungsnetz
  • Oberflächenart
  • etc.

Berechnung potentieller Trassen

Auswertung der 3D-Befahrungsdaten mit Künstlicher Intelligenz

Datenbeschaffung

Es wird eine Vielzahl unterschiedlicher Daten benötigt, jede mit spezieller, eigener Aufbereitung:

  • Amtliche Katasterdaten (ALKIS)
  • Orthophotos
  • OpenStreetMap
  • Selbst erhobene 3D-Befahrungsdaten
  • ALKIS Straßennetz, Flurstücke
  • Adressdaten
  • Gebäudeumringe
  • etc.

T-Surface Car. Source: Telekom AG (2022-03-02)

Potentielle Trassen, Quelle Telekom

Potentielle Trassen, Quelle Telekom

Potentielle Trassen, Quelle Telekom

Potentielle Trassen, Quelle Telekom

Details zu den Daten

Eine Auswahl des Datenbestands in QGIS (Live).

Software-Entwicklung

Entwicklung in verschiedenen Bereichen:

Aufbau der GDI

Alle Komponenten müssen installiert und parametriert werden und dabei den Sicherheits-Anforderungen der Telkom-internen IT folgen. Daten müssen importiert, eingebunden, leistungsoptimiert werden...

Betrieb

Die GDI wird in der Open Telekom Cloud betrieben. Der Aufbau dieser Architektur ist durch die Verwendung von Cloud-Technologie wesentlich komplexer, als bei einem "einfachen" Client-Server System.

Agiles Vorgehen

Die Aufgaben müssen parallel erledigt werden, woraus erheblicher Zeitdruck und Koordinationsaufwand resultiert.

Um Risiken rechtzeitig zu erkennen,
wird auf agile Softwareentwicklung (Scrum) gesetzt und durch Projektmanagement nach SAFe ergänzt.

Die agile Herangehensweise

Agile Softwareentwicklung kann aus verschiedenen Blickwinkeln betrachtet werden:

  • Software
  • Mindset (die Philosophie)
  • Projektmanagement

Die Vorgeschichte

Wiki

1995 erfand Ward Cunningham das Wiki. Ein radikal neuer Ansatz, um digital zusammenzuarbeiten.

Alle können jederzeit alles verändern
&
Es gibt eine vollständige Historie.

Programmierstile

1996 wurde mit Extreme Programming neue Wege in der Erstellung von Software beschritten.

Statt erst alles durchzuplanen, bekommen User sofort eine (minimal funktionsfähige) Software. User werden sofort in die Entwicklung einbezogen.

Daraus wurde CI/CD.

Die Philosophie

Aus diesen Erfahrungen entstand 2001 das
Manifest für Agile Softwareentwicklung

Eine Methodik

Die Ideale des Manifest für agile Softwareentwicklung wurden als Methodik in Scrum festgeschrieben.

...manchmal auch agil vernagelt.

Weitere Methoden

Andere bekannte Methoden sind:

Agiles Projektmanagement

Das Projektmanagement kann Scrum (oder Kanban) als Methode für Softwareentwicklung (z.B. mit Komponenten aus XP) wählen.

Scrum Handbuch

Das Projektmanagement erarbeitet individuell für jedes Projekt ein Scrum Handbuch.

Das Scrum Handbuch wird zwischen Auftraggeber und Auftragnehmer erarbeitet unud abgestimmt.

Vetragliches

Das Scrum Handbuch und der Prozess zur Fortführung desselben sollten verbindlicher Bestandteil des Vertragswerks zwischen AG und AN werden.

Agile Softwareentwicklung

Agiles Projektmanagement basiert auf der Annahme,
dass Änderungen im Plan
unvermeidbar sind.

Statt alles
Unvorhergesehene
im Voraus zu planen
(was offensichtlich unmöglich ist),
wird der Plan selbst flexibel gestaltet.

Scrum

Scrum ist eine Methode, bei der Aufgaben in regelmäßigen Iterationen von 2 bis 4 Wochen (einem Sprint) geplant und durchgeführt werden, bis das Produkt fertiggestellt ist.

Konkrete Arbeitspakete werden jeweils nur für einen Sprint zusammengestellt.

Vorteile

Das Projektrisiko wird erheblich reduziert.

  • Probleme werden frühzeitig erkannt
  • Potentielle Verzögerungen werden identifiziert
  • Ursachen können identifiziert werden
  • Gegenmaßnahmen können sofort ergriffen werden
  • Der Plan wird kontinuierlich an die Realität angepasst

Scrum Basics

  • Rollen
  • Artefakte
  • Meetings

Rahmenbedingungen!

Rollen

  • Team (5 bis 9 Personen)
  • Product Owner (1 bis 2)
  • Scrum Master (1)
  • Stakeholder (beliebig viele)

Team

  • entscheidet WIE eine Aufgabe umgesetzt wird
  • entscheidet wie VIELE Aufgaben im nächsten Sprint erledigt werden können
  • berichtet täglich über den Fortschritt und
  • berichtet täglich über Probleme und Blocker

Product Owner

...pflegt kontinuierlich das Backlog.

  • Erläutert dem Team welche Aufgaben anstehen
  • Priorisiert die Aufgaben
  • Ist ständig über den Stand der Aufgaben informiert

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

Scrum Master

Achten auf die Einhaltung der Regeln.

  • Schützen das Team
  • Moderieren Besprechungen
  • Kümmern sich darum, dass Probleme gelöst werden

Stakeholder

Alle, die ein Interesse an dem Projekt haben,
aber nicht direkt daran arbeiten, z.B.:

  • Business Owner
  • Endanwenderinnen
  • Management
  • IT-Abteilung

Sie haben keinen direkten Einfluss auf das Projekt,
sondern nur mittelbar über den Product Owner und die Anpassung der Rahmenbedingungen.

Artefakte

Drei Haupt-Artefakte werden regelmäßig gepflegt:

  • User Stories
  • Product Backlog
  • Sprint Backlog

User Story

Die Aufgabe; Was soll erzielt werden?

  • Product Owner beschreibt die Aufgaben
  • Sollte innnerhalb eines Sprints erledigt werden
  • Hat immer ein klares "Definition of Done"
  • Team schätzt Aufwand und Risiko

Task

Wie wird die Story umgesetzt

  • User Stories werden durch Tasks konkretisiert.
  • Tasks werden vom Team formuliert.
  • Ein Task (Aufgabe) ist präzise genug formuliert, um innerhalb von wenigen Stunden oder Tagen erledigt werden zu können.
  • Ein Task hat immer ein klares "Definition of Done".
  • Das Team bearbeitet immer nur Tasks aus dem aktuellen Sprint Backlog.

Product Backlog

Das Product Backlog enthält alle User Stories, die benötigt werden, um die Vision umzusetzen.

Anfangs gibt es nur wenige klare Stories im Product Backlog, das laufend von Product Owner gepflegt wird.

Sprint Backlog

  • ...enthält alle User Stories für einen Sprint.
  • ...wird im Sprint Planning vom Team bestückt.


Product Owner kann nur die Priorität
der User Stories ändern.

Meetings

Im Vorgehensmodell gibt es drei feste Haupt-Meetings:

  • Sprint Planning
  • Daily Stand-up
  • Sprint Review
  • und Retrospective (das wird immer vergessen)

Flexible Meetings mit einer kontinuierlichen Aufgabe:

Backlog Refinement

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

Product-Owner

...beschreiben Anforderungen in User-Stories.

Backlog Refinement

Sprint Planning I

Der Product Owner stellt neue User Stories aus dem Product Backlog vor.

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

Team und Product-Owner

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

Sprint Planning II

Das Team legt Tasks an, um die User Story umzusetzen.

  • Team klärt Details mit Product Owner
  • Team committed sich zu den gewählten Tasks
  • Der Sprint wird offiziell gestartet!

Sprint

Während des Sprints (2 Wochen) arbeitet das Team Tickets ab.

Daily

Das Team berät sich täglich im Daily zu den Arbeiten und identifiziert Blocker.

15 Minuten. Der Scrum Master moderiert.

Scrum Master & Product Owner

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

Review-Meeting

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

Iteration

Dieser Prozess wird wiederholt, bis das Ziel erreicht ist.

(oder Zeitpunkt erreicht oder Budget ausgeschöpft ist)

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)

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

Wie kommt der Code in die Cloud?

Caveat

  • Management muss agil unterstützen!
  • Teams sollten multidisziplinär arbeiten!
  • Teams müss selbstverantwortlich arbeiten lernen
  • AnwenderInnen müssen mitmachen

Umsetzung

  • Jeder Jeck ist anders
  • Scrum ist eine Methodik und muss mit Leben gefüllt werden
  • Es wird ein Scrum Handbuch erstellt (pro Projekt / Firma / Team)
  • Das Scrum Handbuch unterliegt selbst ständiger Verbesserung

Scrum Handbuch (Allgemein)

  • Besprechungen sind pünktlich (Start & Ende)
  • Termine immer per Zimbra Einladung
  • Code geht ins Respository
  • Kein Code ohne Review
  • ... ... ...
  • ... ...
  • ...

Scrum Handbuch (spezifisch)

  • Product Owner: (Name)
  • Team: (Liste mit Namen
  • Architekt: (Name)
  • Stakeholder: (Liste mit Namen/Organisationen)
  • Sprintlänge: (Anzahl Tage)
  • Sprintwechsel am: (Wochentag)
  • Backlog Refinement am: (Wochentage)
  • Daily um: (Uhrzeit)



Vielen Dank für Ihre Aufmerksamkeit!


Zeit für Fragen


Arnulf Christl
https://metaspatial.com

XXX. Source: https:// (2022-03-02)