Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Frederik Bässmann, Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,

Ähnliche Präsentationen


Präsentation zum Thema: "1 Frederik Bässmann, Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,"—  Präsentation transkript:

1 1 Frederik Bässmann, Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin, Institut für Informatik

2 2 Frederik Bässmann, 1. Einleitung: Warum wird die Arbeit von Programmierern beobachtet? 1.1. Motivation von Entwicklungsstudien 1.2. Studien in der Softwareentwicklung 2. die Arbeit von Programmierern und Softwareentwicklern 2.1. Ueberblick über die Arbeit von SEs und Programmierern 2.2. Arbeitsumfeld am Beispiel einer Softwarefirma 3. Studien von Entwicklungsprozessen: empirische, analytische und arbeitspraktische Ansätze 3.1. Betrachtung von Entwicklungsarbeit 3.2. Vergleich von empirischen und arbeitspraktischen Studien 4. Vorbereitung und Organisation von Recherchen 4.1. Planung der Recherche 4.2. Statistik von Arbeitsschritten 5. Vorgehensarten und Methoden bei Recherchen 6. Auswertung 6.1. Umgang mit gewonnenen Studiendaten 6.2. Use Case Maps (UCMs) 7. Von der Analyse zum Entwickler-Tool Inhalt

3 3 Frederik Bässmann, 1.1. Motivation von Entwicklungsstudien Es handelt sich nicht um oberflächliche Reportagen sondern um einen wichtigen Bereich der Software- entwicklung Durch die Beobachtung und Analyse der Arbeit von Softwareengineers (SEs) wird eine effizientere Arbeitsweise unterstützt Es werden Erfahrungen gesammelt und Entwicklungsprozesse optimiert 1. Einleitung

4 4 Frederik Bässmann, Eines der Hauptziele ist die Vereinfachung der Arbeit von SEs -> Entwicklung von Tools zur Optimierung des Arbeitsprozesses Untersuchung der Benutzerfreundlichkeit von Tools zur Verbesserung und einfacheren Handhabung derselben -> Recherechen der Arbeit von SEs werden so angelegt, dass eine spätere Auswertung der gewonnen Daten für diese Ziele möglich ist 1. Einleitung

5 5 Frederik Bässmann, 1.2. Studien in der Softwareentwicklung je grösser der Umfang der Beobachtungen, desto repräsentativer die Studie oft können jedoch aus Zeit- und Aufwandsgründen nur einzelne Unternehmen betrachtet werden Recherchen von Studien in der Softwareentwicklung müssen sorgfältig geplant und umgesetzt werden, um späteren Nutzen der Informationen zu gewährleisten 1. Einleitung

6 6 Frederik Bässmann, 2.1. Überblick über die Arbeit von SEs und Programmierern Programmierer ist nicht gleich SE SEs haben vielfältige Aufgaben, nicht nur Coden Programmierer sollten mehrere Programmier- sprachen beherrschen, mindestens eine professionell, haben oft geringere Graduierung Softwareentwicklung besteht neben Codierung aus Planung, Organisation, Management usw., was von SEs ebenso gefordert wird wie Programmierkenntnisse 2. die Arbeit von Programmierern und SEs

7 7 Frederik Bässmann, Softwareentwickler müssen in der Lage sein, Projekte effizient umzusetzen: Fähigkeiten von Mitarbeitern einschätzen Gruppen von Entwicklern zusammenstellen Planung den Arbeitsumständen anpassen und realistische Meilensteine setzen für die Einhaltung der geplanten Teilziele sorgen, die den Vereinbarungen mit dem Auftraggeber entsprechen –> Management des gesamten Projekts je mehr Erfahrung, desto mehr Verantwortung 2. die Arbeit von Programmierern und SEs

8 8 Frederik Bässmann, 2.2. Arbeitsumfeld am Beispiel einer Softwarefirma Hauptprojekt: ein umfangreiches Telekommunikationssystem ist bereits seit den 80er Jahren in ständiger Entwicklung und Anpassung mehrere Millionen Lines of Code, über einzelne Methoden in über 8000 Dateien Projekt ist von existentieller Bedeutung für die Firma bereits über 100 Personen waren an der Entwicklung beteiligt 2. die Arbeit von Programmierern und SEs

9 9 Frederik Bässmann, Mitarbeiter haben die Aufgabe, das System zu erhalten und zu erweitern haben viel Handlungsfreiheit bei der Arbeit permanente Kommunikation mit Kollegen, um Verständnis fremder Arbeit zu erlangen und zu vertiefen -> gegenseitige Beratung dürfen hierzu zwischen dem eigenen und anderen Arbeitsplätzen pendeln Freiheit bei der Wahl der eigenen Aufgaben aus TODO-Listen 2. die Arbeit von Programmierern und SEs

10 10 Frederik Bässmann, 3.1. Betrachtung von Entwicklungsarbeit Recherchearbeit bildet die Grundlage für die spätere Toolentwicklung grundlegender Einblick in die Arbeit der Entwickler ist notwendig verschiedene Recherchevarianten: analytische Studien (analytical Studies) empirische Studien (empirical Studies) arbeitspraktische Studien (Studies of Work Practices) 3. Studien von Entwicklungsprozessen

11 11 Frederik Bässmann, analytische Studien Erschliessung logischer Zusammenhänge durch Interpretation von gewonnenen Daten empirische Studien (am häufigsten angewendet) Herauskristallisierung von Mustern in den Daten, also Suche nach typischen Konstellationen arbeitspraktische Studien Sammlung möglichst umfangreicher Daten für möglichst repräsentative Statistik 3. Studien von Entwicklungsprozessen

12 12 Frederik Bässmann, die drei Dimensionen empirischer Studien: Quelle: Paper Studies of the Work Practices of Software Engineers 3. Studien von Entwicklungsprozessen

13 13 Frederik Bässmann, 3.2. Vergleich: empirische vs. arbeitspraktische Studien durch empirische Studien kann ein guter Eindruck erarbeitet werden, aber Nachteile: Umgebung meist künstlich (artificial environment), experimentelle Projekte daher sind die Programmierer oft noch unerfahren, beispielsweise Studenten – haben andere Arbeitsge- wohnheiten nicht immer realistische Arbeitsbedingungen, daher oftmals nicht repräsentativ genug (Labor) 3. Studien von Entwicklungsprozessen

14 14 Frederik Bässmann, arbeitspraktische Studien sind hauptsächlich statistisch orientiert, aber dafür weiträumiger angesetzt Motivation: ein erkanntes Arbeitsmuster spiegelt nicht unbedingt Bedürfnisse hinsichtlich Tools wider wichtiger: wie oft macht der Entwickler was? welche Arbeitsschritte machen den meisten Aufwand? daher sollten die Details der Arbeitsabläufe erfasst werden, nicht unbedingt immer bestimmte Abfolgen 3. Studien von Entwicklungsprozessen

15 15 Frederik Bässmann, arbeitspraktische Recherchen sollten in realen Umgebungen (natural work environment) durchgeführt werden bessere Rückschlüsse auf die Notwendigkeiten der Beschaffenheit der Tools hinsichtlich der Arbeits- umgebung möglich Tools müssen nicht nur gut handhabbar sein, sondern sich auch in Arbeitsumgebung einfügen Entwickler müssen sich schnell mit neuen Tools vertraut machen können, daher Einblick in deren Gewohnheiten sinnvoll 3. Studien von Entwicklungsprozessen

16 16 Frederik Bässmann, Vorteile field study (Recherche in realem Umfeld): reale Arbeitsbedingungen, echtes Projekt, industrielle Grössenordungen aber: Umstände sind auch nicht der Recherche anpassbar Hindernisse im laufenden Betrieb, Mitarbeiter können keine Rücksicht auf Reporter nehmen Recherche ist auf Gunst der Mitarbeiter angewiesen manchmal keine Recherche möglich (Datenschutz, zu starke Eingebundenheit der Mitarbeiter…) 3. Studien von Entwicklungsprozessen

17 17 Frederik Bässmann, 4.1. Planung der Recherche Durchführung einer arbeitspraktischen Studie mehrere Möglichkeiten, Informationen zu sammeln: Fragebögen, Beobachtung (Observierung) im Vorfeld abwägen, welche Möglichkeit wann am geeignetsten ist Manager und Mitarbeiter konsultieren, die bereit sind, zu kooperieren 4. Vorbereitung und Organisation von Recherchen

18 18 Frederik Bässmann, Fragebogen: wieviel Zeit und Aufwand für welche Aktivitäten? Mitarbeiter können freiwillig Einträge vornehmen aufgrund der ungezwungenen Teilnahme kann ernsthafte Bearbeitung angenommen werden Betrachtung von einzelnen Mitarbeitern: Beobachtung bis zu mehreren Monaten Zeitabstände werden später grösser Besprechung und Beobachtung bei den Meetings 4. Vorbereitung und Organisation von Recherchen

19 19 Frederik Bässmann, Betrachtung von Gruppen : die Gruppenmitglieder fertigen Diagramme an, die ihr Verständnis des Systems darstellen Interviews, wie Aufgaben und Probleme gelöst werden Observierungen der Gruppen bei der Arbeit und Protokollierung ihrer Tätigkeiten Mitarbeiter mit unterschiedlichen Arbeitsweisen und verschieden langer Erfahrung sinnvoll 4. Vorbereitung und Organisation von Recherchen

20 20 Frederik Bässmann, manche Arbeitsschritte können auch automatisch erfasst werden: Verwendung von bestimmten Anwendungen kann regsitriert werden Beispiel: Suchtools für Dateien und Inhalte, Editoren Nachteil: Nutzungsdauer wird meist nicht miterfasst, ausserdem wird oft nur erster Aufruf registriert, da Anwendung geöffnet bleibt bei automatischen Erfassungen auf Tätigkeiten verzichten, die ohnehin vom System ausgeführt werden, wie Kompilierungen 4. Vorbereitung und Organisation von Recherchen

21 21 Frederik Bässmann, Beobachtungen von SEs haben prinzipiell einschrän- kende Wirkung auf deren Arbeit die Belästigung der SEs so gering wie möglich halten auch im Interesse der Authentizität der Studie, Ergebnisse werden sonst möglicherweise verfälscht Beobachtungen in Stressphasen vermeiden, wie vor anstehenden Meilensteinen möglichst nur freiwillige Mitarbeiter miteinbeziehen 4. Vorbereitung und Organisation von Recherchen

22 22 Frederik Bässmann, 4.2. Statistik von Arbeitsschritten Fragebogen:Ereignisse in %: Quelle: Paper An Examination of Software Engineering Work Practices 4. Vorbereitung und Organisation von Recherchen

23 23 Frederik Bässmann, nach den genannten grundlegenden Ansätzen nun zur Durchführung: detaillierte Planung des genauen Vorgehens sowohl bei empirischen, als auch bei analytischen und arbeitspraktischen Studien notwendig besonders bei empirischen Studien ist auf die Nachvollziehbarkeit der Zusammenhänge hinterher zu achten Zweck und Ziele von Arbeitsschritten müssen später bei Auswertung noch erkennbar sein 5. Vorgehensarten und Methoden bei Recherchen

24 24 Frederik Bässmann, spez. Methode bei SE-Recherchen: Observierungen Vorgehen: SE wird auf Schritt und Tritt begleitet (shadowing) zwei Techniken zur Protokollierung: Aufzeichnen der Arbeit auf Video –Vorteil: alle Informationen vorhanden –Nachteil: sehr zeitaufwändige Auswertung hinterher manuell Notizen während der Arbeit aufnehmen –Vorteil: gezielte Protokollierung von wichtigen Schritten möglich, besser auszuwerten –Nachteil: Gefahr des Versäumens von Informationen bei schnellem Arbeitsablauf, Zeitpunkte schwerer erfassbar 5. Vorgehensarten und Methoden bei Recherchen

25 25 Frederik Bässmann, Alternative: synchronized shadowing, entwickelt von Lethbridge und Singer Vorteile des Video- und des Notizverfahrens sollen in einem Verfahren vereint werden Verwendung eines speziell entwickelten Programms zur schnellen Erfassung von einzelnen Arbeits-schritten typische Tätigkeiten werden vorcodiert und im Programm für spätere Protokollierung hinterlegt die Arbeitsschritte können nun per Tastendruck inclusive genauer Zeiterfassung protokolliert werden 5. Vorgehensarten und Methoden bei Recherchen

26 26 Frederik Bässmann, oberservierende Reporter Nutzen das Programm auf einem Notebook während der Observierung zur umfangreicheren Informationsgewinnung wird die Observierung durch zwei Personen durchgeführt, daher synchronized kleiner Nachteil: Reaktionszeit der Recher-chierenden führt zu kleinen Verzögerungen, daher nicht ganz genaue Zeiterfassungen Nachteil unterliegt den Vorteilen deutlich 5. Vorgehensarten und Methoden bei Recherchen

27 27 Frederik Bässmann, Protokoll einer Observierung mit synchronized shadowing: Quelle: Paper Studies of the Work Practices of Software Engineers die Tastenbelegung lässt sich sehr leicht durch Macros in Microsoft Word realisieren 5. Vorgehensarten und Methoden bei Recherchen

28 28 Frederik Bässmann, 6.1. Umgang mit gewonnenen Studiendaten Auswertung generell knifflig, sehr zeitaufwändig Daten müssen zunächst in Bereiche eingeteilt werden – Kategorisierung auch hier verschiedene Ansätze: Tätigkeiten können gezählt und ihre zeitliche Dauer insgesamt ermittelt werden (Statistik) –interessant bei grösseren Datenmengen aus verschiedenen Bereichen –aufschlussreich bei der Beobachtung von SEs oder Gruppen mit unterschiedlichen Aufgaben 6. Auswertung

29 29 Frederik Bässmann, die gewonnenen Daten können auf Arbeitsmuster untersucht werden: –wann treten welche Schritte auf, welche wieder- kehrenden Abfolgen zeichnen sich ab? –welche zeitlichen Abstände liegen zwischen bestimmten Schritten? –bereits bekannte Arbeitsmuster werden in n- grams (kleine Teilprozesse) zerlegt, und nach diesen gezielt in den Daten gesucht verschiedene Auswertungsmethoden können getrennt oder zusammen verwendet werden 6. Auswertung von gewonnenen Studiendaten

30 30 Frederik Bässmann, 6.2. Use Case Maps (UCMs) entwickelt von Buhr und Casselmann zur Darstellung von realtime – Prozessen, eignen sich auch zur Veranschaulichung von Arbeitsprozessen Arbeitsprozess durchläuft Diagramm, durch eine Linie symbolisiert Schritte werden aufsteigend nummeriert und durch die Linie verbunden Schleifen, Verästelungen etc. darstellbar Diagramm ist in Kontexte unterteilt, jeder Schritt in einem Kontext können in weitere UCMs unterteilt werden 6. Auswertung von gewonnenen Studiendaten

31 31 Frederik Bässmann, Beispiel eines UCM-Diagramms: modelliert wurde eine Suchanfrage über einen Editor Pfeile symbolisieren Datentransferrichtung (User/System) Uhr steht für Ver- zögerung Quelle: Paper Studies of the Work Practices of Softwareengineers 6. Auswertung von gewonnenen Studiendaten

32 32 Frederik Bässmann, zunächst muss geklärt werden, welcher Bedarf an Arbeitshilfsmitteln besteht Erkenntnisse aus Studien werden herangezogen sowohl statistische als auch Arbeitstechnische Aspekte werden betrachtet ein Beispiel: JITC (Just In Time Comprehension) ist eine Arbeitsweise erfahrener SEs: man arbeitet sich zielgerichtet immer nur in gerade relevante Bereiche ein, etwa zur Optimierung und Ergänzung von Sourcecode 7. Von der Analyse zum Tool

33 33 Frederik Bässmann, Hintergrund: es kann nie alles von einer einzigen Person nachvollzogen werden können (16000 Methoden…) es ist nicht möglich, den gesamten Quellcode zu kennen oder alle Zusammenhänge der Methoden die Einarbeitung ist mit häufigen Suchanfragen verbunden Notwendigkeit eines Suchtools erscheint gegeben Klärung der Anforderungen an das Tool… Funktionen müssen den Arbeitsprinzipien entsprechen, in diesem Fall JITC 7. Von der Analyse zum Tool

34 34 Frederik Bässmann, Tool muss sich ausserdem in die bereits vorandene Arbeitsumgebung einfügen lassen darf bereits vorhandene Tools nicht beeinträ- chtigen, sollte Ergänzung darstellen muss dem Entwickler nützlich erscheinen, sonst wird er sich nicht die Mühe machen, sich einzu- arbeiten technische Leistung des Tools festlegen: –grosse Quellcodemengen sollen schnell durchsucht werden können –Sourcecode verschiedener Sprachen sollte erkannt werden –muss mit Systemen kompatibel sein 7. Von der Analyse zum Tool

35 35 Frederik Bässmann, Limite bereits bei der Planung abstecken: Installationsmöglichkeit auf nur einem Betriebssystem oder bestimmten Rechnern akzeptabel in unserem Beispiel muss keine Objektorientierung erkannt werden können, da es sich hauptsächlich um ein Suchtool handelt Laufzeitabhängige Daten brauchen nicht berück- sichtig zu werden durchdachtes Tooldesign ist wichtig hinsichtlich Konkurrenztools, dortige Schwächen berück- sichtigen und übertreffen 7. Von der Analyse zum Tool

36 36 Frederik Bässmann, 7. Von der Analyse zum Tool Quelle: Paper An Examination of Software Engineering Work Practices Screenshot des tksee - Tools

37 37 Frederik Bässmann, Arbeit von Softwareentwicklern und Programmierern Zweck von SE-Studien (Tools…) empirische, analytische und arbeitspraktische Studien Organisation und Durchführung von Studien Auswertung gewonnener Informationen (UCMs) Entwicklung von Tools auf Basis von Recherchen Zusammenfassung

38 38 Frederik Bässmann, Paper An Examination of Software Engineering Work Practices von Janice Singer, Timothy Lethbridge, Norman Vinson, Nicolas Anquetil Paper Studies of the Work Practices of Software Engineers von Dr. Timothy Lethbridge, Dr. Janice Singer Literatur

39 39 Frederik Bässmann, Danke!


Herunterladen ppt "1 Frederik Bässmann, Seminar Komponenten Programmierern über die Schulter gesehen Frederik Bässmann Freie Universität Berlin,"

Ähnliche Präsentationen


Google-Anzeigen