Abschlusspräsentation: Selbsorganisiertes SW

Werbung
Adrian Defer, Paul Harfenmeister, Dennis Ventzke, Leon Weber
Abschlusspräsentation:
Selbsorganisiertes SW-Projekt
Erstellung einer Leistungsdatenbank für den Berliner
Leichtathletik-Verband.
Plan für heute
●
Vorstellung und Beschreibung des Projekts
●
Kurze Demonstration
●
Analyse des Projektverlaufs
●
●
●
●
●
●
Probleme
Freiwillig vs. Pflicht
Tools
(fehlende) Erfahrung
Organisation/ Projektmanagement
„Lehrbuchvorgehen“/ Perfektionismus
●
Zusammenfassung
●
Ausblick
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
2
Vorstellung
●
Adrian Defer
●
Paul Harfenmeister
●
Dennis Ventzke
●
Leon Weber
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
3
Auftraggeber/ Kunde
●
Berliner Leichtathletik Verband (BLV)
●
Bereich Leistungssport/ Kaderförderung
●
Kontakt: Markus Geißler
http://bsv1892.de/wp-content/uploads/2012/11/BLVLogo_gelb-blau-300x300.jpg
https://www.leichtathletik-berlin.de/landes-und-bundestrainer.html
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
4
Wie sind wir zu diesem Projekt gekommen
●
Paul in der Domäne Leichtathletik sehr aktiv
●
Uni sehr viel Theorie, wenig Praxis => Erfahrung sammeln
●
=> Softwareprojekt
●
Spannungsfeld: „Freiwillig vs. Pflicht“
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
5
Ziele des Kunden
●
Datenbank für Leistungen in der Leichtathletik
●
Ersatz für bisherige Leistungserfassung:
●
Excel
●
Zettel & Stift
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
6
Projektzeitraum
●
27. Juli – 15. Oktober; 11,5 Wochen
●
3 Tage die Woche von 9:00 – 18:00 Uhr
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
7
Technologien
●
git
●
Pycharm
●
python 3.4 / django 1.8
●
github
●
travis
●
slack
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
8
Demonstration
python manage.py runserver 127.0.0.1:8000
Adrian
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
9
LADV-Scraper
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
10
LADV-Scraper (2)
1) Suche relevante Ergebnis-HTMLs per API
2) Extrahiere Ergebnisse in Zwischenmodell
3) Transformiere Zwischenmodell in Django-Modell
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
11
Model
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
12
Daten der Domäne
●
74 Disziplinen
●
20 Altersklassen
●
173 Parameter (Wurfgewichte, Hürdenhöhen)
●
832 Disziplin-Altersklasse-Kombinationen
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
13
Visualisierungen
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
14
Statistiken
~30.000 SLOC
847 Commits
485 Unittests
83% Coverage
~30% SLOC sind Unittests
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
15
Probleme
●
Kein iteratives Vorgehen
●
Organisationsstruktur
●
Fehlende Erfahrung
●
Technikgläubigkeit
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
16
Extrem komplexes Model
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
17
Extrem komplexes Model (2)
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
18
Freiwillig
vs.
Pflicht
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
19
XML- vs HTML-Scraping
“Was der Bauer nicht kennt...”
http://bsv1892.de/wp-content/uploads/2012/11/BLV-Logo_gelb-blau-300x300.jpg
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
Leon
20
Deployment-Aufgabe
●
Chef hat gefehlt
●
Motivation hat nur für 'coole' Sachen gereicht
→ nicht für unpopuläre aber wichtige Aufgaben
Adrian
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
21
LADV-Scraper
●
Interessantes Feature statt Kundenwunsch
●
Umfang nicht an Projektrahmen angepasst
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
22
Tools
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
23
Tools: Docker
●
Konservatives Vorgehen nicht machbar
●
Bleeding Edge
●
Kaum Recherche bzgl. Technologien
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
24
Tools: Timetracking
Versuch Probleme mit Tools zu erschlagen
© 2016 AVG Netherlands BV
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
Adrian
25
(fehlende)
Erfahrung
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
26
Kundenwunschkonzerte
●
Schlechte Abschätzungen
●
Gespräche nur aus technischer Sicht
●
Kunde hatte nur vage Vorstellungen
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
27
Codeübergabe - Parser
●
Methodische Unerfahrenheit
●
“Was der Bauer nicht kennt...”
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
28
GIT Magic
●
$ git checkout -- template...
→ technische Unerfahrenheit kann schon mal
4-5 Stunden Arbeit kosten
Adrian
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
29
Organisation/
Projektmanagement
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
30
Scrum
Nur halbherzige Umsetzung
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
31
Diktatur vs. Demokratie
Quelle: http://blog.pasch-net.de
Quelle: http://arbeits-abc.de
●
Freundschaft als Hindernis
Adrian
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
32
Planung im Keller
●
Zuständigkeiten bereits in Planungsphase zugeordnet
●
Plan nicht angepasst
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
33
„Lehrbuchvorgehen“/
Perfektionismus
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
34
Issues priorisieren / abschätzen
●
Github nur bedingt geeignet
●
Overhead
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
35
Unsinnige Reviews
●
bessere Codequalität als ohne Lehrbuchvorgehen
●
extremer Overhead
●
Demotivation durch Reviews
●
besser kein Perfektionismus um jeden Preis!
Adrian
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
36
Unittest Optimierung
●
Hoher Overhead durch “Lehrbuchvorgehen”
●
… aber bessere Codequalität als anders
●
Quick'n dirty oder slow'n clean?
Leon
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
37
200 Tests für eine Funktion
●
Keine Kosten/Nutzen-Abschätzung
●
Perfektionismus um jeden Preis
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
38
Pairprogramming
●
Scheinbar zu viel Mehraufwand
Dennis
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
39
Lessons learned
●
Projektleiter ist unabdingbar
●
Iteratives Vorgehen in den Vordergrund stellen
●
Plan anpassen statt wegwerfen
●
Funktionsumfang erst einmal klein halten
●
Abschätzungen sind schwer
●
Technologien lösen keine strukturellen Probleme
●
Codequalität sinnlos ohne benutzbares Produkt
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
40
Ausblick
Paul
Abschlusspräsentation SW-Projekt, A. Defer, P. Harfenmeister, D. Ventzke, L. Weber
41
Herunterladen