Erfahrungsbericht eines Nexus Integration Team Mitglieds · • Jenkins, SonarQube, Dynatrace:...
-
Upload
nguyentruc -
Category
Documents
-
view
223 -
download
0
Transcript of Erfahrungsbericht eines Nexus Integration Team Mitglieds · • Jenkins, SonarQube, Dynatrace:...
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
ErfahrungsberichteinesNexusIntegrationTeamMitglieds
EntwicklertagKarlsruhe23.05.2017
DavidBurkhart
JanBaumann
©2017andrenaobjectsag
Experts inagilesoftware engineering2
©scrum.org
©2017andrenaobjectsag
Experts inagilesoftware engineering3
• ProductOwner• ScrumMaster• Einem oder mehreren NexusIntegrationTeam
Mitgliedern• Typischerweise aus denScrumTeams• Zugehörigkeit im NIThatVorrang überZugehörigkeit im ScrumTeam
• Zusammensetzung ändert sich jenach denBedürfnissen desNexus
DasNexusIntegrationTeamlautdemNexusGuide
©scrum.org
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
DasNexusIntegrationTeamlautdemNexusGuide
Mitglieder desNexusIntegrationTeamssollten
• Technisch versiert sein• Gute SoftSkillsbesitzen• Ein “ServantLeader”Mindsethaben• Sich als CommunityofCoachesverstehen• IndenScrumTeamsarbeiten• Möglichst aus Mitgliedern derScrumTeamsrekrutiert werden
4
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
DasNexusIntegrationTeamlautdemNexusGuide
DasNexusIntegrationTeam
• Hilft beim Koordinieren vonArbeiten zwischen denTeams• Hält dasThema Abhängigkeiten dauerhaft im Bewusstsein desNexus• Stellt Wissen undNutzung vonIntegrationspraktiken und-Toolssicher• Dienst als Consultants,CoachesundKommunikationsvermittler• Unterstützt denNexusbei derArbeit amBacklog,fallsnötig undsinnvoll• Kümmert sich umgemeinsame Infrastruktur undArchitektur• Macht kontinuierlich denStandderIntegrationtransparent
5
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
DasNexusIntegrationTeamlautdemNexusGuide
DasNexusIntegrationTeamist dafür“accountable”
dass mindestens amEnde jeden Sprintesein IntegratedIncrementproduziert wird.
6
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
DasNexusIntegrationTeam– Fragen?
7
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
HerzlichenGlückwunsch- EuerProjektistnunskaliert!
8
• BrownfieldProjekt,6Teamsan3Standorten• Nexusgabes noch nicht,Safewaruns zu schwer,Anlehnung anLess• Wie kriegen wir ein IntegratedIncrement?K.I.S.S.!
• Gemeinsame DefinitionofDone• Qualität vonneuem Codefokussieren• Abhängigkeiten früh entdecken undkommunizieren• Konflikte im VCSdurch ContinuousIntegrationminimieren• Tägliche Abstimmung über denStandderIntegration
©2017andrenaobjectsag
Expertsinagilesoftwareengineering9
• Ziele:• Erkennen vonAbhängigkeiten• Regelmäßige Integrationmit Absicherung durch TestsundMetriken
• Idee:• Einführung eines teamübergreifenden Dailiesmit Teamrepräsentanten
• PositiveEffekte:• Awarenessfür dieFokus Themen konnte geschaffen werden• Gefühlt sind dieTeamstrotz geographischer Verteilung zusammen gerückt
• Größte Schmerzen:• DasMeetingdauerte teilweise über 45Minuten• Absichern desIntegratedDoneIncrementsgelang häufig nicht
Iteration#1- OhneNexusIntegrationTeam- WechselndeLeute
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
Iteration#2- Hurra wir machen Nexus!Auf,Auf,NIT!
• Ziel:• Sicherstellen derQualität desIntegratedIncrements
• Idee:• Festes Teamaus erfahrenen Entwicklern derScrumTeams
• PositiveEffekte:• Meetingdauer aufetwa 30Minuten eingependelt• Sichtbare Verbesserungen bei derTestabdeckung unddenMetriken• Bessere IntegrationundErkennung vonAbhängigkeiten
• Größte Schmerzen:• Einbindung derNITMitglieder indieTeamsführt zu Konflikten
10
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
Iteration#3- DasVollzeit NexusIntegation Team
• Ziel:• Weniger Zeitkonflikte undmehr Fokus
• Idee:• Zwei feste Vollzeit NexusIntegrationTeamMitglieder
• PositiveEffekte:• NexusIntegrationTeamTätigkeiten nicht länger durch Konflikte gefährdet• NexusIntegrationTeamwird Ansprechpartner für viele Fragestellungen• Dailyinetwa 15-20Minuten
• Größte Schmerzen:• Kann sich vor Arbeit garnicht retten :-)
11
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
NobodyExpects… Was?
12
©2017andrenaobjectsag
WaswarderKommentarderTeamsdazu?
Expertsinagilesoftwareengineering13
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
UndwashaltendieTeamsdavon?
14
0 10 20 30 40 50 60 70 80 90 100
HatzueinerVerbesserungbeiTestsundMetrikengeführt
HatzueinerVerbesserungbeiderIntegrationgeführt
HatmirbeiAbhängigkeitengeholfen
HatmirschonbeiUmsetzungsfragenhelfenkönnen
HatmirbeiderVerbesserugmeinerSkillshelfenkönnen
Istsinnvoll
Stimmezu Stimmenichtzu
©2017andrenaobjectsag
Ansprech- undSparringPartner fürFragenrundum• CodeQualität• CodeDesign• Testing• Tooling• Verbesserungsideen
Sicherstellen,dassAbläufederEntwicklung funktionieren• Releasewechsel• NexusDaily• Nightly Deployment
Experts inagilesoftware engineering15
AufgabendesNexusIntegrationTeam:Vision(1)
©2017andrenaobjectsag
Coaching• AufWunsch• BeiBedarf• Bedarferkennen
DieQualitätdesIntegratedDone Increment sicherstellen• Tooling• Analysen• Reviews• Feedback-Mechanismen• AutomatisierteReports/
Monitoring
Experts inagilesoftware engineering16
AufgabendesNexusIntegrationTeam:Vision(2)
©2017andrenaobjectsag
Experts inagilesoftware engineering17
AufgabendesNexusIntegrationTeam:Konkret
• Violations überprüfen,besprechen,coachenodermarkieren• Coverage überprüfen,Codereviewen,besprechen• FeatureBranches überprüfen,besprechen• Nightly Build überprüfen,analysieren,dispatchen• Abhängigkeitenüberprüfen,nachfragen,besprechen• TeamSupportbeifachlichenundtechnischenFragestellungen
RegelmäßigeAufgaben
©2017andrenaobjectsag
NexusBoard
• KompletterSprint-Überblick• Abhängigkeiten• Sprint-Ziele• AlleMöglichkeiteneines
physischenBoards
Experts inagilesoftware engineering18
AufgabendesNexusIntegrationTeam:Werkzeuge
©2017andrenaobjectsag
Dashboards
• Jenkins,SonarQube,Dynatrace:FokusaufQualitätderIntegration
• Jira,Confluence:FokusaufAbhängigkeiten undÜberschneidungen
Experts inagilesoftware engineering19
AufgabendesNexusIntegrationTeam:Werkzeuge
https://wiki.jenkins-ci.org/display/JENKINS/Build+Monitor+Plugin
©2017andrenaobjectsag
Dashboards
• Jenkins,SonarQube,Dynatrace:FokusaufQualitätderIntegration
• Jira,Confluence:FokusaufAbhängigkeiten undÜberschneidungen
Experts inagilesoftware engineering20
AufgabendesNexusIntegrationTeam:Werkzeuge
https://docs.sonarqube.org/display/SONARQUBE53/Project+Space
©2017andrenaobjectsag
Reports
• FeatureBranches:FokusaufKontinuierlicheIntegration
Experts inagilesoftware engineering21
AufgabendesNexusIntegrationTeam:Werkzeuge
http://nvie.com/posts/a-successful-git-branching-m
odel/
©2017andrenaobjectsag
Experts inagilesoftware engineering
DasNexusIntegrationTeam– Fragen!
22
©2017andrenaobjectsag
Experts inagilesoftware engineering23
Fazit
K.I.S.S.
Inspect &Adapt
HerausforderungSkalierungNexusinderPraxis
Bottleneck vermeiden
©2017andrenaobjectsag
Expertsinagilesoftwareengineering
Material
• https://www.scrum.org/resources/scaling-scrum• https://www.scrum.org/resources/nexus-integration-team• https://www.scrum.org/resources/blog/9-keys-understand-nexus-integration-team• MontyPython‘s FlyingCircusEpisode15„TheSpanish Inquisition“
• https://de.wikipedia.org/wiki/Die_Spanische_Inquisition
24