%!TeX encoding=utf8
\documentclass[11pt, titlepage]{article}
\usepackage{graphicx}
\graphicspath{{images/}}
\usepackage{blindtext}
\usepackage{amsmath}
\usepackage{import}
\usepackage{array}
\usepackage{pdfpages}
\usepackage{float}
\usepackage{appendix}
\usepackage{setspace}

%---Language and umlauts
\usepackage[utf8]{inputenc}       % UTF-8 Kodierung - ä, ö, ü, ß direkt eingeben
\renewcommand\familydefault{\sfdefault}
\usepackage[ngerman]{babel}                      % Neue deutsche Rechtschreibung
\usepackage[expansion=true, protrusion=true]{microtype} % Bessere Silbentrennung
%\usepackage[scaled]{helvet}

% Papierformat: DIN-A4, mit wenig Rand
\usepackage[
	a4paper,
	left=20mm,
	right=20mm,
	top=20mm,
	bottom=20mm,
	includefoot,
	footskip=8mm
	]{geometry}

% Literaturverzeichnis	
\usepackage[style=apa,sorting=ynt,backend=biber]{biblatex}

% Zeilenabstand
\setstretch{1.5}
%\usepackage[onehalfspacing]{setspace}

% Definition der Kopf- und Fußzeile
\usepackage[headsepline,automark]{scrlayer-scrpage}
\clearpairofpagestyles
\setlength{\headheight}{2\baselineskip}
\setlength{\footheight}{1\baselineskip}
\ihead[]{}
\chead[]{\author}
\ohead[]{Datum: \today}
\cfoot[]{\pagemark}

\usepackage{titlesec}
\usepackage{csquotes}
\usepackage{fancyhdr}

\usepackage{subfiles}

%titlepage information
\title{Workbook}
\author{Patryk Hegenberg, 102209025, Hannover}
\date{\today}
\addbibresource{Literatur.bib}

\begin{document}
\pagestyle{fancy}
\fancyhead[C]{Praxisprojekt 1}
\fancyhead[L]{Patryk Hegenberg}
\fancyhead[R]{102209025}
\fancyfoot[C]{\pagemark}
\begin{titlepage}
    \centering
    \includegraphics[width=0.5\textwidth]{images/cropped-iu_Logo_D_black_RGB_horizontal.png}\par\vspace{1cm}
    {\Large Praxisprojekt\par}
    \vspace{1.5cm}
    {\LARGE IU Internationale Hochschule\\Studiengang: Informatik \par}
    \vspace{1cm}
    {\huge\bfseries Teamarbeit in der Informatik\par}
    \vspace{2cm}
    {\Large Patryk Hegenberg\\ Matrikelnummer: 102209025\\Dedendorf 8,\\27333 Bücken\par}
    \vspace{2cm}
    {\Large Betreuende Person: Jan Schiele}
    %\vfill

    % Bottom of the page
    {\large Abgabedatum: 31.03.2023\par}
\end{titlepage}
%\maketitle
%\pagestyle{empty}
\pagenumbering{Roman}
\tableofcontents
\newpage
\setcounter{page}{1}
\pagenumbering{arabic}
\pagestyle{fancy}
\section{Einleitung}
    Die Digitalisierung hat in den letzten Jahren zu einer zunehmenden Verwendung von Informationstechnologie in allen Bereichen des täglichen Lebens geführt (\cite{zumsteg_konfliktmanagement_2019}, S. 1). In der Wirtschaft sind IT-Systeme nicht mehr wegzudenken und spielen eine zentrale Rolle in der Automatisierung von Geschäftsprozessen, der Optimierung von Arbeitsabläufen und der Erhöhung der Effizienz (\cite{kuhn_digitalisierung_2023}). Die Informatik ist somit zu einer wichtigen Disziplin geworden, die Unternehmen dabei unterstützt, ihre Ziele zu erreichen und wettbewerbsfähig zu bleiben. In diesem Kontext ist es von großer Bedeutung, dass die Arbeit der Informatiker:Innen effektiv und effizient organisiert ist, um optimale Ergebnisse zu erzielen.
    Besonders wichtig ist hierbei eine erfolgreiche Zusammenarbeit der Informatiker:Innen im Team. Da ihre Aufgaben an Komplexität zunehmen und daher vermehrt gruppenbasiert bearbeitet werden, um durch die Diversität der Expertisen und das Zusammentragen des Wissens bessere und innovativere Ergebnisse zu erzielen (\cite{EdmondsonAmyC2012T:ho}). Durch eine gute Teamarbeit können Synergien genutzt werden, um gemeinsam eine höhere Qualität der Arbeit zu erreichen. Zudem können die Stärken jedes einzelnen Teammitglieds optimal genutzt werden, um die Aufgaben bestmöglich zu erfüllen (\cite{kauffeld2016}, S. 43).
    \subsection{Ziel dieser Arbeit}
        In dieser Arbeit wird unter anderem eine konkrete Aufgabe aus dem Bereich der Informatik betrachtet, die sinnvollerweise im Team erledigt wird. Die Wahl der Aufgabe erfolgt aufgrund ihrer Komplexität und ihres Umfangs, die eine Zusammenarbeit im Team erfordern. Hierzu soll die technische Organisation des Teams beschrieben und erläutert werden, warum diese Organisationsform sinnvoll ist.
        Dazu wird in dieser Arbeit auf die Ausführungen von Whitehead eingegangen. Dieser stellt in seinem Artikel die These auf, dass die Zusammenarbeit im Team entscheidend für den Erfolg der Arbeit von Informatiker:Innen sei. Die Relevanz dieser Ausführungen soll anhand eines selbstgewählten Fallbeispiels gezeigt werden. Es wird untersucht, inwiefern die Erkenntnisse aus dem Artikel von Whitehead nützlich für das Team des Praxisbetriebs sein können.
        Ein weiterer wichtiger Aspekt dieser Arbeit ist die Betrachtung der Werte des Teams des Praxisbetriebs. Dazu soll beschrieben werden, welche Werte im Team vorherrschen und warum diese Werte wichtig sind. Zudem wird untersucht, inwiefern diese Werte zur erfolgreichen Erfüllung der Aufgabe beitragen können. Hierbei wird aufgezeigt, wie die Aufgabe durch das Leben bestimmter Werte besser erfüllt werden kann oder wie die Qualität des Ergebnisses durch das Leben dieser Werte gesteigert wird.
        Des Weiteren wird in dieser Arbeit der ACM Code of Ethics and Professional Conduct betrachtet. Hierbei werden die zuvor herausgearbeiteten Werte des Teams mit den Grundsätzen des Codes of Ethics verglichen. Hierdurch soll ermittelt werden, inwiefern das Team des Praxisbetriebs den Anforderungen des Codes entspricht und welche Möglichkeiten zur Verbesserung bestehen.
        Ein weiterer Schwerpunkt dieser Arbeit liegt auf der Förderung der Teamarbeit. Hier soll beschrieben werden, warum eine gute Teamarbeit von großer Bedeutung ist und welche Maßnahmen zur Förderung der Teamarbeit ergriffen werden können. Es werden zwei Vorschläge zur Förderung der Teamarbeit diskutiert und erörtert, welche Auswirkungen diese Maßnahmen auf die Arbeit des Teams haben können.
        Abschließend werden die Ergebnisse dieser Arbeit zusammengefasst und ein Ausblick auf mögliche zukünftige Entwicklungen gegeben. 
    \subsection{Beschreibung des Praxisbetriebs}
        Die TIXEL GmbH ist ein innovatives Unternehmen mit Sitz in Hannover, das sich auf die Entwicklung von Softwarelösungen für den Hochleistungsdatentransport spezialisiert hat. Mit seinen einzigartigen und leichten Lösungen ermöglicht TIXEL seinen Kunden/Kundinnen, das Beste aus jeder Netzwerkverbindung herauszuholen. Das Unternehmen vertreibt seine Produkte weltweit über ein internationales Partnernetzwerk (\cite{aust_tixel_nodate}).
        
        Aktuell beschäftigt TIXEL 10 Mitarbeiter:Innen, die sich auf die Bereiche kaufmännisches und technisches Personal verteilen. Die Softwareentwicklung erfolgt in Hannover und wird von 9 Entwickler:innen durchgeführt, die in verschiedene Subteams aufgeteilt sind. Der CTO Andreas Aust und der CEO Ralf Einhorn kümmern sich gemeinsam um die technische Leitung und die Produktentwicklung, sowie die Geschäftsführung und die strategische Ausrichtung des Unternehmens.
        Die Entwicklung erfolgt agil in Anlehnung an Scrum, wodurch das Unternehmen in der Lage ist  schnell und flexibel auf Veränderungen im Markt und Kundenbedürfnisse zu reagieren und hochwertige Produkte zu entwickeln.

\section{Sinnvoll im Team zu erledigende Aufgabe der Informatik} \label{sec-selbsgewahlte-aufgabe}
    Viele Aufgaben der Informatik erfordern aufgrund ihrer Komplexität eine Zusammenarbeit in Teams, um optimal gelöst zu werden. In diesem Abschnitt wird eine solche Aufgabe exemplarisch beschrieben und erläutert, warum diese sinnvollerweise im Team erledigt wird.
    \subsection{Beschreibung der gewählten Aufgabe}
        Die gewählte Aufgabe besteht darin, ein neues Feature in eine existierende Software zu integrieren. Dies erfordert sorgfältige Planung und Umsetzung, um sicherzustellen, dass das neue Feature reibungslos in die bestehende Architektur integriert wird und keine unerwünschten Auswirkungen auf die Funktionalität der Software hat.
        Zunächst wird das neue Feature als neue Aufgabe innerhalb eines Ticketsystems angelegt, um sicherzustellen, dass der Fortschritt der Entwicklung schrittweise erfasst und dokumentiert werden kann. Dieses Ticket dient auch dazu, Erkenntnisse während des Entwicklungsprozesses festzuhalten und sicherzustellen, dass das neue Feature den Erwartungen des ProductOwners und der Benutzer:innen entspricht.
        Nachdem das Ticket erstellt wurde, wird es mit dem ProductOwner besprochen, um dessen Vorstellungen der Umsetzung und späteren Nutzung zu verstehen. Anschließend erstellen die Entwickler:innen ein erstes Konzept zur Implementierung, welches mit erfahrenen Entwickler:innen besprochen wird, um sicherzustellen, dass die geplante Umsetzung technisch machbar und sinnvoll ist.
        Um die Umsetzung des neuen Features zu entwickeln, wird innerhalb des Versionierungssystems ein eigener Zweig erstellt, auf dem die Umsetzung erarbeitet werden kann. Während der Programmierung besteht ein enger Austausch zwischen den Entwickler:innen und dem ProductOwner per Instant Messenger, E-Mail und/oder Videokonferenzen, um aufkommende Fragen schnellstmöglich zu klären und sicherzustellen, dass das neue Feature den Anforderungen entspricht.
        Nach Abschluss der eigentlichen Programmiertätigkeit wird die Umsetzung zunächst durch die Entwickler:innen mithilfe der zur Verfügung gestellten Testumgebung auf ihre Funktionalität geprüft. Sollte die Prüfung erfolgreich sein, wird eine Codereview Anfrage an erfahrene Entwickler:innen gestellt. Diese nutzen das Versionierungssystem, um den Quelltext auf Fehler zu prüfen und Anregungen zur Verbesserung zu geben. Nach Abschluss der Review wird der neue Zweig mit dem Ursprungszweig verschmolzen.
        Abschließend wird die Dokumentation des neuen Features erarbeitet und die gesamte Lösung mit dem ProductOwner besprochen, um sicherzustellen, dass das neue Feature den Anforderungen entspricht und reibungslos in die bestehende Software integriert werden kann. Durch die sorgfältige Planung und Umsetzung wird sichergestellt, dass das neue Feature einen Mehrwert für die Benutzer:innen bietet und die Funktionalität der Software verbessert.
    \subsection{Erklärung, warum die Aufgabe sinnvollerweise im Team erledigt wird}
        Es ist sinnvoll, die zuvor beschriebene Aufgabe im Team zu erledigen, da durch die Zusammenarbeit im Team Aufgaben effizienter erledigt werden können. Jedes Teammitglied kann seinen oder ihren Beitrag leisten und die Arbeit wird aufgeteilt, sodass die Gesamtarbeit schneller erledigt werden kann.
        Weiterhin können Fehler vermieden werden, da jedes Teammitglied den Code der anderen Teammitglieder prüfen und auf mögliche Fehler hinweisen kann. Dadurch wird die Qualität des Codes verbessert und potenzielle Fehler können frühzeitig erkannt und behoben werden (\cite{holz_code-reviews_2022}).
        Durch die Zusammenarbeit können auch kreative Lösungsansätze entwickelt werden. Unterschiedliche Perspektiven, Erfahrungen und Wissensstände führen zu neuen Ideen und Lösungen, die allein nicht möglich wären (\cite{EdmondsonAmyC2012T:ho}). Durch den damit verbundenen Austausch können Teammitglieder voneinander lernen und sich gegenseitig unterstützen, was zu einer persönlichen und fachlichen Weiterentwicklung führen kann.
        Diese gegenseitige Unterstützung kann die Motivation im Team steigern, wodurch ein besseres Ergebnis erreicht werden kann. 
        Aufgrund der hohen Komplexität und der unterschiedlichen Teilbereiche und Phasen der Umsetzung kann im Team die Verantwortlichkeit besser verteilt werden. Jedes Teammitglied ist für einen bestimmten Bereich verantwortlich und muss sicherstellen, dass die entsprechenden  Anforderungen erfüllt werden. Dadurch wird sichergestellt, dass alle Aspekte der Aufgabe angemessen berücksichtigt werden.
        Insgesamt spricht somit viel dafür, die Integration eines neuen Features in eine existierende Software im Team zu erledigen. Die Zusammenarbeit kann zu einem besseren Ergebnis führen und sowohl persönlich als auch fachlich bereichernd sein.

\section{Technische Organisation des Teams zur Erfüllung der Aufgabe}
    Eine erfolgreiche Zusammenarbeit in einem Team erfordert nicht nur eine klare Definition von Zielen und Aufgabenverteilung (\cite{noauthor_teamarbeit_nodate}), sondern auch eine strukturierte technische Organisation. Die technische Organisation umfasst alle Prozesse und Tools, die zur Verwaltung von Code, Dokumentation, Kommunikation und Zusammenarbeit innerhalb des Teams notwendig sind. In diesem Abschnitt werden wir uns genauer mit der technischen Organisation des Teams auseinandersetzen.
    
    Da alle Mitarbeiter:Innen meines Praxispartners im Homeoffice arbeiten, ist die technische Organisation ein wichtiger Faktor, um die Aufgabe erfolgreich zu erfüllen. Zu diesem Zweck werden verschiedene Tools verwendet. 
    Das Team arbeitet in Anlehnung an Scrum. Dies ist eine agile Methode, die auf iterative Entwicklung setzt und eine enge Zusammenarbeit im Team fördert. Das Team organisiert sich, innerhalb der vorgegebenen Rahmenbedingungen, selbst und arbeitet in Sprints von zwei Wochen Dauer. In den täglichen Stand-Up-Meetings werden der aktuelle Fortschritt und eventuelle Hindernisse besprochen (\cite{schwaber_scrum_2018}).
        
    Zur Kommunikation werden Tools wie Jabber, Skype und E-Mails genutzt. Jabber ist ein Instant Messenger, welcher zur schnellen Absprache, für Rückfragen und für eine schnelle Übersicht der aktuellen Anwesenheit genutzt wird. Skype wird für Videokonferenz genutzt, darunter fallen die täglichen Stand-Up-Meetings, das Sprint-Planning, in welchem die Aufgaben für den nächsten Sprint und die letzten Sprints besprochen werden (\cite{schwaber_scrum_2018}), ebenso wie kurze Besprechungen, um beispielsweise den aktuellen Entwicklungsstand mit dem ProductOwner zu besprechen, oder ein Pair-Programming mit einem anderen Entwickler:innen durchzuführen. E-Mails werden für die Kommunikation mit Kunden/Kundinnen und für offizielle Angelegenheiten, wie Krankmeldungen und Urlaubsanträge, verwendet.
    Zur Verwaltung und Planung von Aufgaben wird ein Ticketsystem auf Basis von Redmine verwendet. Dort wird auch der Fortschritt einer Aufgabe festgehalten. Im integrierten Wiki werden Erkenntnisse und Recherchen während der Umsetzung einer Aufgabe dokumentiert, damit diese auch nach erfolgreichem Abschluss einer Aufgabe allen Teammitgliedern zur Verfügung stehen.
    Die Code-Verwaltung erfolgt mittels eines Git-Systems. Auf diesem gibt es zu jedem Produkt und dessen Hauptbestandteilen jeweils ein eigenes Repository, in welchem dieses versioniert und verwaltet wird. Innerhalb dieser Repositorys gibt es jeweils einen Master-Branch, auf welchem sich die aktuell veröffentlichte Version befindet und einen Development Branch, welcher zur Entwicklung der nächsten Version verwendet wird. Für die Umsetzung einer Aufgabe, wie der in Abschnitt \ref{sec-selbsgewahlte-aufgabe} beschriebenen, wird im jeweiligen Repository ein eigener Branch für diese Aufgabe angelegt. Diesen können Entwickler:innen zur Umsetzung der Aufgabe nutzen. Nach abgeschlossener Erarbeitung einer Lösung für die Aufgabe wird vor dem Mergen eine Codereview-Anfrage an andere Entwickler:innen des Teams gestellt. Diese können die Review mittels der Plattform GitLab durchführen und den Quellcode auf Fehler überprüfen und Verbesserungsvorschläge geben. Dazu kann die dort integrierte Kommentarfunktion genutzt werden.
    Nach erfolgtem Review wird der Branch der Entwickler:innen in den Development Branch gemerged und das Ticket im Ticketsystem geschlossen.
    Zur Programmierung können Entwickler:innen selbst entscheiden, welche IDE verwendet wird. So kommen verschiedene IDEs wie CLion, Visual Studio Code oder IntelliJ IDEA zum Einsatz.
    Für jede Programmiersprache wurde sich auf Richtlinien geeinigt, wodurch möglichst einheitlicher Code geschrieben wird.

    Zusammenfassend lässt sich sagen, dass die technische Organisation des Teams auf einer Kombination aus agiler Methodik, verschiedenen Kommunikations-Tools, einem Ticketsystem und gemeinsamen Code-Repositorien basiert. Dies ermöglicht es, zusammenzuarbeiten und die Aufgabe effektiv umzusetzen.

\section{Relevanz von Whiteheads Ausführungen für das Team des Praxisbetriebs}
    In seinem Artikel ''Collaboration in Software Engineering: A Roadmap'' beschreibt Jason Whitehead die Bedeutung der Zusammenarbeit in der Softwareentwicklung und gibt Empfehlungen, wie Teams ihre Zusammenarbeit verbessern können. Im Folgenden wird anhand eines Fallbeispiels gezeigt, wie die Ausführungen von Whitehead dem Praxispartner nützlich sein können.
    \subsection{Beschreibung des selbstgewählten Fallbeispiels}
        Das selbstgewählte Fallbeispiel orientiert sich an der in Abschnitt \ref{sec-selbsgewahlte-aufgabe} beschrieben Aufgabe. Dort wurde die Entwicklung eines neuen Features für eine bestehende Software als eine im Team zu erledigende Aufgabe genannt.
        Als konkretes Fallbeispiel ausgelegt, fordern Kunden/Kundinnen hier die Möglichkeit der Nutzung der bestehenden Software auf mobilen Plattformen. Dies hat zur Folge, dass die bestehende Infrastruktur der Software und die zugrundeliegende Technologie an die neuen Anforderungen angepasst werden muss.
    \subsection{Erklärung der Nützlichkeit für das Team des Praxisbetriebs}
        In diesem Fallbeispiel können einige der Ausführungen Whiteheads aufgegriffen und umgesetzt werden, wobei zu beachten ist, dass viele seiner Vorschläge durch den Praxispartner bereits umgesetzt werden und der daraus resultierende Nutzen erkennbar ist. 
        
        Whitehead führt aus, dass es sinnvoll ist, Anforderungen und Fähigkeiten kollaborativ zu erarbeiten (\cite{whitehead_collaboration_2007}). Dies wird beim Praxispartner umgesetzt, indem diese gemeinsam mit Kunden/Kundinnen, der Projektleitung und erfahrenen Entwickler:innen besprochen und herausgearbeitet werden. Daraus wird eine Roadmap erarbeitet, welche allen Teammitgliedern und den Kunden/Kundinnen zur Orientierung dient. Aus dieser Roadmap werden weitere Arbeitspakete abgeleitet. 
        Bezogen auf das Fallbeispiel bedeutet dies, dass die Projektleitung gemeinsam mit dem Kunden/Kundinnen die Anforderungen und Fähigkeiten der mobilen Anwendung bespricht, festlegt für welche mobilen Plattformen die Software zur Verfügung gestellt werden soll und in welchem Zeitraum dies umgesetzt werden soll. Die erfahrenen Entwickler:innen stehen dabei beratend zur Seite und geben Hinweise, welche Anforderungen in welchem Rahmen umsetzbar sind und wo die Grenzen der Möglichkeiten liegen.
        Weiterhin führt Whitehead auf, dass es wichtig sei, eine Plattform zum Festhalten des aktuellen Stands des Projekts zu nutzen (\cite{whitehead_collaboration_2007}). Da es dieses allen Beteiligten ermöglicht, eine aktuelle Übersicht zu besitzen. Zu diesem Zweck nutzt der Praxispartner ein Ticketsystem mit einem integrierten Wiki. Dort werden die zuvor erarbeiteten Arbeitspakete weiter atomisiert und festgehalten. Dies wird genutzt, um den einzelnen Entwickler:innen Aufgaben zuzuordnen und gleichzeitig den Fortschritt festzuhalten. Im integrierten Wiki werden Erkenntnisse während der Entwicklung gesammelt und stehen somit allen Entwicklern:innen, auch in Zukunft, zur Verfügung.
        Im Rahmen des Fallbeispiels können so die Aufgaben für die Entwickler:innen im Backend und Frontend aufgeteilt und zugewiesen werden. Alle Informationen werden zentral gespeichert und stehen bei Rückfragen durch Kunden/Kundinnen schnell zur Verfügung.
        Der laut Whitehead zentralen Bedeutung der Kommunikation (\cite{whitehead_collaboration_2007}), wird Sorge getragen, indem in täglichen Stand-Up-Meetings die aktuellen Entwicklungen kommuniziert werden. Bei Problemen können dort Teammitglieder um Hilfe und Anregungen gebeten werden.
        Auch mit Kunden/Kundinnen werden regelmäßige Meetings vereinbart, um diesem den aktuellen Entwicklungsstand zu präsentieren und Feedback für die Umsetzung einzuholen.
        Das von Whitehead angesprochene zentrale Software-Configuration-Management-System (SCM-System) wird in Form eines GIT-Systems, auf Basis von GitLab, umgesetzt. Dieses ermöglicht es Entwickler:innen einen aktuellen Softwarestand auszuchecken, diesen unabhängig auf dem eigenen Workspace, unter Verwendung einer integrierten Entwicklungsumgebung (IDE) zu bearbeiten und nach Abschluss wieder einzuchecken.
        Bevor diese Änderungen in den eigentlichen Entwicklungsstand einfließen, werden sie durch andere Teammitglieder begutachtet und auf Fehler überprüft. Dadurch bekommen alle Entwickler:innen Feedback zu seiner/ihrer Arbeit und zusätzlichen Input, welcher für die persönliche Entwicklung genutzt werden kann. Dies hat das Ziel, die Qualität des geschriebenen Codes hochzuhalten und Inspirationen durch andere Entwickler:innen mit in den Quelltext einfließen zu lassen.
        %Auch Konflikte im Rahmen der unterschiedlichen Entwicklungsstände können in diesem Rahmen behoben werden.
        Weiterhin ermöglicht das zentrale SCM-System, dass neue Entwickler:innen sich in die Entstehungsgeschichte des Quelltexts einarbeiten können und hilft ihnen zu verstehen, wie dieser entstanden ist.
        Nach Abschluss der Entwicklungs-, Review- und Testtätigkeiten wird Kunden/Kundinnen eine Betaversion zu Testzwecken zur Verfügung gestellt. Im Rahmen dieser Tests entdeckte Fehler werden im Ticketsystem festgehalten und dokumentiert, um sie im weiteren Entwicklungsverlauf beheben zu können.
        
        Wie die vorangegangenen Erläuterungen zeigen, haben die Ausführungen und Vorschläge Whiteheads einen beachtlichen Nutzen für meinen Praxispartner und wurden daher bereits genutzt und werden weiter ausgebaut.
\section{Werte des Teams des Praxisbetriebs}\label{sec-werte-team}
    Im Praxisbetrieb spielt das Team eine zentrale Rolle für die erfolgreiche Umsetzung der gestellten Aufgaben. Ein wichtiger Faktor für die Zusammenarbeit innerhalb des Teams sind die gemeinsamen Werte, die das Verhalten und die Einstellungen der einzelnen Teammitglieder prägen. In diesem Abschnitt werden daher die Werte des Teams des Praxisbetriebs beschrieben und ihr Beitrag zur erfolgreichen Erfüllung der Aufgabe erläutert. Dabei werden insbesondere diejenigen Werte hervorgehoben, die für die Zusammenarbeit und das Erreichen der Ziele besonders wichtig sind.
    \subsection{Beschreibung der Werte des Teams}
        Das Team meines Praxispartners hat sich auf bestimmte Werte geeinigt, die für die Zusammenarbeit und die Erfüllung der Aufgaben von großer Bedeutung sind. 
        Einer der wichtigsten Werte des Unternehmens ist Respekt. Hierbei geht es darum, dass jedes Teammitglied den anderen gegenüber höflich und freundlich auftritt. Alle sollen sich respektiert fühlen, unabhängig von der Position im Unternehmen oder der Funktion im Team. Durch Respekt wird eine wertschätzende Arbeitsatmosphäre geschaffen, in der alle gerne arbeiten.
        Der gegenseitige Respekt ermöglicht es, Offenheit als weiteren Wert zu leben. Dadurch kann jedes Teammitglied Meinungen äußern, ohne dass es dabei zu Vorwürfen oder Angriffen kommt. Alle Teammitglieder sollen sich frei äußern und Ideen einbringen können, um gemeinsam Lösungen zu erarbeiten. Offenheit führt dazu, dass die Kommunikation innerhalb des Teams verbessert wird und jedes Mitglied sich gehört und verstanden fühlt.
        Darauf baut die Ehrlichkeit auf. Alle Teammitglieder gehen offen und transparent miteinander um. Fehler und Probleme sollen angesprochen und gemeinsam gelöst werden, ohne dass es dabei zu Vorwürfen oder Schuldzuweisungen kommt. Ehrlichkeit führt dazu, dass das Vertrauen innerhalb des Teams gestärkt wird und eine offene und konstruktive Zusammenarbeit ermöglicht wird. Dadurch können sich alle darauf verlassen, dass die anderen Teammitglieder ihre Aufgaben gewissenhaft erfüllen und sich an Absprachen halten. Vertrauen bildet die Basis für eine erfolgreiche Zusammenarbeit und fördert ein gutes Arbeitsklima.
        
        Engagement ist ein weiterer Wert, auf den das Team großen Wert legt. Jedes Teammitglied soll sich mit voller Kraft und Energie in die Arbeit einbringen, um die gestellten Aufgaben erfolgreich zu bewältigen. Engagement bedeutet, dass jedes Teammitglied Verantwortung für seine/ihre Aufgaben übernimmt und diese mit Begeisterung und Motivation angeht. Dadurch übernimmt jeder/jede Einzelne für seine/ihre Aufgaben und Entscheidungen Verantwortung und setzt sich für deren Umsetzung ein.
        Als letzter Wert ist die Innovationsfreude zu nennen. Das Team meines Praxispartners legt großen Wert darauf, dass alle offen für Neues sind und sich für innovative Lösungen begeistern können. Durch die Innovationsfreude soll die Kreativität und das Potenzial des Teams voll ausgeschöpft werden, um gemeinsam neue Wege zu gehen und Herausforderungen erfolgreich zu meistern.
        Insgesamt zeichnet sich das Team meines Praxispartners durch Offenheit, Vertrauen, Respekt, Engagement, Ehrlichkeit, Verantwortungsbewusstsein und Innovationsfreude aus. Diese Werte bilden die Basis für eine erfolgreiche Zusammenarbeit.
    \subsection{Beitrag der Werte des Teams zur Erfüllung der Aufgabe}
        Die Werte des Praxispartners haben nicht nur eine wichtige Bedeutung für das Team selbst, sondern tragen auch maßgeblich zur Erfüllung der Aufgabe bei. Im Folgenden soll erläutert werden, welchen Beitrag die einzelnen Werte des Teams zur erfolgreichen Umsetzung dieser haben.
        Die Offenheit des Teams ermöglicht es, Probleme und Schwierigkeiten offen anzusprechen und gemeinsam nach Lösungen zu suchen. Dadurch wird die Effektivität des Teams gesteigert und eine positive Arbeitsatmosphäre geschaffen. Durch den offenen Austausch von Informationen wird zudem die Transparenz der Arbeit erhöht, was insbesondere in der Softwareentwicklung von großer Bedeutung ist.
        Das Vertrauen unter den Teammitgliedern fördert die Zusammenarbeit und steigert die Motivation aller Beteiligten. Wenn jedes Teammitglied weiß, dass sich auf die anderen verlassen werden kann, führt dies zu einer höheren Produktivität und einer schnelleren Lösung der Aufgabe. Darüber hinaus ermöglicht Vertrauen auch eine bessere Delegation von Verantwortung, da alle im Team wissen, dass bei Problemen auf die Unterstützung der anderen gezählt werden kann, was dazu führt, dass häufiger Feedback eingefordert wird, um persönlich und fachlich wachsen zu können.
        Respekt gegenüber den anderen Teammitgliedern und deren Arbeit trägt zur erfolgreichen Umsetzung bei. Da alle im Team das Gefühl haben, dass ihre Arbeit wertgeschätzt wird, führt dies zu einer höheren Arbeitsmoral und einem stärkeren Zusammenhalt im Team. Darüber hinaus ist es wichtig, dass alle die Meinungen und Ideen der anderen respektieren und offen für Feedback sind.
        Dadurch engagiert sich jedes Teammitglied voll und ganz für die gemeinsame Sache, was zu einer höheren Motivation und einer schnelleren Erreichung der Ziele führt. Alle Teammitglieder sollten daher Verantwortung wahrnehmen und sich aktiv in den Entwicklungsprozess einbringen.
        Durch eine offene und ehrliche Kommunikation werden Missverständnisse vermieden und es entsteht eine Vertrauensbasis im Team. Ehrlichkeit trägt auch dazu bei, dass Probleme rechtzeitig erkannt und gelöst werden können, bevor sie zu größeren Problemen werden.
        Durch das Verantwortungsbewusstsein ist sich jedes Teammitglied seiner Aufgaben und Verantwortlichkeiten bewusst und erfüllt diese gewissenhaft. Durch ein hohes Verantwortungsbewusstsein wird sichergestellt, dass alle Aufgaben fristgerecht und in hoher Qualität erledigt werden.
        Innovationsfreude ist ebenfalls ein wichtiger Wert, der zur erfolgreichen Umsetzung der Aufgabe beiträgt. Da die Softwareentwicklung ein sich ständig veränderndes Umfeld ist, in dem es wichtig ist, stets neue Ideen und Ansätze zu entwickeln, kann das Team durch Innovationsfreude und eine offene und kreative Arbeitsweise neue Lösungen entwickeln und innovative Ansätze verfolgen, die zur erfolgreichen Erfüllung der Aufgabe führen.
        Zusammenfassend lässt sich sagen, dass die Werte des Teams meines Praxisbetriebs maßgeblich dazu beitragen, dass das Unternehmen erfolgreich ist, seine Ziele erreicht und die gestellten Aufgaben meistert. Eine offene, transparente und respektvolle Kommunikation, Engagement, Verantwortungsbewusstsein und Innovationsfreude sind unverzichtbar für eine effektive Zusammenarbeit und eine erfolgreiche Erfüllung der Aufgaben.
    \section{Vergleich der Werte des Teams mit dem ACM Code of Ethics and Professional Conduct}
        Im nun folgenden Abschnitt werden die in Abschnitt \ref{sec-werte-team} beschriebenen Werte des Teams meines Praxispartners mit dem ACM Code of Ethics verglichen. Dazu wird zunächst ein kurzer Überblick über den Code of Ethics gegeben, bevor anschließend die Werte miteinander verglichen werden.
        \subsection{Beschreibung des ACM Code of Ethics and Professional Conduct}
        Der ''ACM Code of Ethics and Professional Conduct'' ist ein Verhaltenskodex für Fachleute der Informatik und IT. Er wurde von der Association for Computing Machinery (ACM) erstellt und enthält ethische Prinzipien und Verhaltensrichtlinien, die für alle Mitglieder der ACM und für alle Fachleute in der Informatik und IT gelten sollten.
        
        Die ACM gliedert ihren Kodex in mehrere Teilbereiche. Im ersten Teilbereich werden fundamentale, ethische Richtlinien genannt, an welche sich alle Fachleute der Informatik halten sollten. So werden IT-Fachleute angehalten, einen Beitrag zur Gesellschaft und zum menschlichen Wohlergehen zu leisten und dabei anerkennen, dass alle Menschen an der Informatik beteiligt sind. Weiterhin sollen sie Schaden vermeiden, wobei Schaden alle negativen Folgen von Handlungen einbezieht. Von IT-Fachleuten wird Ehrlichkeit, Vertrauenswürdigkeit und Fairness gefordert, weiterhin soll Diskriminierung ausgeschlossen werden. Die erforderliche Arbeit, um neue Ideen, Erfindungen, kreative Werke und Computer-Artefakte zu produzieren, soll respektiert werden.
        Die Privatsphäre und Vertraulichkeit soll respektieren und gewahrt.
        
        Im zweiten Abschnitt werden weitere, spezifische Richtlinie genannt, welche sich auf den beruflichen Kontext beziehen. So sollen IT-Fachleute im beruflichen Kontext nach hoher Qualität bei Prozessen und Produkten der beruflichen Arbeit streben. Die Einhaltung hoher Standards in Bezug auf berufliche Kompetenz, Verhalten und ethische Praxis wird von ihnen gefordert. Weiterhin kennen und respektieren sie bestehende Regeln für die berufliche Tätigkeit. Sie akzeptieren und bieten angemessene fachliche Überprüfung. Sie bewerten Computersysteme umfassend und gründlich auf deren Auswirkung und beziehen dabei Analysen möglicher Risiken mit ein. Sie führen nur Arbeiten in den Bereichen aus, für die sie zuständig sind und fördern das Bewusstsein und das Verständnis der Öffentlichkeit für die Datenverarbeitung, verwandte Technologien und deren Folgen. Auf Computer- und Kommunikationsressourcen greifen sie nur dann zu, wenn sie autorisiert sind oder wenn das öffentliche Interesse es erfordert. Sie entwerfen und implementieren robuste Systeme, die sicher nutzbar sind.
        
        Im dritten Abschnitt werden Richtlinien für die Führung im beruflichen Kontext und in der Freiwilligenarbeit genannt. In diesem Rahmen stellen Führungskräfte sicher, dass das Gemeinwohl bei allen professionellen Computerarbeiten im Mittelpunkt steht. Sie fördern die Akzeptanz und bewerten die Erfüllung der sozialen Verantwortung durch die Mitglieder der Organisation oder Gruppe. Sie verwalten Personal und Ressourcen zur Verbesserung der Qualität des Arbeitslebens. Sie unterstützen bei der Anwendung von Richtlinien und Verfahren, die die Grundsätze des Kodex widerspiegeln.
        Sie schaffen Möglichkeiten für die Mitglieder der Organisation oder Gruppe, sich beruflich weiterzuentwickeln. Sie gehen bei der Änderung oder Abschaffung von Systemen vorsichtig vor.
        Sie erkennen Systeme, die in die Infrastruktur der Gesellschaft integriert werden und widmen ihnen besondere Aufmerksamkeit.
        
        Der letzte Abschnitt besagt, dass Informatiker:innen die Prinzipien des Kodex aufrechterhalten, fördern und respektieren sollen und Verstöße gegen den Kodex als unvereinbar mit der Mitgliedschaft in der ACM behandeln soll.
        (\cite{association_for_computing_machinery_code_2018}).
    
    \subsection{Gegenüberstellung der Werte des Teams mit dem ACM Code of Ethics}
        Der ACM Code of Ethics and Professional Conduct. Ein ist ein wichtiger Aspekt der Berufsethik für IT-Fachleute. Dieser Code legt grundlegende Werte und Verhaltensweisen fest, die für IT-Profis von zentraler Bedeutung sind, um sicherzustellen, dass ihre Arbeit ethisch verantwortungsbewusst ist und die Interessen der Gesellschaft berücksichtigt.
        Im Kontext meiner Arbeit kann ich feststellen, dass das Team meines Praxispartners die Werte Offenheit, Vertrauen, Respekt, Engagement, Ehrlichkeit, Verantwortungsbewusstsein und Innovationsfreude lebt, die auch im ACM-Code vertreten sind. Die Einhaltung dieser Werte und Grundsätze durch IT-Fachleute kann dazu beitragen, das Vertrauen der Öffentlichkeit in die Arbeit der IT-Branche zu stärken und die Gesellschaft voranzubringen.
        Der ACM-Code fordert Verhaltensweisen, die sich der Offenheit zuweisen lassen können, indem er eine Verpflichtung zur Offenlegung von Interessen, Konflikten und Beziehungen zu anderen Organisationen fordert. Dies hilft, die Integrität der IT-Fachleute zu gewährleisten und das Vertrauen der Öffentlichkeit in ihre Arbeit zu stärken.
        Vertrauen wird ebenfalls als wichtiger Grundsatz für IT-Fachleute hervorgehoben. Der Code betont die Bedeutung von Vertraulichkeit und Schutz von Informationen, insbesondere wenn es um persönliche Daten geht.
        Weiterhin fordert der ACM-Code IT-Fachleute auf, respektvoll mit anderen Personen umzugehen und deren Privatsphäre und Integrität zu wahren. Eine solche Haltung fördert ein positives Arbeitsumfeld, in dem sämtliche Mitarbeiter:innen ihre Fähigkeiten und Talente voll einsetzen können.
        Auch für Engagement lassen sich im ACM-Code Parallelen finden. So fordert dieser IT-Fachleute auf, sich für die Weiterentwicklung ihres Fachgebiets zu engagieren und ihre Fähigkeiten durch kontinuierliche Fortbildung zu verbessern. Ein solches Engagement fördert nicht nur das Wissen und die Fähigkeiten der IT-Fachleute, sondern auch den Fortschritt in der Branche insgesamt.
        Ehrlichkeit wird im ACM-Code als eine der wichtigsten Verhaltensweisen für IT-Fachleute hervorgehoben. IT-Fachleute müssen sicherstellen, dass ihre Arbeit transparent und vertrauenswürdig ist, um die Zuverlässigkeit ihrer Arbeit zu gewährleisten und das Vertrauen der Öffentlichkeit in ihre Arbeit zu stärken.
        Im ACM-Code wird Verantwortungsbewusstsein als ein wichtiger Grundsatz für IT-Fachleute hervorgehoben. IT-Fachleute müssen sicherstellen, dass ihre Arbeit sicher, zuverlässig und ethisch korrekt ist. Sie müssen auch sicherstellen, dass ihre Arbeit die Bedürfnisse der Gesellschaft berücksichtigt und den Grundsätzen des öffentlichen Wohls entspricht.
        Der ACM-Code fordert IT-Fachleute auf, innovative Technologien und Verfahren zu entwickeln, die die Lebensqualität verbessern und die Gesellschaft voranbringen. Es ist jedoch wichtig, dass Innovationen mit einem hohen Maß an Verantwortung und ethischem Bewusstsein einhergehen, um mögliche negative Auswirkungen auf die Gesellschaft und die Umwelt zu minimieren.
        
        Zusammenfassend lässt sich sagen, dass die Werte meines Praxispartners eine starke Ethik widerspiegeln, die auch im ACM-Code vertreten ist. Der Code betont ähnliche Grundsätze wie Offenheit, Vertrauen, Respekt, Engagement, Ehrlichkeit, Verantwortungsbewusstsein und Innovationsfreude. Durch die Einhaltung dieser Grundsätze können IT-Fachleute eine ethisch verantwortungsvolle Arbeitsweise sicherstellen, die das Vertrauen der Öffentlichkeit in ihre Arbeit stärkt und die Gesellschaft voranbringt. 
    
\section{Förderung der Teamarbeit} \label{ref-foerderung-team}
    In der heutigen Arbeitswelt ist gute Teamarbeitsfähigkeiten unerlässlich, um komplexe Projekte erfolgreich umzusetzen. Insbesondere im IT-Bereich, wo Projekte oft eine multidisziplinäre Zusammenarbeit erfordern, ist die Fähigkeit, effektiv im Team zu arbeiten, von entscheidender Bedeutung. In diesem Abschnitt werden wir die Bedeutung einer guten Teamarbeit diskutieren und untersuchen, wie die Teamarbeit gefördert werden kann.
    \subsection{Beschreibung der Bedeutung einer guten Teamarbeit}
        Eine gute Teamarbeit bietet viele Vorteile. Zum einen können Teams mit einer erfolgreichen Zusammenarbeit effizienter arbeiten, da sich die Teammitglieder gegenseitig unterstützen und ergänzen. Jedes Mitglied bringt eigene Stärken und Fähigkeiten mit, die in der Gruppe besser genutzt werden können als alleine (\cite{lantz_effektive_2021}, S. 14). Das Ergebnis ist oft eine höhere Produktivität und Qualität der Arbeit.
        Zum anderen fördert eine gute Teamarbeit die Kommunikation und das Vertrauen unter den Teammitgliedern. Offene Kommunikation und der Austausch von Wissen und Erfahrungen können dazu beitragen, Probleme schneller und effektiver zu lösen (\cite{hofert_agiler_2018}, S. 36). Das Vertrauen unter den Teammitgliedern kann dazu beitragen, dass Konflikte schneller und einfacher gelöst werden können und dass die Teammitglieder in schwierigen Situationen aufeinander zählen können (\cite{baumler_was_2022}).
        Eine gute Teamarbeit kann auch dazu beitragen, dass die Teammitglieder motivierter und zufriedener sind. Wenn die Arbeit im Team gut funktioniert und Erfolge erzielt werden, kann dies zu einem Gefühl der Zufriedenheit und des Stolzes führen. Zudem können Teammitglieder durch die Zusammenarbeit auch neue Fähigkeiten und Kenntnisse erwerben und sich so persönlich weiterentwickeln.
        Eine gute Teamarbeit erfordert jedoch auch eine entsprechende Planung und Organisation. Es ist wichtig, klare Ziele und Rollenverteilungen zu definieren und sicherzustellen, dass alle im Team wissen, was von ihnen erwartet wird (\cite{fleig_voraussetzungen_2019}). Eine offene Kommunikation und regelmäßige Feedbackgespräche können dazu beitragen, dass alle Beteiligten ihre Leistung verbessern können.
        Insgesamt kann eine gute Teamarbeit dazu beitragen, dass komplexe Aufgaben effizienter und effektiver erledigt werden können und dass die Teammitglieder motiviert und zufrieden sind. Eine erfolgreiche Zusammenarbeit im Team erfordert jedoch eine entsprechende Planung und Organisation sowie eine offene Kommunikation und Feedbackkultur.
    \subsection{Diskussion von Vorschlägen zur Förderung der Teamarbeit}
        Es gibt verschiedene Ansätze, um eine gute Teamarbeit zu fördern.
        Die im vorherigen Abschnitt angesprochene Verteilung von Aufgaben und Rollen kann durch eine ausführliche Planung und ein regelmäßiges Monitoring der Arbeitsergebnisse erreicht werden. Es ist auch hilfreich, regelmäßige Meetings abzuhalten, um den Fortschritt zu besprechen und bei Bedarf Anpassungen vorzunehmen (\cite{slack_5_nodate}).
        Ein weiterer wichtiger Faktor für eine gute Teamarbeit ist die offene Kommunikation. Teammitglieder sollten in der Lage sein, ihre Gedanken und Ideen frei auszudrücken und auch kritische Fragen zu stellen (\cite{gaida_zusammenarbeit_2022}). Dies fördert die Kreativität und ermöglicht es dem Team, gemeinsam bessere Lösungen zu finden. Eine offene Kommunikation ist auch wichtig, um mögliche Konflikte frühzeitig zu erkennen und zu lösen (\cite{baumler_was_2022}).
        Es ist auch ratsam, eine positive und unterstützende Arbeitsumgebung zu schaffen, in der alle Teammitglieder respektiert und geschätzt werden. Eine solche Arbeitsumgebung kann durch regelmäßiges Feedback und Wertschätzung erreicht werden. Indem man die Leistungen der Teammitglieder anerkennt und ihre Arbeit lobt, fühlen sie sich motiviert und können ihre Arbeit besser erledigen.
        Ein weiterer Ansatz zur Förderung der Teamarbeit ist das Teilen von Wissen und Fähigkeiten innerhalb des Teams. Durch regelmäßiges Training und Schulungen können die Fähigkeiten der Teammitglieder verbessert werden, was zu einer besseren Zusammenarbeit führt (\cite{haas_secrets_2016}). Es ist auch hilfreich, eine offene Kultur der Zusammenarbeit zu fördern, in der Teammitglieder ihr Wissen und ihre Erfahrungen teilen und voneinander lernen können.
        Schließlich ist es wichtig, ein gewisses Maß an Flexibilität zu haben, um auf unvorhergesehene Ereignisse reagieren zu können. Indem man sich auf Veränderungen einstellt und sich schnell an neue Gegebenheiten anpasst, kann das Team seine Ziele effektiver erreichen (\cite{schwaber_scrum_2018}). Es ist auch hilfreich, Kreativität und Innovation zu fördern, um neue Lösungen zu finden und Probleme zu lösen.
        Insgesamt gibt es viele Möglichkeiten, um eine gute Teamarbeit zu fördern. Klare Rollen und Verantwortlichkeiten, offene Kommunikation, eine positive Arbeitsumgebung, das Teilen von Wissen und Fähigkeiten, Flexibilität und Kreativität sind wichtige Faktoren für eine erfolgreiche Zusammenarbeit im Team.
        Mein Praxispartner implementiert bereits eine Vielzahl dieser Konzepte, wobei ich persönlich die Gelegenheit hatte, ein unmittelbares Erleben effektiver Teamarbeit zu erfahren. Gemeinsam wird an Projekten gearbeitet, Ideen werden diskutiert und es herrscht ein hohes Maß an Motivation und Engagement.
        Trotz dieser erfolgreichen Zusammenarbeit bin ich der Meinung, dass es immer Möglichkeiten gibt, die Teamarbeit noch weiter zu verbessern und zu fördern. Zu diesem Zweck habe ich zwei Vorschläge entwickelt.
        
        Mein erster Vorschlag bezieht sich auf den Austausch von Personal innerhalb der Subteams. Dabei geht es darum, dass Mitarbeiter:innen aus unterschiedlichen Subteams für eine gewisse Zeit in einem anderen Subteam arbeiten. So können sie ihre Erfahrungen und ihr Fachwissen mit Kollegen/Kolleginnen teilen und gleichzeitig neue Ideen und Impulse für ihre Arbeit sammeln. Dies könnte beispielsweise im Rahmen von Pair Programming Sessions stattfinden, in welchen gemeinsam an der Lösung eines Problems gearbeitet wird. Durch diesen Austausch wird auch der Zusammenhalt zwischen den Subteams gestärkt und es entsteht eine größere Verbundenheit innerhalb des gesamten Unternehmens.
        
        Mein zweiter Vorschlag betrifft die Einführung einer Innovationszeit. Hierbei geht es darum, dass jedes Teammitglied innerhalb der Arbeitszeit, ein gewisses Maß an Zeit hat, um sich mit eigenen kleinen Projekten, im Interessenbereich des Unternehmens, und neuen Technologien zu beschäftigen. Einmal im Monat werden diese Projekte den anderen Teammitgliedern vorgestellt, um Erfahrungen und Wissen auszutauschen. Diese Zeit bietet den Mitarbeiter:innen die Möglichkeit, ihre kreativen Ideen und ihre Leidenschaft für Technologie auszuleben und trägt somit auch zur persönlichen Weiterentwicklung bei. Durch die gegenseitige Vorstellung der Projekte und Technologien entsteht ein Wissensaustausch zwischen den Teammitgliedern, wodurch die Expertise des Teams als Ganzes zunimmt. Durch die Möglichkeit in diesen kleinen Projekten individuell zusammenzuarbeiten, können Teammitglieder kooperieren, welche sonst aufgrund der stark unterschiedlichen Arbeitsbereiche wenig Berührungspunkte zueinander haben. Für das Unternehmen können so neue Geschäftsideen und Produkte entstehen.
        
        Es ist jedoch wichtig, dass diese beiden Vorschläge gut implementiert werden, um den gewünschten Effekt zu erzielen. Eine klare Kommunikation und Planung im Vorfeld sind notwendig, um sicherzustellen, dass die Teams die Vorteile dieser Maßnahmen voll ausschöpfen können. Auch sollten die Mitarbeiter:innen auf die Veränderungen vorbereitet werden und gegebenenfalls Schulungen und Trainings erhalten, um die Umsetzung dieser Vorschläge zu erleichtern.
        Ich bin dennoch davon überzeugt, dass diese beiden Vorschläge dazu beitragen können, die bereits bestehende gute Teamarbeit noch weiter zu verbessern und zu fördern.
\section{Diskussion der Vorschläge mit einem Ansprechpartner im Praxisbetrieb und Zusammenfassung der Ergebnisse}
    Die in Abschnitt \ref{ref-foerderung-team} herausgearbeiteten Vorschläge sollten mit einem Ansprechpartner im Praxisbetrieb diskutiert werden. Zu diesem Zweck wird in diesem Abschnitt zunächst der Diskussionsprozess beschrieben und anschließend das Ergebnis der Diskussion zusammengefasst.
    \subsection{Beschreibung des Diskussionsprozesses}
        Um die Vorschläge zur Förderung der Teamarbeit mit einem Ansprechpartner im Praxisbetrieb zu diskutieren, habe ich einen Termin mit Herrn Aust vereinbart. Ich habe Herrn Aust meine Arbeit im Vorfeld zur Verfügung gestellt, damit er sich auf die Diskussion vorbereiten konnte.
        Die Diskussion fand aufgrund der verteilten Arbeitsumgebung per Videokonferenz statt.

        Da die Vorschläge Herrn Aust bereits im Vorfeld bekannt waren, war eine ausführliche Vorstellung und Erläuterung meinerseits nicht notwendig.
        Stattdessen konnte direkt mit der Diskussion begonnen werden. 
        Der erste Vorschlag fand grundsätzlich Zuspruch, jedoch wurden einige Anmerkungen gemacht und Bedenken geäußert.
        Der zweite Vorschlag wurde ebenfalls positiv aufgenommen, da ein solches Konzept bereits einmal verwendet wurde. Hier fand eine Diskussion darüber statt, mit welchen Anpassungen eine nachhaltige Implementierung erfolgen kann. 
        
        
    \subsection{Zusammenfassung der Ergebnisse der Diskussion}
        Im Rahmen der Diskussion sind einige Anmerkungen und Umsetzungsvorschläge zu beiden Vorschlägen zur Sprache gekommen.

        Zum ersten Vorschlag wurde angemerkt, dass der Austausch von Personal innerhalb der Subteams bereits im Rahmen der Ausbildung von Auszubildenden und dualen Studierenden umgesetzt wird. Älteres Personal mit spezifischem Know-how könnte aufgrund der geringen Größe des Teams und ihren Aufgaben im jeweiligen Subteam jedoch nur schwer an einem Austausch teilnehmen. Als Gegenvorschlag wurde eine Rotation des Personals als Scrum Master genannt. Dies würde eine wechselnde Nebentätigkeit darstellen und würde dazuführen, dass das Personal Einblicke in verschiedene Aufgabenbereiche erhalten würde. Weiterhin könnte auf diese Weise eine Weiterbildung für die Erstellung und Verwaltung von Tickets durchgeführt werden. Durch die Stellung des Scrum Master könnte bei Problemen kooperiert und geholfen werden.

        Bezüglich des zweiten Vorschlags wurde angemerkt, dass ein ähnliches Konzept bereits einmal umgesetzt wurde und die Vorteile bekannt sind. Aufgrund der Dringlichkeit des Tagesgeschäfts wurde es jedoch damals nicht konsequent weiterverfolgt. Es wurde auch darauf hingewiesen, dass es damals zu einer starken Wissensverteilung gekommen ist. Um die bekannte Problematik bei Wiedereinführung zu verhindern, schlug Herr Aust vor, das Konzept im geringen Zeitumfang zu implementieren. Als Kompromiss konnten wir uns auf 5\% eines Sprints, was etwa vier Stunden pro 2 Wochen entspricht, einigen. Weiterhin schlug er vor, Themen vorab zu sammeln und eine Priorisierung durch den Product Owner durchzuführen, um sicherzustellen, dass die im Rahmen der Innovationszeit erarbeiteten Erkenntnisse, Fähigkeiten und Technologien mittelfristig genutzt werden können. Darauf aufbauend schlug ich vor, diese Ideen auf einem Schwarzen Brett zu sammeln und allen zur Verfügung zu stellen. Dies kam gut an, da erkannt wurde, dass sich dadurch Personen zusammenfinden können, welche sich für das gleiche Thema interessieren und sonst eventuell wenig zusammenarbeiten. 

        Insgesamt wurden beide Vorschläge positiv aufgenommen und es wurden konkrete Umsetzungsvorschläge gemacht, um die Vorschläge an die spezifischen Bedürfnisse des Praxisbetriebs anzupassen.
\section{Fazit}
    Im Rahmen dieser Arbeit wurde gezeigt, dass effektive Teamarbeit ein wesentlicher Bestandteil effizienter Arbeit ist, denn sie ermöglicht die Verteilung von Aufgaben, einen schnelleren Projektabschluss, Fehlervermeidung durch gegenseitige Qualitätskontrollen und fördert kreative Problemlösungen. Die Zusammenarbeit ermöglicht auch persönliches und berufliches Wachstum und Entwicklung, indem man voneinander lernt und sich gegenseitig unterstützt. Daher ist es von entscheidender Bedeutung, die Teamarbeit in Projekten zu fördern und zu nutzen. 
    
    Die technische Organisation eines Teams, das an einem Projekt arbeitet, wie der Integration neuer Funktionen in bestehende Software, umfasst verschiedene Tools wie Jabber, Skype und Redmine für die Kommunikation und das Aufgabenmanagement. Das Team arbeitet in Sprints von zwei Wochen in Anlehnung an die Scrum-Methode und verwaltet den Code mit Git, mit Code-Reviews auf GitLab. Die Verwendung von Kodierungsrichtlinien sorgt für Konsistenz, obwohl jeder Entwickler seine bevorzugte IDE verwendet. Insgesamt ermöglicht die technische Organisation eine effektive Zusammenarbeit und Aufgabenerledigung.

    Das vorgestellte Fallbeispiel zeigt, wie einige der Empfehlungen von Whitehead bereits von meinem Praxispartner umgesetzt werden. Dazu gehören die gemeinsame Entwicklung von Anforderungen und Fähigkeiten, die Verwendung einer Plattform zur Verfolgung des Projektfortschritts, tägliche Besprechungen und ein zentrales Softwarekonfigurationsmanagementsystem. Diese Praktiken haben zu Vorteilen für das Team und die Kunden/Kundinnen geführt, und mein Praxispartner beabsichtigt, sie weiter auszubauen und zu verbessern.

    Werte spielen eine wichtige Rolle bei der erfolgreichen Bewältigung von Aufgaben. Offenheit, Vertrauen, Respekt, ehrliche Kommunikation, Verantwortung und Innovation sind entscheidend für eine effektive Zusammenarbeit und die Erreichung von Zielen. Diese Werte fördern die Problemlösung, Transparenz, Motivation, Teamarbeit und Kreativität und führen zu höherer Produktivität und Arbeitsqualität. Der ACM Code of Ethics and Professional Conduct ist auch ein wesentlicher Aspekt der Berufsethik für IT-Fachleute, der grundlegende Werte und Verhaltensweisen festlegt, um ethische Verantwortung und die Berücksichtigung der Interessen der Gesellschaft zu gewährleisten. Die Werte und Prinzipien von Offenheit, Vertrauen, Respekt, Engagement, Ehrlichkeit, Verantwortung und Innovation, die sich im ACM-Kodex widerspiegeln, sind auch in der Arbeit meines Praxispartners zu finden, und die Einhaltung dieser Werte kann das öffentliche Vertrauen in die IT-Branche stärken und der Gesellschaft zugutekommen.

    Die zwei vorgeschlagene Maßnahmen zur Verbesserung der Teamarbeit sind der Austausch von Personal innerhalb von Unterteams und die Einführung von Innovationszeiten, in denen jedes Teammitglied Zeit hat, an persönlichen Projekten und neuen Technologien zu arbeiten. Klare Kommunikation und Planung sowie Schulung und Entwicklung sind notwendig, damit die Teams in vollem Umfang von diesen Maßnahmen profitieren können. Durch diese Initiativen können neue Ideen gesammelt und der Zusammenhalt zwischen den Unterteams gefördert werden, was zu einer Steigerung des Fachwissens im Team führt, das wiederum neue Geschäftsideen und Produkte hervorbringen kann.
    In der Diskussion wurden gemeinsam Umsetzungsvorschläge erarbeitet, welche eine Einführung der Vorschläge ermöglichen.
    Insgesamt erfordert effektive Teamarbeit Kommunikation, Vertrauen und Respekt zwischen den Teammitgliedern und die Einhaltung ethischer Grundsätze. Die Einhaltung dieser Grundsätze kann das öffentliche Vertrauen stärken und der Gesellschaft zugutekommen. Auch eine technische Organisation und klare Richtlinien für die Zusammenarbeit sind notwendig, um eine effiziente und effektive Teamarbeit zu gewährleisten. Die vorgeschlagene Maßnahmen, wie der Austausch von Personal und die Innovationszeit, können die Zusammenarbeit weiter verbessern, neue Ideen hervorbringen und die Kompetenz des Teams erhöhen.
\newpage
\addcontentsline{toc}{section}{Literaturverzeichnis}
\printbibliography[title={Literaturverzeichnis}]
\clearpage
\appendix
\end{document}
