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