Extrait
Inhaltsverzeichnis
1 Einleitung
2 Merkmale des agilen Paradigmas der Softwareentwicklung
3 Kommunikationsprozesse agiler Softwareentwicklungsteams
3.1 Besonderheiten der Online-Kommunikation
4 Lernprozesse agiler Softwareentwicklungsteams
5 Lernmethoden im Kontext agiler Softwareentwicklung
5.1 Bestandsaufnahme
5.2 Online-Learning
5.3 Micro-Learning
5.3.1 Micro-Learning im Kontext der agilen Applikationsentwicklung
6 Kompetenzentwicklung agiler Softwareentwicklungsteams
7 Fazit und Ausblick
Literatur- und Quellenverzeichnis
Anhang 1: Das agile Manifest
Anhang 2: Das Prozessmodell „Scrum“
Anhang 3: Blogs, Foren und Tools für Softwareentwickler
1 Einleitung
Die vorliegende Arbeit des Moduls Mediale Bildung und Medienkommunikation des Lehrgebiets Bildungstheorie und Medienpädagogik setzt sich zum Ziel, Fragestellungen zu Kommunikations- und Lernprozessen in Projekten der Softwareentwicklung zu untersuchen, die unter dem Paradigma der Agilität geführt werden. Dabei wird es zunächst darum gehen, die Relevanz der Modulinhalte für diesen Anwendungsbereich aufzuzeigen, um im Anschluss daran auf einzelne Inhaltspunkte mit ihren konkreten Anwendungsbezügen einzugehen. Ein weiteres Ziel wird darin bestehen, zum einen den potenziellen Nutzen bildungswissenschaftlicher Erkenntnisse aus dem Modul, zugunsten des Anwendungsbereich der Agilen Softwareentwicklung zu identifizieren und umgekehrt sollen Rückschlüsse gezogen, sowie Fragen und neue Aufgabenstellungen aus dem Anwendungsbereich an das Forschungsgebiet gerichtet werden. Der Autor ist seit mehreren Jahren als Softwareingenieur in einem multinationalen Betriebsumfeld berufstätig.
2 Merkmale des Agilen Paradigmas der Softwareentwicklung
Die Geschichte der Softwareentwicklung unter dem Paradigma der Agilität beginnt mit der Formulierung des „Agilen Manifests“ (Anhang 1) am 13. November des Jahres 2001, durch dessen 12 Protagonisten der sog. „Agile Alliance“, namentlich Kent Beck, Ken Schwaber, Jeff Sutherland, Alistair Cock- burn, Martin Fowler, und anderen bekannten Methodologen. Aber bereits zwei Jahre zuvor hatte Kent Beck an der Konferenz für objektorientierte Programmierung in München die etablierten Entwicklungsmethoden für gescheitert erklärt und mit seinem Konzept „eXtreme Programming“ die Forderung gestellt, mit den planungs-, dokumentations- und konzeptionslastigen Entwicklungsmethoden der Neunzigerjahre aufzuräumen (vgl. Coldewey J., 2011). Bedingt durch die zunehmende Komplexität moderner Softwaresysteme wurden Entwicklungsmethoden erforderlich, die es erlaubten, flexibel auf variable Einflussfaktoren und dynamische Abhängigkeiten innerhalb laufender Projekte zu reagieren und dabei das Interesse des Auftraggebers - nämlich die möglichst zeitnahe Verfügbarkeit lauffähiger Software - nicht aus den Augen zu verlieren. So wurde im „Agilen Manifest“ von der „Agile Alliance“ in Worte gefasst, was für viele Softwareingenieure, aus pragmatischen Überlegungen heraus, bereits zur beruflichen Praxis geworden war. Aber nicht nur die technische Komplexität moderner Softwaresysteme hat in den vergangenen zwei Dekaden zugenommen, sondern auch die Komplexität der Geschäftsstrukturen in denen diese entwickelt werden. So werden Grossprojekte multinationaler Konzerne typischerweise von mehreren Teams entwickelt, wobei diese nicht selten - sei es mit der Absicht einer Kostenersparnis oder als Folge von Firmenübernahmen oder aus strategischen Überlegungen heraus - global verteilt operieren. Softwareingenieure stehen daher oftmals vor der Herausforderung, den Prinzipien des „Agilen Manifests“ auch über räumliche Distanzen und teilweise über kulturelle Grenzen hinweg, gerecht zu werden.
3 Kommunikationsprozesse agiler Softwareentwicklungsteams
Um auf die Kommunikationsprozesse innerhalb agil geführter Softwareprojekte eingehen zu können, ist es notwendig hier zumindest eines der üblichen Prozessmodelle vorzustellen, in welchen agile Softwareentwicklung in der Praxis stattfindet. Repräsentativ soll hier das weit verbreitete Prozessmodell „Scrum“ zunächst im Überblick dargestellt und in Anhang 2 bezüglich seiner Rollen und Abläufe genauer erklärt werden:
Abbildung in dieser Leseprobe nicht enthalten
Abb. 1: Schematische Darstellung des Prozessmodells „Scrum“
Quelle: [Online, 24.08.2013] http://pmtips.net/adapting-agile-methodology-startup/
Im Sinne von Prinzip 2 und 4 des „Agilen Manifests“ (Anhang 1), gehört es zu den Aufgaben des „Product Owners“, Auftraggebern, Geschäftsleitung und anderen externen Stellen während der gesamten Projektlaufzeit, als Ansprech- partner und Vermittler zur Verfügung zu stehen. Er diskutiert die Machbarkeit von Kundenwünschen mit seinen Entwicklungsteams und stellt eine Liste der Produktfeatures im „Product Backlog“ auf Grundlage der Kundenwünsche („User Stories“) zusammen. Absprachen finden dabei gemäss Prinzip 6 des „Agilen Manifests“ vorzugsweise Face-to-Face, etwa in Form von Meetings oder Präsentationen statt, aber es kommen in der Praxis, zur Überwindung räumlicher Distanzen auch verschiedenste Kommunikationsmedien zum Einsatz. Entwicklungsteams organisieren sich unter der Moderation des „Scrum Masters“ selbst: Die „User Stories“ werden im Rahmen des „Sprint-Planings“ bezüglich Aufwand geschätzt und in überschaubare Arbeitseinheiten, sog. „Tasks“ aufgeteilt. Ziel des „Sprint-Planings“ ist es, gemeinsam zu entscheiden, welche der „User Stories“ im bevorstehenden „Sprint“ implementiert werden können. Dies geschieht in der Regel wiederum Face-to-Face während eines oder mehrerer Meetings oder, sofern auswärtige Entwicklungsteams involviert sind, unter Zuhilfenahme entsprechender Softwaretools, audiovisuell über das Internet, mit Zugriff auf einen gemeinsamen Planungsdesktop (Beispiel s. Anhang 3).
Entwickler kommunizieren mit Kollegen anderer Projektteams zur Klärung technischer Details häufig per E-Mail oder in Echtzeit per Chat. Kollektives Wissen im Sinne Surowiecki‘s „Wisdom of the Crowds“ (vgl. Surowiecki, 2005), hat sich in Form häufig frequentierter online Foren und Blogs der Entwicklerszene als ebenso verlässliche wie unerschöpfliche Wissensquelle etabliert; Es gibt wohl kaum ein Standardproblem der Programmierung, für welches nicht in einem der vielen Expertenblogs (Beispiele s. Anhang 3) Lösungsvarianten diskutiert werden.
Im Rahmen des „Sprint-Reviews“ werden die Arbeitsergebnisse eines „Sprints“ im Sinne von Prinzip 3 des „Agilen Manifests“ an der lauffähigen Software von den Entwicklern demonstriert. Auch hier können bei räumlicher Verteilung der Interessensvertreter und der beteiligten Teams wiederum Softwaretools zum Einsatz kommen, die es erlauben Bildschirminhalte über das Internet zu teilen. Auf diese Weise können Arbeitsergebnisse interaktiv vorgeführt und hinsichtlich zuvor festgelegter Zielkriterien - den sog. „Definitions of Done“, die einen festen Bestandteil der entsprechenden „User Stories“ bilden - geprüft und von den beteiligten Parteien „live“ kommentiert werden. Im Sinne von Prinzip 2 des „Agilen Manifests“ ist für „Scrum“-Teams dabei gerade dieses unmittelbare Feedback der Auftraggeber und anderer Stakeholder als Reaktion auf die Ergebnisse einer Entwicklungsiteration („Sprint“) im agilen Entwicklungsprozess für die weitere Projektplanung insofern von besonderer Bedeutung, als dass dadurch Zielvorstellungen und die Machbarkeit der Kundenwünsche periodisch überprüft und sichergestellt werden können (vgl. Wolf & Bleek, 2011, S. 177).
Zusammenfassend kann festgehalten werden: Agile Softwareentwicklung, wie in obigem Beispiel skizziert und gemäss Prozessmodell „Scrum“ durchgeführt, ist durch vielschichtige, wiederkehrende Kommunikationsprozesse gekennzeichnet. Kommunikation findet dabei gemäss Manifesto, wenn immer möglich Face-to-Face statt, in der modernen Alltagspraxis global kollaborierender Teams wird sie aber typischerweise unter Zuhilfenahme einer breiten Palette von Kommunikationsmedien bewerkstelligt. Als Medien mit synchronem - das heisst unmittelbarem Informationsaustausch - kommen nebst Handy und Telefon moderne Softwaretools zum Einsatz, die es ermöglichen Videokonferenzen und Desktopsessions über das Internet durchzuführen. Zur Gruppe von Medien mit asynchronem - das heisst mit zeitversetztem Informationsaustausch - gehören sowohl E-Mail, wie auch Kommunikationslösungen der Kategorie „Web 2.0“, die u.a. dadurch gekennzeichnet sind, dass sie es Nutzern ermöglichen, eigene Beiträge im Internet persistent zu veröffentlichen. Hierzu zählen Foren und Expertenblogs, in denen Softwareentwickler Fachwissen nicht nur konsumieren, sondern dieses ihrerseits in der Rolle „Content Providing Consumers“, oder anders gesagt als sog. „Prosumer“ (vgl. Kalz & Klamma & Specht, 2008, S. 29ff) der online Community zuVerfügung stellen.
3.1 Besonderheiten der Online-Kommunikation
Claudia Bremer verweist in ihrer Arbeit auf Studien, die belegen, dass im charakteristischen Nicht-Vorhandensein körpersprachlicher Hinweisreize textbasierter Kommunikation, nicht unbedingt ein Nachteil zu sehen ist (Bremer, 2007, S. 5). So veranlasst beispielsweise der erhöhte Kommunikationsaufwand der Schriftform die Kommunikationsteilnehmer im Interesse einer zielführenden und effizienten Verständigung zu einer präziseren und sachbezogeneren Ausdrucksweise als dies bei einem Face-to-Face Informationsaustausch der
Fall wäre. Dieser Umstand kommt der Fachkommunikation im Kontext der Softwareentwicklung zu Gute, da sich Informationsdichte und Effizienz von Verständigung in Bezug auf komplexe Sachzusammenhänge einerseits durch eine sorgfältig durchdachte Formulierung steigern lässt und sich andererseits, im Zuge der Bemühungen um eine schlüssige Problembeschreibung, Lösungsansätze bereits ergeben können. Zudem bleiben gespeicherte Textnachrichten als Referenz sowohl lokal, wie auch auf Mailservern dauerhaft verfügbar. Insbesondere Softwareentwicklern bietet E-Mail die vorteilhafte Möglichkeit, Problemstellungen unter Bezugnahme auf beigefügte Codefragmente, Screenshots und Kopien von Fehlermeldungen oder durch im Anhang der E-Mail verfügbare, lauffähige Funktionsprototypen und durch Links auf gemeinsam zugängliche online Ressourcen, lösungsorientiert zu besprechen. Dabei erweist sich auch die Asynchronizität von E-Mail als hilfreich, da für das Verständnis komplexer Zusammenhänge gewisse Zeitspannen erforderlich sind und vor der Beantwortung von Anfragen oftmals Recherchen durchgeführt werden müssen. Nachteile aus der E-Mail Kommunikation ergeben sich, wenn Problemstellungen durch eine Vielzahl von Kommunikationsinteraktionen mit mehreren Teilnehmern und jeweils nur geringem Informationsgehalt gelöst werden müssen. In solchen Szenarien steigt der Aufwand der Kommunikationskoordination im Verhältnis zur Informationsvermittlung unverhältnismässig an (vgl. Rautenstrauch, 2008, S. 58f). Durch den Einsatz synchroner Medien, wie beispielsweise durch computervermittelte Videokonferenzen, lassen sich derartige Kommunikationsaufgaben effizienter bewältigen, da die zusätzlichen audiovisuellen Informationen und körpersprachlichen Signale, sowohl bei der Kommunikationskoordination wie auch bei der Wahrnehmung von Kopräsenz der Interaktionspartner unterstützend wirken, wodurch die Erarbeitung einer gemeinsamen Verständnisbasis, sowie Identifikation und Eingrenzung des gemeinsamen Problemraumes erleichtert wird (ebd., S. 55ff).
4 Lernprozesse agiler Softwareentwicklungsteams
So zentral und unverzichtbar Kommunikation für die agile Softwareentwicklung auch ist, wäre die Schlussfolgerung, dass ein Bemühen um die perfekte Kommunikation der Weg zu erfolgreichen Softwareprojekten sei, dennoch falsch. Zielführend ist vielmehr die Einsicht, dass es auf Grund der eingangs beschriebenen Komplexität und Variabilität von Softwareentwicklungsprozes- sen, eine lückenlose Information und allumfassende Kommunikation vorab gar nicht geben kann. Der Schlüssel zum Erfolg liegt daher vielmehr in einer grundsätzlichen Lernbereitschaft, die dazu befähigt sich immer wieder neu auf die sich im Projektverlauf unvermeidlich wandelnde Aufgabenstellung und deren Rahmenbedingungen auszurichten und mit unvollkommener Kommunikation - und das heisst mit dem Umstand fehlender Information - umzugehen (vgl. Cockburn, 2000).
Die Begründer des „Agilen Manifests“ gehen daher soweit, Softwareentwicklung per se als Lernprozess aufzufassen (vgl. ebd.). Im Kontext des Prozessmodells „Scrum“ werden Lernprozesse etwa als Reaktion auf das während eines „Sprint-Reviews“ von den Interessensvertretern gegebene Feedback anges- tossen: Drückt ein Auftraggeber Unzufriedenheit in Bezug auf gewisse Eigenschaften einer Softwarekomponente aus, kann dies von der Problemanalyse über die Beschäftigung mit alternativen Architekturmodellen bis zur Aneignung spezifischen Fachwissens - beispielweise zur Nutzung effizienterer Softwaretechnologien - eine ganze Kette weitreichender Lernprozesse nach sich ziehen. Umgekehrt lernen Auftraggeber bei solchen Gelegenheiten auch die Grenzen und die Kosten des Machbaren kennen, was wiederum einen Einfluss auf künftige Formulierungen gewünschter Produktfeatures hat. Bezogen auf den jeweils spezifischen Projektrahmen, lernen Teams ihre Aufwandschätzungen von Iteration zu Iteration, immer wieder neu zu präzisieren. Softwareentwickler lernen voneinander, insbesondere während gemeinsamer „CodeReviews“, die während eines laufenden „Sprints“ jederzeit und von jedem Teammitglied einberufen werden können. Hierbei geht es um die gemeinschaftliche Prüfung und Optimierung von Code mit Blick auf dessen qualitative Eigenschaften, wie Performanz und Lesbarkeit oder dessen Ausrichtung an Guidelines und „Best Practices“. Indem Lösungsansätze problematisiert und das Wissen um den optimalen Ansatz, unter Einbezug multipler Perspektiven gemeinschaftlich erarbeitet wird, findet der Lernprozess in diesem Szenario diskursiv statt (vgl. Rautenstrauch, 2008, S. 7ff). Im Rahmen der „SprintRetrospektive“ geht es darum, die Zusammenarbeit der Teams zu optimieren und sowohl personelle wie organisatorische Hindernisse zu überwinden. In einer Atmosphäre des gegenseitigen Respekts sollen hier Probleme offen und konstruktiv angesprochen werden können, um wiederum auf der Basis der grundlegenden Lembereitschaft auch in sozialen Belangen, Verbesserungen für den nächsten „Sprint“ herbei zu fuhren (vgl. Wolf & Bleek, 2011, S. 12).
5 Lernmethoden im Kontext der agilen Softwareentwicklung 5.1 Bestandsaufnahme
Folgende drei Paradoxien der allgemeinen Berufsbildung (vgl. Geissler & Kutscha, 1992), treffen insbesondere auch auf das Berufsfeld des Softwareengineerings zu:
1. Der Berufsbildungsabschluss entlässt die Absolventen in eine Realität des lebenslangen Lernens und der Weiterbildung. Das Ende des formalen Bildungsprogramms ist der Beginn eines neuen, eigenverantwortlichen Lernprozesses der von den Anforderungen des Marktes gesteuert und angetrieben wird.
2. Die „Halbwertzeit“ von Lerninhalten und damit die Zeitspannen zwischen Qualifikation und Entwertung von Qualfiktion bezogen auf deren berufliche Verwertbarkeit verkürzen sich zunehmend. Daraus lässt sich implizit ableiten, dass Lernen zu einem Teil auch als ein Verlernen überholter Inhalte aufgefasst werden muss.
3. Weiterbildung im Beruf in Form von formalen Kursen und Trainings stellen unproduktive Pausen im Arbeitsprozess dar, die mit Blick auf die beschleunigte Entwertung von Wissen, tendenziell immer weniger gern in Kauf genommen werden. Folge dieser Entwicklung, ist eine Berufspraxis in der immer kürzer werdende, selbst organisierte Lernphasen mit Phasen beruflicher Produktivität und Freizeit verschmelzen. Geissler & Kutscha nehmen diese Entwicklungen zum Anlass, die Möglichkeiten einer „Kurzzeitpädagogik“ zu untersuchen (ebd., S. 23).
Nach Thomas Eibl besteht im Zuge der „digitalen Revolution“ für viele Nutzer von Informationstechnologie verschiedenster Berufsgruppen die Notwendigkeit sich periodisch - meist mit dem Erscheinen neuer Versionen ihrer Softwaretools - in deren neue Programmfeatures einzuarbeiten und an entsprechenden Schulungen und Trainings teilzunehmen (vgl. Eibl, 2007, S. 126). Diese Notwendigkeit besteht auch für die Produzenten von Software selbst.
[...]
- Citation du texte
- Marcus Schilling (Auteur), 2013, Kommunikation, Online- und Micro-Learning am Beispiel der Agilen Softwareentwicklung, Munich, GRIN Verlag, https://www.grin.com/document/264169
Devenir un auteur
Commentaires