Teamarbeit bei der Softwareentwicklung mit Christian Kranert – IT-Berufe-Podcast #188
Um Teamarbeit bei der Softwareentwicklung geht es im Interview mit
Christian Kranert in der einhundertachtundachzigsten Episode des
IT-Berufe-Podcasts. Inhalt Vorstellung Christian Kranert Christian
hat sich schon in Episode 164 des Podcasts über Softw...
1 Stunde 2 Minuten
Podcast
Podcaster
Beschreibung
vor 1 Jahr
Um Teamarbeit bei der Softwareentwicklung geht es im Interview
mit Christian Kranert in der einhundertachtundachzigsten Episode
des IT-Berufe-Podcasts.
Inhalt Vorstellung Christian Kranert
Christian hat sich schon in Episode 164 des Podcasts über
Softwarequalität ausführlich vorgestellt, aber hier noch einmal
die wichtigsten Eckdaten.
Christian Kranert
seit 17 Jahren in der IT und Softwareentwicklung tätig
angefangen mit Visual Basic 6 auf Windows 95
Ausbildung zum Fachinformatiker für Anwendungsentwicklung
absolviert
viel im SAP-Umfeld mit ABAP entwickelt
inzwischen hauptsächlich mit C# unterwegs
lebt und arbeitet in Nürnberg bei Head On Solutions GmbH
entwickelt dort Cloud-Software für lokale Geschäfte wie
Friseur-Studios zum Planen von Terminen, Kassieren, Buchhaltung
usw.
ist Abteilungsleiter mit eigenem Team
Teamarbeit in der Softwareentwicklung Warum brauchen wir
Teamarbeit bei der Softwareentwicklung?
bei der Komplexität heutiger Software ist es
fast undenkbar, diese alleine zu entwickeln
heutige Webanwendungen enthalten z.B. sehr viel
UI-Entwicklung und sind im Backend und Frontend sehr komplex,
Stichwort: Full Stack
Christians Unternehmen hat ein eigenes Team ausgelagert nur
für VueJS im Frontend
durch das Team entsteht auch bessere
Software
wir wollen doch die „echte Welt“ übersetzen in Code und dort
gibt es auch mehr als einen Benutzer
gemeinsam zu entwickeln macht mehr Spaß, ist sozial, man kann
voneinander lernen, man kann sich weiterentwickeln
die interdisziplinäre Zusammenarbeit mit dem Fachbereich bzw.
Kunden ist auch extrem wichtig
Wie sieht erfolgreiche interdisziplinäre Zusammenarbeiten
zwischen dem IT-/Entwicklungs-Team und anderen Abteilungen aus?
der Fachbereich erklärt den Entwickler:innen die Fachlichkeit
Entwickler:innen dürfen/müssen das aber auch hinterfragen und
ggfs. bessere Lösungen vorschlagen
man sollte erst über das Problem reden und
nicht schon über Lösung
es muss die generelle Bereitschaft zur Teamarbeit vorhanden
sein und eine entsprechende Kultur
Welche Prozessmodelle (z.B. Wasserfall, Scrum)
unterstützen/behindern die Teamarbeit?
das klassische Wasserfallmodell ist eher
hierarchisch aufgebaut mit Lasten-/Pflichtenheft
und passt nicht so gut zur Teamarbeit
Scrum ist aber auch kein Allheilmittel
das Daily ist sehr wichtig, denn Kommunikation ist der
Schlüssel zu erfolgreicher Teamarbeit
Wie sieht richtig gute Teamarbeit in der Softwareentwicklung
aus?
Kommunikation ist das A und O, z.B. wenn ein
Feature fertig ist, damit die Kolleg:innen darauf aufsetzen
können
alle Teammitglieder:innen sollten auch aktiv Hilfe anbieten
und einfordern
die gesamte Softwareentwicklung ist
Teamarbeit und die geht schon mit der Produktidee los
dabei kann es helfen, verschiedene Perspektiven einzunehmen,
um ein besseres Bild der Anforderungen zu bekommen
auch weitere Aufgaben lassen sich besser im Team lösen:
Risiken abschätzen, Prioritäten ableiten, Product Backlog füllen
wenn das Verhältnis von Kosten und Nutzen passt, startet die
Implementierung und Aufgaben werden im Team verteilt
in Christians Team werden Konzepte z.B. gemeinsam erarbeitet,
ganz einfach in OneNote*
das Team startet mit einem Datenmodell als
Diskussionsgrundlage und legt dann die Datentypen fest
außerdem werden Mockups erstellt, um darüber
gemeinsam zu diskutieren
sehr wichtig ist auch das gemeinsame Festlegen von
Namen im Team, denn viele Köpfe haben mehr
(fachliches) Wissen als einer alleine
der große Vorteil bei dieser Vorgehensweise ist, dass früh
erkannte Fehler bei Anpassungen wenig kosten im
Vergleich zu späteren Projektphasen, wenn alles schon umgesetzt
ist
Warum ist die Teamkultur nicht nur beim Code Review wichtig
und wie sieht sie aus?
Christians Team entwickelt oft im Pair Programming zusammen
und führt danach noch Code Reviews durch
hier war oft insb. beim Testen die Einstellung, dass das doch
jemand anders macht und nicht die Aufgabe der
Softwareentwickler:innen sei
aber gerade beim Testen ist die Abstimmung mit den
Tester:innen wichtig, damit man nicht den kompletten Code
umschreiben muss, wenn man am Test vorbei entwickelt hat
Wie stellt man sicher, dass alle Teammitglieder:innen sich
aktiv einbringen und wie kann eine Führungskraft Teamarbeit
fördern/behindern?
die Führungskraft ist sehr wichtig, denn
ihre zentrale Aufgabe ist die Pflege der Teamkultur
die häufig anzutreffene Skepsis bei Entwickler:innen
gegenüber Meetings muss von der Führungskraft
abgebaut werden
Meetings müssen aber natürlich auch einen Mehrwert für alle
Teilnehmer:innen bieten und müssen vernünftig geplant und
vorbereitet werden
auch für Entwickler:innen sind Meetings wichtig, da sie
helfen, offene Fragen zu klären und Entscheidungen herbeizuführen
Teamarbeit kann die Teammitglieder:innen motivieren, wenn man
gemeinsam eine gute Lösung findet und z.B. eine „harte Nuss“
knackt
Braucht ein Team eine Leitung?
das kommt stark auf das Team an
Storming, Forming, Norming, Performing: gibt es das wirklich
in der Praxis?
Christian hat das mal in einem Buch gelesen, aber nur dunkel
in Erinnerung
in der Praxis durchlaufen die Teams diese Phasen wohl
tatsächlich, aber intuitiv verhalten sich die Mitglieder:innen
meist den Phasen entsprechend
Wie sieht häufig die (negative) Realität in Sachen Teamarbeit
aus bzw. an welchen Fehlern scheitert Teamarbeit häufig?
Juniors werden vernachlässigt und bekommen
keine oder zu wenig Unterstützung
Hierarchiedenken, gerade wenn Softwareentwicklung nicht das
Kerngeschäft des Unternehmens ist
Introvertiertheit der Teammitglieder:innen
aber auch Extrovertiertheit bzw. Egozentrik bei
Teammitglieder:innen
Mangel an Diversität im Team
Wie wird man als Entwickler:in „teamfähig“?
Persönlichkeitsentwicklung! dazu gibt es viele
gute Bücher
eine fördernde und fordernde Führungskraft ist wichtig für
das Empowerment der Teammitglieder:innen
die Führungskraft sollte z.B. One-on-Ones mit Mitarbeitenden
führen, immer wieder nachfragen und auch die eigene Entwicklung
aufzeigen
loben und wertschätzen sollten bei jeder
Führungskraft dazu gehören
Empathie ist auch wichtig
Konflikte sollten schnell gelöst werden
Wie wichtig ist eine gute Fehlerkultur?
sehr wichtig
Fehler müssen erlaubt sein und dürfen nicht „geahndet“ werden
aber was ist eigentlich ein Fehler?
Schludrigkeit ist sicherlich kein Fehler
Checklisten können helfen, eine gewisse
Basisqualität sicherzustellen
Wie können schon Azubis in die Teamarbeit integriert werden?
einfach mal loslegen und sie an die Hand
nehmen
Azubis direkt in echte Projekte einbinden, aber ohne harten
Deadlines oder großes Fehlerpotential
viel loben
Checklisten helfen auch hier beim Einstieg
Was sind die Folgen, wenn nicht im Team gearbeitet wird?
Christian hat noch nie jemanden kennengelernt, der/die sich
aktiv gewehrt hat gegen Teamarbeit
eher haben die Kolleg:innen evtl. Angst mitzumachen
den berühmten „10x-Develover“ gibt es nicht, aber Seniors
können als Multiplikatoren im Team wirken und Juniors
voranbringen und damit das gesamte Team
Wie/wo kann man dich erreichen?
Links
Permalink zu dieser Podcast-Episode
RSS-Feed des Podcasts
Qualitätssicherung bei der Softwareentwicklung mit Christian
Kranert
Christian Kranert bei LinkedIn
Head-on Solutions GmbH bei LinkedIn
Weitere Episoden
5 Minuten
vor 3 Wochen
11 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
10 Minuten
vor 5 Monaten
In Podcasts werben
Kommentare (0)