SlideShare une entreprise Scribd logo
1  sur  79
Télécharger pour lire hors ligne
Stephan Schmidt
                       Head of Web Sales Development @ 1&1 Internet AG

                                                           17.04.2012




23
DINGE,
die Sie über Software-Entwicklung in Teams wissen sollten.



                                                                   1
Stephan Schmidt
                       Head of Web Sales Development @ 1&1 Internet AG

                                                           17.04.2012




23           NICHT UNBEDINGT
             TOTAL NEUE

DINGE,
die Sie über Software-Entwicklung in Teams wissen sollten.



                                                                   2
DALE
,YOGI‘
BERRA
‣ Spielte von 1946 bis 1964
  professionellen Baseball in
  der Major League.

‣ Erst Spieler, dann Trainer.

‣ Bekannt für seine Yogiisms.
„Baseball is ninety
 percent mental.
 The other half is
 physical.“
                      Yogi Berra


                               4
YOGI
BEAR


       5
„In theory there is no
 difference between
 theory and practice.
 In practice there is.“
                   Yogi Berra


                            6
THEORIE VS PRAXIS
 ‣ Die Präsentation beruht auf meiner Erfahrung.

 ‣ Die Regeln funktionierten und funktionieren in meinen
   Teams.

 ‣ Einige funktionieren in allen Teams, andere
   abgewandelt oder auch gar nicht.

 ‣ Versuchen Sie, das heute theoretisch vermittelte
   Wissen in Ihrer Praxis anzuwenden.


                                                       7
TEIL 1:
TOOLS
UND
CODE


          8
#1
Etablieren Sie Collective Code
Ownership.



                                 9
COLLECTIVE CODE
OWNERSHIP
 ‣ Der gesamte Code gehört allen Entwicklern.

 ‣ Alle Entwickler sind dazu aufgefordert an allen Stellen
   Bugs zu fixen, Refactorings durchzuführen oder neue
   Ideen einzubringen.

 ‣ Vermeidet Flaschenhälse in ihrem Team und macht den
   Code besser.

 ‣ Sie profitieren von den Stärken aller Teammitglieder.


                                                           10
#2
Setzen Sie ein Werkzeug zur
Revisionskontrolle ein.



                              11
REVISIONS-
KONTROLLE
 ‣ Nur dadurch werden parallel Änderungen an einem
   Projekt möglich.

 ‣ Es ist egal, welches System Sie einsetzen, aber tun
   Sie's.

  ‣ CVS (wenn‘s denn sein muss)

  ‣ Subversion

  ‣ GIT oder Mercurial oder anderen hippen Scheiss.

                                                         12
„You can't compare me
 to my father.
 Our similarities are
 different.“
                 Dale Berra


                         13
#3
Standardisieren Sie die
Entwicklungsumgebung Ihres Teams.



                                    14
STANDARDISIERUNG
DER IDE
 ‣ Spart Zeit bei neuen Instanzen.

 ‣ Idealerweise installiert die EDV-Abteilung nur noch ein
   Image für Entwickler.

 ‣ In vielen Unternehmen schwer einzuführen, da das
   Thema religiöse Sprengkraft hat.

 ‣ Ist den Stress der Diskussion jedoch trotzdem wert.

 ‣ In unserem Team noch eine Stunde statt zwei Tagen.

                                                         15
#4
Definieren Sie Coding Standards in
Ihrem Team.



                                     16
CODING
STANDARDS
 ‣ Spart Zeit, da sich jeder Entwickler im Code der
   anderen Entwickler zurecht findet.

 ‣ Hier gilt wieder: Es ist egal, welchen Standard Sie
   einsetzen, aber tun Sie's.

 ‣ Die SUN-Standards sind ein guter Ausgangspunkt.




                                                         17
#5
Stellen Sie sicher, dass Ihre Standards
eingehalten werden.



                                          18
STANDARDS
EINHALTEN
 ‣ Nur ein angewandter Standard ist ein sinnvoller
   Standard.

 ‣ Sinnvoll: Integration in den Build-Prozess und die IDE.

 ‣ Umstritten: Integration in SVN Pre-Commit-Hooks oder
   Deployment.

 ‣ Schrittweise einführen.




                                                             19
#6
Führen Sie
Code-Reviews durch.



                      20
CODE REVIEWS
 ‣ Sind nicht einfach einzuführen, Entwickler sind
   sensible Geschöpfe.

 ‣ Sie schlagen zwei Fliegen mit einer Klappe:

  ‣ Ihr Code wird besser.

  ‣ Sie lernen voneinander.

  ‣ Ihr Team hält besser zusammen.



                                                     21
#7
Sorgen Sie dafür, dass Ihr Build
reproduzierbar ist.



                                   22
DER BUILD IST
REPRODUZIERBAR
 ‣ Spart Ihnen Zeit (ja, schon wieder).

 ‣ Spart Ihnen Ärger.

 ‣ Bei jedem neuen Mitarbeiter müssen diese Schritte
   ausreichen:
   $   svn co http://example.com/svn/trunk project
   $   cd project
   $   mvn tomcat:run
   $   // oder ähnliches




                                                       23
„We made too many
 wrong mistakes.“
               Yogi Berra


                       24
#8
Machen Sie nicht den Fehler, keine
Tests zu schreiben.



                                     25
TESTEN SIE IHREN
CODE
 ‣ Im Team wird der Code von verschiedenen Entwicklern
   erstellt oder modifiziert.

 ‣ Tests ermöglichen Entwicklern zu prüfen, ob die
   Änderung negative Auswirkungen hat.

 ‣ Tests nehmen dem Team die Angst, Änderungen
   durchzuführen.

 ‣ „Tests“ sind nicht manuelle Tests, also „Coden Sie
   Ihren Test und testen Sie Ihren Code“.

                                                        26
„It's like déjà vu all
 over again.“
                     Yogi Berra


                             27
#9
Integrieren Sie Ihren Build regelmäßig.




                                          28
CONTINUOUS
INTEGRATION
 ‣ Build wird in regelmäßigen Abständen oder nach jedem
   Check-In angestoßen.

 ‣ Dabei wird immer ein vollständiger Build erzeugt und
   alle Tests ausgeführt.

 ‣ Fehler werden dadurch sofort entdeckt und nicht
   verschleppt.

 ‣ Verhindert das Auftreten des „Broken Window“
   Phänomens.

                                                          29
#10
Liefern Sie so oft wie nur möglich
fertige Software aus.



                                     30
CONTINUOUS
DELIVERY
 ‣ Stoppen Sie nicht nach dem erfolgreichen Kompilieren
   und Durchführen der automatisierten Tests.

 ‣ Bauen Sie eine Deployment-Pipline auf und Integrieren
   Sie auch andere Teams außerhalb der Entwicklung.

 ‣ Wenn es weh tut, tun Sie es noch öfter.

 ‣ Bis Sie das „One-Click-Deployment“ erreicht haben.




                                                        31
CODE.FLICKR.COM



                  32
THOUGHTWORKS




               33
#11
Verwenden Sie nicht für alles ein
elektronisches Tool.



                                    34
PAPPKARTEN




             35
MAGNETE




          36
TEIL 2:
MENSCHEN
UND
PROZESSE
#12
Kommunikation entscheidet in den
meisten Projekten über Erfolg und
Niederlage.

                                    38
KOMMUNIKATION
IST KING
 ‣ Verstehen die Entwickler, was der Kunde möchte?

 ‣ Versteht der Kunde, was der Entwickler liefern kann?

 ‣ Verstehen die Entwickler gegenseitig wirklich, wie die
   Schnittstellen aussehen?

 ‣ Verstehen die Entwickler, was die Qualitätssicherung
   braucht?

 ‣ Verstehen Sie, was ich damit sagen will?

                                                            39
„It was hard to have a
 conversation with
 anyone; there were
 so many people
 talking.“
                  Yogi Berra


                          40
#13
Sorgen Sie dafür, dass genug
Möglichkeiten zur Kommunikation
geschaffen werden.

                                  41
KOMMUNIKATIONS-
MITTEL
 ‣ Treffen von Angesicht zu Angesicht.

 ‣ Treffen von Angesicht zu Angesicht.

 ‣ Treffen von Angesicht zu Angesicht.

 ‣ Videokonferenzen & Telefonkonferenzen.

 ‣ E-Mails & Instant Messenger.

 ‣ Projekt-Blogs, Microblogging & Twitter.


                                             42
#14
Suchen Sie kreative Wege, um
persönliche Kommunikation
herzustellen.

                               43
44
KONSUM WÄCHST MIT
DEM TEAM.
                    45
#15
Gemeinsames Essen stärkt die
Teambildung.



                               46
GEMEINSAME
ERLEBNISSE
 ‣ Gemeinsame private Erlebnisse stärken das Teamgefühl
   und fördern die Zusammenarbeit.

 ‣ Das gilt nicht nur für gemeinsame Essen, jedoch ist der
   Effekt dabei besonders groß.

 ‣ Schaffen Sie Rituale.




                                                         47
#16
Verwenden Sie nicht den erprobtesten
Prozess.



                                       48
#16
Verwenden Sie nicht den besten
Prozess.



                                 48
#16
Verwenden Sie nicht den neusten
Prozess.



                                  48
#16
Verwenden Sie nicht den coolsten
Prozess.



                                   48
#16
Verwenden Sie nur den Prozess, der bei
Ihnen funktioniert.



                                     48
PROZESSMODELLE
 ‣ Wasserfall-Modell

  ‣ Hat in meinen Projekten noch nie funktioniert.

  ‣ Wir bauen Software, keine Häuser.

 ‣ Agile Prozesse

  ‣ Versprechen deutlich höhere Erfolgschancen.

  ‣ Bitte nicht sklavisch einhalten.


                                                     49
#17
„Es gibt immer mehr als nur einen
Prozess.“
                            Jutta Eckstein


                                        50
DREI PROZESSE
EINES PROJEKTS
 ‣ Der offizielle Prozess, entspricht so gut wie nie der
   Realität.

 ‣ Der wahrgenommene Prozess, ist meist Kombination
   aus Wunschdenken und Fehlinterpretation.

 ‣ Der tatsächliche Prozess.


         Machen Sie den Prozess, der dafür
        sorgt, dass Sie zu Lösungen kommen
                       explizit.
                                                           51
„If you don't know
 where you're going,
 you'll wind up
 somewhere else. “
                  Yogi Berra


                          52
#18
Sitzen Sie nicht dem Irrtum auf, dass
„agil“ mit „ungeplant“ gleichzusetzen
ist.

                                        53
AGILE
PROJEKTPLANUNG
 ‣ „Planning is guessing.“ ist keine Ausrede, um nicht
   planen zu müssen.

 ‣ Planen Sie, aber implementieren Sie mehr, als Sie
   planen.

 ‣ Passen Sie Ihre Planung an, wenn sich
   Rahmenbedingungen der ursprünglichen Planung
   ändern.



                                                         54
#19
Machen Sie Planungen und
Aufwandsschätzungen im Team.



                               55
PLANNING POKER
                 56
„Congratulations.
 I knew the record
 would stand until it
 was broken.“
                    Yogi Berra


                            57
#20
Spielerisch geht alles leichter.




                                   58
GAMIFICATION
 ‣ Nutzen Sie das „Continuous Integration Game“ für
   Jenkins.

 ‣ MS Visual Studio bietet ein Plugin, das den Entwicklern
   Badges verleiht.

 ‣ Vergeben Sie Punkte für gefixte Bugs und eingehaltene
   Standards.

 ‣ Entwickler können verschiedene Level erreichen.


                                                         59
VERGEBEN SIE
BADGES



               60
„The future ain‘t what
 it used to be.“
                  Yogi Berra


                          61
#21
Nur Teams, die sich an Veränderungen
anpassen, sind erfolgreich.



                                       62
DIE WELT IST IM
WANDEL
  ‣ Anforderungen werden sich immer ändern.

  ‣ Technologien und Methodiken auch.

  ‣ Nehmen Sie Änderungen freudig an.

  ‣ Agile Methoden stellen Ihnen dafür Werkzeuge zur
    Verfügung.




                                                       63
#22
Hinterfragen Sie regelmäßig den
Status Quo.



                                  64
WANDEL
HERBEIFÜHREN
 ‣ Wenn sich sowieso alles ändert, dann sollten Sie die
   Änderungen möglichst früh feststellen.

 ‣ Oder besser noch: Stoßen Sie die Änderungen an.

 ‣ Die Geschichte „Who moved my cheese?“ von Spencer
   Johnson hilft Ihnen dabei.




                                                          65
„Nobody goes there
 anymore.
 It‘s too crowded.“
                  Yogi Berra


                          66
#23
Verhindern Sie eine „Kultur der Angst“
in Ihrem Team.



                                         67
„Was wären wir sündigen Kreaturen
 dann ohne die Angst, diese
 vielleicht wohltätigste und
 gnädigste Gabe Gottes?“
                   Umberto Eco, "Der Name der Rose"

                                                68
SIE LEBEN IN EINER KULTUR
DER ANGST, WENN...
        ‣ …es gefährlich ist, bestimmte Dinge auszusprechen.

        ‣ …Zielvorgaben so aggressiv sind, dass diese unmöglich
          erreicht werden können.

        ‣ …Macht über gesunden Menschen-verstand
          triumphieren darf.

        ‣ …die Leute, die gehen müssen, sind im Durchschnitt
          kompetenter als die, die bleiben.


Aus „Spielräume“ von Tom DeMarco                                  69
„I never said most of
 the things I said.“
                   Yogi Berra


                           70
71
DAS WAR EINE
PRÄSENTATION VON
                   72
STEPHAN
SCHMIDT
‣ Software-Entwickler

‣ Pädagoge

‣ Head of Web Sales
  Development bei
  1&1 Internet AG
„If you ask me
 anything I don't know,
 I'm not going to
 answer.“
                  Yogi Berra


                          74
VIELEN
DANK.
‣ stephan.schmidt@1und1.de

‣ http://blog.schst.net

‣ @schst

Contenu connexe

Tendances

DevOps - Programmierst Du noch oder betreibst Du schon?
DevOps - Programmierst Du noch oder betreibst Du schon?DevOps - Programmierst Du noch oder betreibst Du schon?
DevOps - Programmierst Du noch oder betreibst Du schon?Jean-Pierre König
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererTobias Schlüter
 
Shades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in Hamburg
Shades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in HamburgShades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in Hamburg
Shades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in HamburgStefan ROOCK
 
Technologiemanagement Agile Transformationen
Technologiemanagement Agile TransformationenTechnologiemanagement Agile Transformationen
Technologiemanagement Agile TransformationenBjörn Schotte
 
Agilität im starren Umfeld
Agilität im starren UmfeldAgilität im starren Umfeld
Agilität im starren Umfeldoose
 
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mayflower GmbH
 
Agile Zukunft, zukünftige Agilität
Agile Zukunft, zukünftige AgilitätAgile Zukunft, zukünftige Agilität
Agile Zukunft, zukünftige AgilitätHenning Wolf
 
GPM Vortrag: Modernes Management von Softwareprojekten
GPM Vortrag: Modernes Management von SoftwareprojektenGPM Vortrag: Modernes Management von Softwareprojekten
GPM Vortrag: Modernes Management von SoftwareprojektenFrank Düsterbeck
 
2012-07 Lean Startup at #bcka by Calpano
2012-07 Lean Startup at #bcka by Calpano2012-07 Lean Startup at #bcka by Calpano
2012-07 Lean Startup at #bcka by CalpanoMax Völkel
 
Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...
Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...
Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...Stefan ROOCK
 
Scrum und Lean-Startup
Scrum und Lean-StartupScrum und Lean-Startup
Scrum und Lean-StartupStefan ROOCK
 
Scrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von ScrumScrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von ScrumRobert Wiechmann
 
Scrum Workshop
Scrum WorkshopScrum Workshop
Scrum Workshopmrdoubleb
 
Einfangen eines technisch kaputten projektes
Einfangen eines technisch kaputten projektesEinfangen eines technisch kaputten projektes
Einfangen eines technisch kaputten projektesJohann-Peter Hartmann
 
Was Manager über agile Entwicklungspraktiken wissen müssen
Was Manager über agile Entwicklungspraktiken wissen müssenWas Manager über agile Entwicklungspraktiken wissen müssen
Was Manager über agile Entwicklungspraktiken wissen müssenSven Günther
 
Testen mit, durch und in Scrum
Testen mit, durch und in ScrumTesten mit, durch und in Scrum
Testen mit, durch und in ScrumFrank Düsterbeck
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 

Tendances (19)

Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 
DevOps - Programmierst Du noch oder betreibst Du schon?
DevOps - Programmierst Du noch oder betreibst Du schon?DevOps - Programmierst Du noch oder betreibst Du schon?
DevOps - Programmierst Du noch oder betreibst Du schon?
 
Scrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für ProgrammiererScrum als agiles Vorgehensmodell für Programmierer
Scrum als agiles Vorgehensmodell für Programmierer
 
Shades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in Hamburg
Shades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in HamburgShades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in Hamburg
Shades of Scrum (Urs Reupke, Stefan Roock), SEACON 2015 in Hamburg
 
Technologiemanagement Agile Transformationen
Technologiemanagement Agile TransformationenTechnologiemanagement Agile Transformationen
Technologiemanagement Agile Transformationen
 
Agilität im starren Umfeld
Agilität im starren UmfeldAgilität im starren Umfeld
Agilität im starren Umfeld
 
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
Php und das lean startup
Php und das lean startupPhp und das lean startup
Php und das lean startup
 
Agile Zukunft, zukünftige Agilität
Agile Zukunft, zukünftige AgilitätAgile Zukunft, zukünftige Agilität
Agile Zukunft, zukünftige Agilität
 
GPM Vortrag: Modernes Management von Softwareprojekten
GPM Vortrag: Modernes Management von SoftwareprojektenGPM Vortrag: Modernes Management von Softwareprojekten
GPM Vortrag: Modernes Management von Softwareprojekten
 
2012-07 Lean Startup at #bcka by Calpano
2012-07 Lean Startup at #bcka by Calpano2012-07 Lean Startup at #bcka by Calpano
2012-07 Lean Startup at #bcka by Calpano
 
Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...
Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...
Experimente zur Team- und Organisationsentwicklung (CeBit, Heise Developer Wo...
 
Scrum und Lean-Startup
Scrum und Lean-StartupScrum und Lean-Startup
Scrum und Lean-Startup
 
Scrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von ScrumScrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
Scrum in der Praxis - Ein Blick hinter die Kulissen von Scrum
 
Scrum Workshop
Scrum WorkshopScrum Workshop
Scrum Workshop
 
Einfangen eines technisch kaputten projektes
Einfangen eines technisch kaputten projektesEinfangen eines technisch kaputten projektes
Einfangen eines technisch kaputten projektes
 
Was Manager über agile Entwicklungspraktiken wissen müssen
Was Manager über agile Entwicklungspraktiken wissen müssenWas Manager über agile Entwicklungspraktiken wissen müssen
Was Manager über agile Entwicklungspraktiken wissen müssen
 
Testen mit, durch und in Scrum
Testen mit, durch und in ScrumTesten mit, durch und in Scrum
Testen mit, durch und in Scrum
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 

En vedette

Mobile E Mail Marketing
Mobile E Mail MarketingMobile E Mail Marketing
Mobile E Mail MarketingNico Zorn
 
Otrapresentacion
OtrapresentacionOtrapresentacion
Otrapresentacionguest3ed686
 
EU-Osterweiterung
EU-Osterweiterung EU-Osterweiterung
EU-Osterweiterung Philippxx
 
Befreite Barrierefreiheit - A-Tag Wien 2008
Befreite Barrierefreiheit - A-Tag Wien 2008Befreite Barrierefreiheit - A-Tag Wien 2008
Befreite Barrierefreiheit - A-Tag Wien 2008Christian Heilmann
 
Folien aktionswoche fsg
Folien aktionswoche fsgFolien aktionswoche fsg
Folien aktionswoche fsgWerner Drizhal
 
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazJahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazBernhard Weber
 
Eki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webEki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webWerner Drizhal
 
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...Bertram Gugel
 
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizenInfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizenBernhard Wyss
 
4.5 Website
4.5 Website4.5 Website
4.5 Websitejszpaich
 
Kleiner Leitfaden f. soz. Netzwerke
Kleiner Leitfaden f. soz. NetzwerkeKleiner Leitfaden f. soz. Netzwerke
Kleiner Leitfaden f. soz. NetzwerkeWerner Drizhal
 

En vedette (20)

Mobile E Mail Marketing
Mobile E Mail MarketingMobile E Mail Marketing
Mobile E Mail Marketing
 
Otrapresentacion
OtrapresentacionOtrapresentacion
Otrapresentacion
 
Descartes
DescartesDescartes
Descartes
 
EU-Osterweiterung
EU-Osterweiterung EU-Osterweiterung
EU-Osterweiterung
 
Befreite Barrierefreiheit - A-Tag Wien 2008
Befreite Barrierefreiheit - A-Tag Wien 2008Befreite Barrierefreiheit - A-Tag Wien 2008
Befreite Barrierefreiheit - A-Tag Wien 2008
 
Antimobbing
AntimobbingAntimobbing
Antimobbing
 
Ebr basics 01 2012
Ebr basics 01 2012Ebr basics 01 2012
Ebr basics 01 2012
 
Bv
BvBv
Bv
 
Folien aktionswoche fsg
Folien aktionswoche fsgFolien aktionswoche fsg
Folien aktionswoche fsg
 
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park GrazJahresbericht Geschäftsjahr 2014/15 Science Park Graz
Jahresbericht Geschäftsjahr 2014/15 Science Park Graz
 
DRAWINGS-6-10
DRAWINGS-6-10DRAWINGS-6-10
DRAWINGS-6-10
 
Didaktischer Mehrwert
Didaktischer MehrwertDidaktischer Mehrwert
Didaktischer Mehrwert
 
DRAWINGS-1-5
DRAWINGS-1-5DRAWINGS-1-5
DRAWINGS-1-5
 
Eki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_webEki glossar fnanzkrise_a4_4c_ped_web
Eki glossar fnanzkrise_a4_4c_ped_web
 
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
 
GMDSS
GMDSSGMDSS
GMDSS
 
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizenInfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
InfoNet Day 2015: Session Business Booster Search - SharePoint Search ausreizen
 
4.5 Website
4.5 Website4.5 Website
4.5 Website
 
Betriebsübergang
BetriebsübergangBetriebsübergang
Betriebsübergang
 
Kleiner Leitfaden f. soz. Netzwerke
Kleiner Leitfaden f. soz. NetzwerkeKleiner Leitfaden f. soz. Netzwerke
Kleiner Leitfaden f. soz. Netzwerke
 

Similaire à 23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten

23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen solltenStephan Schmidt
 
Agile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteilt
Agile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteiltAgile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteilt
Agile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteiltAllFacebook.de
 
HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?Stefan Adolf
 
Coding Dojo .NET User Group Leipzig
Coding Dojo .NET User Group LeipzigCoding Dojo .NET User Group Leipzig
Coding Dojo .NET User Group LeipzigGregor Woiwode
 
Lean Development = Überdrehter Motor in der Entwicklung?
Lean Development = Überdrehter Motor in der Entwicklung?Lean Development = Überdrehter Motor in der Entwicklung?
Lean Development = Überdrehter Motor in der Entwicklung?Matthias Bohlen
 
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesDas funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesChristian Güdemann
 
Datenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software AnalyticsDatenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software AnalyticsMarkus Harrer
 
Lego Workshop Scrum Einführung
Lego Workshop Scrum EinführungLego Workshop Scrum Einführung
Lego Workshop Scrum EinführungTorsten Irländer
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerPatrick Baumgartner
 
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungDas Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungOPITZ CONSULTING Deutschland
 
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...Boris Gloger
 
Agil in der Normativen Welt
Agil in der Normativen WeltAgil in der Normativen Welt
Agil in der Normativen WeltThomas Arends
 
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...eparo GmbH
 
Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung Thomas Arends
 
Meddlers DenkanStoos 2013
Meddlers DenkanStoos 2013Meddlers DenkanStoos 2013
Meddlers DenkanStoos 2013Nils Hofmeister
 
Typische Lügen im Projektmanagement | Ralf C. Adam
Typische Lügen im Projektmanagement | Ralf C. AdamTypische Lügen im Projektmanagement | Ralf C. Adam
Typische Lügen im Projektmanagement | Ralf C. AdamRalf C. Adam
 

Similaire à 23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten (20)

23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
23 Dinge, die Sie über Software Entwicklung in Teams wissen sollten
 
Agile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteilt
Agile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteiltAgile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteilt
Agile Softwareentwicklung ohne Agiles Denken ist zum Scheitern verurteilt
 
HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?
 
Coding Dojo .NET User Group Leipzig
Coding Dojo .NET User Group LeipzigCoding Dojo .NET User Group Leipzig
Coding Dojo .NET User Group Leipzig
 
Lean Development = Überdrehter Motor in der Entwicklung?
Lean Development = Überdrehter Motor in der Entwicklung?Lean Development = Überdrehter Motor in der Entwicklung?
Lean Development = Überdrehter Motor in der Entwicklung?
 
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesDas funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPages
 
Datenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software AnalyticsDatenanalysen in der Softwareentwicklung mit Software Analytics
Datenanalysen in der Softwareentwicklung mit Software Analytics
 
Das Pfadfinderprinzip in DevOps
Das Pfadfinderprinzip in DevOpsDas Pfadfinderprinzip in DevOps
Das Pfadfinderprinzip in DevOps
 
Lego Workshop Scrum Einführung
Lego Workshop Scrum EinführungLego Workshop Scrum Einführung
Lego Workshop Scrum Einführung
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
PHP mit Paul Bocuse
PHP mit Paul BocusePHP mit Paul Bocuse
PHP mit Paul Bocuse
 
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-UmgebungDas Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
Das Ganze ist mehr als seine Teile: Die moderne Continuous-Delivery-Umgebung
 
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...Happy projects 2016   selbstorganisation in agilen projekten - 2016 - boris g...
Happy projects 2016 selbstorganisation in agilen projekten - 2016 - boris g...
 
Agil in der Normativen Welt
Agil in der Normativen WeltAgil in der Normativen Welt
Agil in der Normativen Welt
 
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
eparo – IA und agile Softwareentwicklung verbinden (Vortrag IA-Konferenz 2009...
 
Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung Ketzerischer Vortrag zur Agilen Entwicklung
Ketzerischer Vortrag zur Agilen Entwicklung
 
Meddlers DenkanStoos 2013
Meddlers DenkanStoos 2013Meddlers DenkanStoos 2013
Meddlers DenkanStoos 2013
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
Typische Lügen im Projektmanagement | Ralf C. Adam
Typische Lügen im Projektmanagement | Ralf C. AdamTypische Lügen im Projektmanagement | Ralf C. Adam
Typische Lügen im Projektmanagement | Ralf C. Adam
 

Plus de Stephan Schmidt

Das Web Wird Mobil - Geolocation und Location Based Services
Das Web Wird Mobil - Geolocation und Location Based ServicesDas Web Wird Mobil - Geolocation und Location Based Services
Das Web Wird Mobil - Geolocation und Location Based ServicesStephan Schmidt
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit JenkinsStephan Schmidt
 
Die Kunst des Software Design - Java
Die Kunst des Software Design - JavaDie Kunst des Software Design - Java
Die Kunst des Software Design - JavaStephan Schmidt
 
Der Erfolgreiche Programmierer
Der Erfolgreiche ProgrammiererDer Erfolgreiche Programmierer
Der Erfolgreiche ProgrammiererStephan Schmidt
 
Die Kunst Des Software Design
Die Kunst Des Software DesignDie Kunst Des Software Design
Die Kunst Des Software DesignStephan Schmidt
 
JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5Stephan Schmidt
 
Declarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHPDeclarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHPStephan Schmidt
 
XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARStephan Schmidt
 
The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation ExtravaganzaStephan Schmidt
 
Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Stephan Schmidt
 
Component and Event-Driven Architectures in PHP
Component and Event-Driven Architectures in PHPComponent and Event-Driven Architectures in PHP
Component and Event-Driven Architectures in PHPStephan Schmidt
 
Session Server - Maintaing State between several Servers
Session Server - Maintaing State between several ServersSession Server - Maintaing State between several Servers
Session Server - Maintaing State between several ServersStephan Schmidt
 
XML Transformations With PHP
XML Transformations With PHPXML Transformations With PHP
XML Transformations With PHPStephan Schmidt
 
Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4Stephan Schmidt
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashStephan Schmidt
 
Interprozesskommunikation mit PHP
Interprozesskommunikation mit PHPInterprozesskommunikation mit PHP
Interprozesskommunikation mit PHPStephan Schmidt
 
Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XMLStephan Schmidt
 
Web 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface LibraryWeb 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface LibraryStephan Schmidt
 

Plus de Stephan Schmidt (20)

Das Web Wird Mobil - Geolocation und Location Based Services
Das Web Wird Mobil - Geolocation und Location Based ServicesDas Web Wird Mobil - Geolocation und Location Based Services
Das Web Wird Mobil - Geolocation und Location Based Services
 
Continuous Integration mit Jenkins
Continuous Integration mit JenkinsContinuous Integration mit Jenkins
Continuous Integration mit Jenkins
 
Die Kunst des Software Design - Java
Die Kunst des Software Design - JavaDie Kunst des Software Design - Java
Die Kunst des Software Design - Java
 
Der Erfolgreiche Programmierer
Der Erfolgreiche ProgrammiererDer Erfolgreiche Programmierer
Der Erfolgreiche Programmierer
 
Die Kunst Des Software Design
Die Kunst Des Software DesignDie Kunst Des Software Design
Die Kunst Des Software Design
 
JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5JSON-RPC Proxy Generation with PHP 5
JSON-RPC Proxy Generation with PHP 5
 
Declarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHPDeclarative Development Using Annotations In PHP
Declarative Development Using Annotations In PHP
 
XML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEARXML and Web Services with PHP5 and PEAR
XML and Web Services with PHP5 and PEAR
 
The Big Documentation Extravaganza
The Big Documentation ExtravaganzaThe Big Documentation Extravaganza
The Big Documentation Extravaganza
 
Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5
 
Component and Event-Driven Architectures in PHP
Component and Event-Driven Architectures in PHPComponent and Event-Driven Architectures in PHP
Component and Event-Driven Architectures in PHP
 
Session Server - Maintaing State between several Servers
Session Server - Maintaing State between several ServersSession Server - Maintaing State between several Servers
Session Server - Maintaing State between several Servers
 
XML Transformations With PHP
XML Transformations With PHPXML Transformations With PHP
XML Transformations With PHP
 
PEAR For The Masses
PEAR For The MassesPEAR For The Masses
PEAR For The Masses
 
Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4Inroduction to XSLT with PHP4
Inroduction to XSLT with PHP4
 
XML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit FlashXML-Socket-Server zur Kommunikation mit Flash
XML-Socket-Server zur Kommunikation mit Flash
 
Interprozesskommunikation mit PHP
Interprozesskommunikation mit PHPInterprozesskommunikation mit PHP
Interprozesskommunikation mit PHP
 
PHP im High End
PHP im High EndPHP im High End
PHP im High End
 
Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XML
 
Web 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface LibraryWeb 2.0 Mit Der Yahoo User Interface Library
Web 2.0 Mit Der Yahoo User Interface Library
 

23 Dinge, die Sie über Software-Entwicklung in Teams wissen sollten

  • 1. Stephan Schmidt Head of Web Sales Development @ 1&1 Internet AG 17.04.2012 23 DINGE, die Sie über Software-Entwicklung in Teams wissen sollten. 1
  • 2. Stephan Schmidt Head of Web Sales Development @ 1&1 Internet AG 17.04.2012 23 NICHT UNBEDINGT TOTAL NEUE DINGE, die Sie über Software-Entwicklung in Teams wissen sollten. 2
  • 3. DALE ,YOGI‘ BERRA ‣ Spielte von 1946 bis 1964 professionellen Baseball in der Major League. ‣ Erst Spieler, dann Trainer. ‣ Bekannt für seine Yogiisms.
  • 4. „Baseball is ninety percent mental. The other half is physical.“ Yogi Berra 4
  • 6. „In theory there is no difference between theory and practice. In practice there is.“ Yogi Berra 6
  • 7. THEORIE VS PRAXIS ‣ Die Präsentation beruht auf meiner Erfahrung. ‣ Die Regeln funktionierten und funktionieren in meinen Teams. ‣ Einige funktionieren in allen Teams, andere abgewandelt oder auch gar nicht. ‣ Versuchen Sie, das heute theoretisch vermittelte Wissen in Ihrer Praxis anzuwenden. 7
  • 9. #1 Etablieren Sie Collective Code Ownership. 9
  • 10. COLLECTIVE CODE OWNERSHIP ‣ Der gesamte Code gehört allen Entwicklern. ‣ Alle Entwickler sind dazu aufgefordert an allen Stellen Bugs zu fixen, Refactorings durchzuführen oder neue Ideen einzubringen. ‣ Vermeidet Flaschenhälse in ihrem Team und macht den Code besser. ‣ Sie profitieren von den Stärken aller Teammitglieder. 10
  • 11. #2 Setzen Sie ein Werkzeug zur Revisionskontrolle ein. 11
  • 12. REVISIONS- KONTROLLE ‣ Nur dadurch werden parallel Änderungen an einem Projekt möglich. ‣ Es ist egal, welches System Sie einsetzen, aber tun Sie's. ‣ CVS (wenn‘s denn sein muss) ‣ Subversion ‣ GIT oder Mercurial oder anderen hippen Scheiss. 12
  • 13. „You can't compare me to my father. Our similarities are different.“ Dale Berra 13
  • 15. STANDARDISIERUNG DER IDE ‣ Spart Zeit bei neuen Instanzen. ‣ Idealerweise installiert die EDV-Abteilung nur noch ein Image für Entwickler. ‣ In vielen Unternehmen schwer einzuführen, da das Thema religiöse Sprengkraft hat. ‣ Ist den Stress der Diskussion jedoch trotzdem wert. ‣ In unserem Team noch eine Stunde statt zwei Tagen. 15
  • 16. #4 Definieren Sie Coding Standards in Ihrem Team. 16
  • 17. CODING STANDARDS ‣ Spart Zeit, da sich jeder Entwickler im Code der anderen Entwickler zurecht findet. ‣ Hier gilt wieder: Es ist egal, welchen Standard Sie einsetzen, aber tun Sie's. ‣ Die SUN-Standards sind ein guter Ausgangspunkt. 17
  • 18. #5 Stellen Sie sicher, dass Ihre Standards eingehalten werden. 18
  • 19. STANDARDS EINHALTEN ‣ Nur ein angewandter Standard ist ein sinnvoller Standard. ‣ Sinnvoll: Integration in den Build-Prozess und die IDE. ‣ Umstritten: Integration in SVN Pre-Commit-Hooks oder Deployment. ‣ Schrittweise einführen. 19
  • 21. CODE REVIEWS ‣ Sind nicht einfach einzuführen, Entwickler sind sensible Geschöpfe. ‣ Sie schlagen zwei Fliegen mit einer Klappe: ‣ Ihr Code wird besser. ‣ Sie lernen voneinander. ‣ Ihr Team hält besser zusammen. 21
  • 22. #7 Sorgen Sie dafür, dass Ihr Build reproduzierbar ist. 22
  • 23. DER BUILD IST REPRODUZIERBAR ‣ Spart Ihnen Zeit (ja, schon wieder). ‣ Spart Ihnen Ärger. ‣ Bei jedem neuen Mitarbeiter müssen diese Schritte ausreichen: $ svn co http://example.com/svn/trunk project $ cd project $ mvn tomcat:run $ // oder ähnliches 23
  • 24. „We made too many wrong mistakes.“ Yogi Berra 24
  • 25. #8 Machen Sie nicht den Fehler, keine Tests zu schreiben. 25
  • 26. TESTEN SIE IHREN CODE ‣ Im Team wird der Code von verschiedenen Entwicklern erstellt oder modifiziert. ‣ Tests ermöglichen Entwicklern zu prüfen, ob die Änderung negative Auswirkungen hat. ‣ Tests nehmen dem Team die Angst, Änderungen durchzuführen. ‣ „Tests“ sind nicht manuelle Tests, also „Coden Sie Ihren Test und testen Sie Ihren Code“. 26
  • 27. „It's like déjà vu all over again.“ Yogi Berra 27
  • 28. #9 Integrieren Sie Ihren Build regelmäßig. 28
  • 29. CONTINUOUS INTEGRATION ‣ Build wird in regelmäßigen Abständen oder nach jedem Check-In angestoßen. ‣ Dabei wird immer ein vollständiger Build erzeugt und alle Tests ausgeführt. ‣ Fehler werden dadurch sofort entdeckt und nicht verschleppt. ‣ Verhindert das Auftreten des „Broken Window“ Phänomens. 29
  • 30. #10 Liefern Sie so oft wie nur möglich fertige Software aus. 30
  • 31. CONTINUOUS DELIVERY ‣ Stoppen Sie nicht nach dem erfolgreichen Kompilieren und Durchführen der automatisierten Tests. ‣ Bauen Sie eine Deployment-Pipline auf und Integrieren Sie auch andere Teams außerhalb der Entwicklung. ‣ Wenn es weh tut, tun Sie es noch öfter. ‣ Bis Sie das „One-Click-Deployment“ erreicht haben. 31
  • 34. #11 Verwenden Sie nicht für alles ein elektronisches Tool. 34
  • 36. MAGNETE 36
  • 38. #12 Kommunikation entscheidet in den meisten Projekten über Erfolg und Niederlage. 38
  • 39. KOMMUNIKATION IST KING ‣ Verstehen die Entwickler, was der Kunde möchte? ‣ Versteht der Kunde, was der Entwickler liefern kann? ‣ Verstehen die Entwickler gegenseitig wirklich, wie die Schnittstellen aussehen? ‣ Verstehen die Entwickler, was die Qualitätssicherung braucht? ‣ Verstehen Sie, was ich damit sagen will? 39
  • 40. „It was hard to have a conversation with anyone; there were so many people talking.“ Yogi Berra 40
  • 41. #13 Sorgen Sie dafür, dass genug Möglichkeiten zur Kommunikation geschaffen werden. 41
  • 42. KOMMUNIKATIONS- MITTEL ‣ Treffen von Angesicht zu Angesicht. ‣ Treffen von Angesicht zu Angesicht. ‣ Treffen von Angesicht zu Angesicht. ‣ Videokonferenzen & Telefonkonferenzen. ‣ E-Mails & Instant Messenger. ‣ Projekt-Blogs, Microblogging & Twitter. 42
  • 43. #14 Suchen Sie kreative Wege, um persönliche Kommunikation herzustellen. 43
  • 44. 44
  • 46. #15 Gemeinsames Essen stärkt die Teambildung. 46
  • 47. GEMEINSAME ERLEBNISSE ‣ Gemeinsame private Erlebnisse stärken das Teamgefühl und fördern die Zusammenarbeit. ‣ Das gilt nicht nur für gemeinsame Essen, jedoch ist der Effekt dabei besonders groß. ‣ Schaffen Sie Rituale. 47
  • 48. #16 Verwenden Sie nicht den erprobtesten Prozess. 48
  • 49. #16 Verwenden Sie nicht den besten Prozess. 48
  • 50. #16 Verwenden Sie nicht den neusten Prozess. 48
  • 51. #16 Verwenden Sie nicht den coolsten Prozess. 48
  • 52. #16 Verwenden Sie nur den Prozess, der bei Ihnen funktioniert. 48
  • 53. PROZESSMODELLE ‣ Wasserfall-Modell ‣ Hat in meinen Projekten noch nie funktioniert. ‣ Wir bauen Software, keine Häuser. ‣ Agile Prozesse ‣ Versprechen deutlich höhere Erfolgschancen. ‣ Bitte nicht sklavisch einhalten. 49
  • 54. #17 „Es gibt immer mehr als nur einen Prozess.“ Jutta Eckstein 50
  • 55. DREI PROZESSE EINES PROJEKTS ‣ Der offizielle Prozess, entspricht so gut wie nie der Realität. ‣ Der wahrgenommene Prozess, ist meist Kombination aus Wunschdenken und Fehlinterpretation. ‣ Der tatsächliche Prozess. Machen Sie den Prozess, der dafür sorgt, dass Sie zu Lösungen kommen explizit. 51
  • 56. „If you don't know where you're going, you'll wind up somewhere else. “ Yogi Berra 52
  • 57. #18 Sitzen Sie nicht dem Irrtum auf, dass „agil“ mit „ungeplant“ gleichzusetzen ist. 53
  • 58. AGILE PROJEKTPLANUNG ‣ „Planning is guessing.“ ist keine Ausrede, um nicht planen zu müssen. ‣ Planen Sie, aber implementieren Sie mehr, als Sie planen. ‣ Passen Sie Ihre Planung an, wenn sich Rahmenbedingungen der ursprünglichen Planung ändern. 54
  • 59. #19 Machen Sie Planungen und Aufwandsschätzungen im Team. 55
  • 61. „Congratulations. I knew the record would stand until it was broken.“ Yogi Berra 57
  • 63. GAMIFICATION ‣ Nutzen Sie das „Continuous Integration Game“ für Jenkins. ‣ MS Visual Studio bietet ein Plugin, das den Entwicklern Badges verleiht. ‣ Vergeben Sie Punkte für gefixte Bugs und eingehaltene Standards. ‣ Entwickler können verschiedene Level erreichen. 59
  • 65. „The future ain‘t what it used to be.“ Yogi Berra 61
  • 66. #21 Nur Teams, die sich an Veränderungen anpassen, sind erfolgreich. 62
  • 67. DIE WELT IST IM WANDEL ‣ Anforderungen werden sich immer ändern. ‣ Technologien und Methodiken auch. ‣ Nehmen Sie Änderungen freudig an. ‣ Agile Methoden stellen Ihnen dafür Werkzeuge zur Verfügung. 63
  • 68. #22 Hinterfragen Sie regelmäßig den Status Quo. 64
  • 69. WANDEL HERBEIFÜHREN ‣ Wenn sich sowieso alles ändert, dann sollten Sie die Änderungen möglichst früh feststellen. ‣ Oder besser noch: Stoßen Sie die Änderungen an. ‣ Die Geschichte „Who moved my cheese?“ von Spencer Johnson hilft Ihnen dabei. 65
  • 70. „Nobody goes there anymore. It‘s too crowded.“ Yogi Berra 66
  • 71. #23 Verhindern Sie eine „Kultur der Angst“ in Ihrem Team. 67
  • 72. „Was wären wir sündigen Kreaturen dann ohne die Angst, diese vielleicht wohltätigste und gnädigste Gabe Gottes?“ Umberto Eco, "Der Name der Rose" 68
  • 73. SIE LEBEN IN EINER KULTUR DER ANGST, WENN... ‣ …es gefährlich ist, bestimmte Dinge auszusprechen. ‣ …Zielvorgaben so aggressiv sind, dass diese unmöglich erreicht werden können. ‣ …Macht über gesunden Menschen-verstand triumphieren darf. ‣ …die Leute, die gehen müssen, sind im Durchschnitt kompetenter als die, die bleiben. Aus „Spielräume“ von Tom DeMarco 69
  • 74. „I never said most of the things I said.“ Yogi Berra 70
  • 75. 71
  • 77. STEPHAN SCHMIDT ‣ Software-Entwickler ‣ Pädagoge ‣ Head of Web Sales Development bei 1&1 Internet AG
  • 78. „If you ask me anything I don't know, I'm not going to answer.“ Yogi Berra 74