Stephan Schmidt                       Head of Web Sales Development @ 1&1 Internet AG                                     ...
Stephan Schmidt                       Head of Web Sales Development @ 1&1 Internet AG                                     ...
DALE,YOGI‘BERRA‣ Spielte von 1946 bis 1964  professionellen Baseball in  der Major League.‣ Erst Spieler, dann Trainer.‣ B...
„Baseball is ninety percent mental. The other half is physical.“                      Yogi Berra                          ...
YOGIBEAR       5
„In theory there is no difference between theory and practice. In practice there is.“                   Yogi Berra        ...
THEORIE VS PRAXIS ‣ Die Präsentation beruht auf meiner Erfahrung. ‣ Die Regeln funktionierten und funktionieren in meinen ...
TEIL 1:TOOLSUNDCODE          8
#1Etablieren Sie Collective CodeOwnership.                                 9
COLLECTIVE CODEOWNERSHIP ‣ Der gesamte Code gehört allen Entwicklern. ‣ Alle Entwickler sind dazu aufgefordert an allen St...
#2Setzen Sie ein Werkzeug zurRevisionskontrolle ein.                              11
REVISIONS-KONTROLLE ‣ Nur dadurch werden parallel Änderungen an einem   Projekt möglich. ‣ Es ist egal, welches System Sie...
„You cant compare me to my father. Our similarities are different.“                 Dale Berra                         13
#3Standardisieren Sie dieEntwicklungsumgebung Ihres Teams.                                    14
STANDARDISIERUNGDER IDE ‣ Spart Zeit bei neuen Instanzen. ‣ Idealerweise installiert die EDV-Abteilung nur noch ein   Imag...
#4Definieren Sie Coding Standards inIhrem Team.                                     16
CODINGSTANDARDS ‣ Spart Zeit, da sich jeder Entwickler im Code der   anderen Entwickler zurecht findet. ‣ Hier gilt wieder...
#5Stellen Sie sicher, dass Ihre Standardseingehalten werden.                                          18
STANDARDSEINHALTEN ‣ Nur ein angewandter Standard ist ein sinnvoller   Standard. ‣ Sinnvoll: Integration in den Build-Proz...
#6Führen SieCode-Reviews durch.                      20
CODE REVIEWS ‣ Sind nicht einfach einzuführen, Entwickler sind   sensible Geschöpfe. ‣ Sie schlagen zwei Fliegen mit einer...
#7Sorgen Sie dafür, dass Ihr Buildreproduzierbar ist.                                   22
DER BUILD ISTREPRODUZIERBAR ‣ Spart Ihnen Zeit (ja, schon wieder). ‣ Spart Ihnen Ärger. ‣ Bei jedem neuen Mitarbeiter müss...
„We made too many wrong mistakes.“               Yogi Berra                       24
#8Machen Sie nicht den Fehler, keineTests zu schreiben.                                     25
TESTEN SIE IHRENCODE ‣ Im Team wird der Code von verschiedenen Entwicklern   erstellt oder modifiziert. ‣ Tests ermögliche...
„Its like déjà vu all over again.“                     Yogi Berra                             27
#9Integrieren Sie Ihren Build regelmäßig.                                          28
CONTINUOUSINTEGRATION ‣ Build wird in regelmäßigen Abständen oder nach jedem   Check-In angestoßen. ‣ Dabei wird immer ein...
#10Liefern Sie so oft wie nur möglichfertige Software aus.                                     30
CONTINUOUSDELIVERY ‣ Stoppen Sie nicht nach dem erfolgreichen Kompilieren   und Durchführen der automatisierten Tests. ‣ B...
CODE.FLICKR.COM                  32
THOUGHTWORKS               33
#11Verwenden Sie nicht für alles einelektronisches Tool.                                    34
PAPPKARTEN             35
MAGNETE          36
TEIL 2:MENSCHENUNDPROZESSE
#12Kommunikation entscheidet in denmeisten Projekten über Erfolg undNiederlage.                                    38
KOMMUNIKATIONIST KING ‣ Verstehen die Entwickler, was der Kunde möchte? ‣ Versteht der Kunde, was der Entwickler liefern k...
„It was hard to have a conversation with anyone; there were so many people talking.“                  Yogi Berra          ...
#13Sorgen Sie dafür, dass genugMöglichkeiten zur Kommunikationgeschaffen werden.                                  41
KOMMUNIKATIONS-MITTEL ‣ Treffen von Angesicht zu Angesicht. ‣ Treffen von Angesicht zu Angesicht. ‣ Treffen von Angesicht ...
#14Suchen Sie kreative Wege, umpersönliche Kommunikationherzustellen.                               43
44
KONSUM WÄCHST MITDEM TEAM.                    45
#15Gemeinsames Essen stärkt dieTeambildung.                               46
GEMEINSAMEERLEBNISSE ‣ Gemeinsame private Erlebnisse stärken das Teamgefühl   und fördern die Zusammenarbeit. ‣ Das gilt n...
#16Verwenden Sie nicht den erprobtestenProzess.                                       48
#16Verwenden Sie nicht den bestenProzess.                                 48
#16Verwenden Sie nicht den neustenProzess.                                  48
#16Verwenden Sie nicht den coolstenProzess.                                   48
#16Verwenden Sie nur den Prozess, der beiIhnen funktioniert.                                     48
PROZESSMODELLE ‣ Wasserfall-Modell  ‣ Hat in meinen Projekten noch nie funktioniert.  ‣ Wir bauen Software, keine Häuser. ...
#17„Es gibt immer mehr als nur einenProzess.“                            Jutta Eckstein                                   ...
DREI PROZESSEEINES PROJEKTS ‣ Der offizielle Prozess, entspricht so gut wie nie der   Realität. ‣ Der wahrgenommene Prozes...
„If you dont know where youre going, youll wind up somewhere else. “                  Yogi Berra                          52
#18Sitzen Sie nicht dem Irrtum auf, dass„agil“ mit „ungeplant“ gleichzusetzenist.                                        53
AGILEPROJEKTPLANUNG ‣ „Planning is guessing.“ ist keine Ausrede, um nicht   planen zu müssen. ‣ Planen Sie, aber implement...
#19Machen Sie Planungen undAufwandsschätzungen im Team.                               55
PLANNING POKER                 56
„Congratulations. I knew the record would stand until it was broken.“                    Yogi Berra                       ...
#20Spielerisch geht alles leichter.                                   58
GAMIFICATION ‣ Nutzen Sie das „Continuous Integration Game“ für   Jenkins. ‣ MS Visual Studio bietet ein Plugin, das den E...
VERGEBEN SIEBADGES               60
„The future ain‘t what it used to be.“                  Yogi Berra                          61
#21Nur Teams, die sich an Veränderungenanpassen, sind erfolgreich.                                       62
DIE WELT IST IMWANDEL  ‣ Anforderungen werden sich immer ändern.  ‣ Technologien und Methodiken auch.  ‣ Nehmen Sie Änderu...
#22Hinterfragen Sie regelmäßig denStatus Quo.                                  64
WANDELHERBEIFÜHREN ‣ Wenn sich sowieso alles ändert, dann sollten Sie die   Änderungen möglichst früh feststellen. ‣ Oder ...
„Nobody goes there anymore. It‘s too crowded.“                  Yogi Berra                          66
#23Verhindern 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?“          ...
SIE LEBEN IN EINER KULTURDER ANGST, WENN...        ‣ …es gefährlich ist, bestimmte Dinge auszusprechen.        ‣ …Zielvorg...
„I never said most of the things I said.“                   Yogi Berra                           70
71
DAS WAR EINEPRÄSENTATION VON                   72
STEPHANSCHMIDT‣ Software-Entwickler‣ Pädagoge‣ Head of Web Sales  Development bei  1&1 Internet AG
„If you ask me anything I dont know, Im not going to answer.“                  Yogi Berra                          74
VIELENDANK.‣ stephan.schmidt@1und1.de‣ http://blog.schst.net‣ @schst
Nächste SlideShare
Wird geladen in …5
×

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

1.307 Aufrufe

Veröffentlicht am

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.307
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
5
Aktionen
Geteilt
0
Downloads
12
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

  1. 1. Stephan Schmidt Head of Web Sales Development @ 1&1 Internet AG 17.04.201223DINGE,die Sie über Software-Entwicklung in Teams wissen sollten. 1
  2. 2. Stephan Schmidt Head of Web Sales Development @ 1&1 Internet AG 17.04.201223 NICHT UNBEDINGT TOTAL NEUEDINGE,die Sie über Software-Entwicklung in Teams wissen sollten. 2
  3. 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. 4. „Baseball is ninety percent mental. The other half is physical.“ Yogi Berra 4
  5. 5. YOGIBEAR 5
  6. 6. „In theory there is no difference between theory and practice. In practice there is.“ Yogi Berra 6
  7. 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
  8. 8. TEIL 1:TOOLSUNDCODE 8
  9. 9. #1Etablieren Sie Collective CodeOwnership. 9
  10. 10. COLLECTIVE CODEOWNERSHIP ‣ 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. 11. #2Setzen Sie ein Werkzeug zurRevisionskontrolle ein. 11
  12. 12. REVISIONS-KONTROLLE ‣ Nur dadurch werden parallel Änderungen an einem Projekt möglich. ‣ Es ist egal, welches System Sie einsetzen, aber tun Sies. ‣ CVS (wenn‘s denn sein muss) ‣ Subversion ‣ GIT oder Mercurial oder anderen hippen Scheiss. 12
  13. 13. „You cant compare me to my father. Our similarities are different.“ Dale Berra 13
  14. 14. #3Standardisieren Sie dieEntwicklungsumgebung Ihres Teams. 14
  15. 15. STANDARDISIERUNGDER 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. 16. #4Definieren Sie Coding Standards inIhrem Team. 16
  17. 17. CODINGSTANDARDS ‣ 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 Sies. ‣ Die SUN-Standards sind ein guter Ausgangspunkt. 17
  18. 18. #5Stellen Sie sicher, dass Ihre Standardseingehalten werden. 18
  19. 19. STANDARDSEINHALTEN ‣ 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
  20. 20. #6Führen SieCode-Reviews durch. 20
  21. 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. 22. #7Sorgen Sie dafür, dass Ihr Buildreproduzierbar ist. 22
  23. 23. DER BUILD ISTREPRODUZIERBAR ‣ 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. 24. „We made too many wrong mistakes.“ Yogi Berra 24
  25. 25. #8Machen Sie nicht den Fehler, keineTests zu schreiben. 25
  26. 26. TESTEN SIE IHRENCODE ‣ 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. 27. „Its like déjà vu all over again.“ Yogi Berra 27
  28. 28. #9Integrieren Sie Ihren Build regelmäßig. 28
  29. 29. CONTINUOUSINTEGRATION ‣ 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. 30. #10Liefern Sie so oft wie nur möglichfertige Software aus. 30
  31. 31. CONTINUOUSDELIVERY ‣ 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
  32. 32. CODE.FLICKR.COM 32
  33. 33. THOUGHTWORKS 33
  34. 34. #11Verwenden Sie nicht für alles einelektronisches Tool. 34
  35. 35. PAPPKARTEN 35
  36. 36. MAGNETE 36
  37. 37. TEIL 2:MENSCHENUNDPROZESSE
  38. 38. #12Kommunikation entscheidet in denmeisten Projekten über Erfolg undNiederlage. 38
  39. 39. KOMMUNIKATIONIST 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. 40. „It was hard to have a conversation with anyone; there were so many people talking.“ Yogi Berra 40
  41. 41. #13Sorgen Sie dafür, dass genugMöglichkeiten zur Kommunikationgeschaffen werden. 41
  42. 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. 43. #14Suchen Sie kreative Wege, umpersönliche Kommunikationherzustellen. 43
  44. 44. 44
  45. 45. KONSUM WÄCHST MITDEM TEAM. 45
  46. 46. #15Gemeinsames Essen stärkt dieTeambildung. 46
  47. 47. GEMEINSAMEERLEBNISSE ‣ 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. 48. #16Verwenden Sie nicht den erprobtestenProzess. 48
  49. 49. #16Verwenden Sie nicht den bestenProzess. 48
  50. 50. #16Verwenden Sie nicht den neustenProzess. 48
  51. 51. #16Verwenden Sie nicht den coolstenProzess. 48
  52. 52. #16Verwenden Sie nur den Prozess, der beiIhnen funktioniert. 48
  53. 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. 54. #17„Es gibt immer mehr als nur einenProzess.“ Jutta Eckstein 50
  55. 55. DREI PROZESSEEINES 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. 56. „If you dont know where youre going, youll wind up somewhere else. “ Yogi Berra 52
  57. 57. #18Sitzen Sie nicht dem Irrtum auf, dass„agil“ mit „ungeplant“ gleichzusetzenist. 53
  58. 58. AGILEPROJEKTPLANUNG ‣ „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. 59. #19Machen Sie Planungen undAufwandsschätzungen im Team. 55
  60. 60. PLANNING POKER 56
  61. 61. „Congratulations. I knew the record would stand until it was broken.“ Yogi Berra 57
  62. 62. #20Spielerisch geht alles leichter. 58
  63. 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
  64. 64. VERGEBEN SIEBADGES 60
  65. 65. „The future ain‘t what it used to be.“ Yogi Berra 61
  66. 66. #21Nur Teams, die sich an Veränderungenanpassen, sind erfolgreich. 62
  67. 67. DIE WELT IST IMWANDEL ‣ 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. 68. #22Hinterfragen Sie regelmäßig denStatus Quo. 64
  69. 69. WANDELHERBEIFÜ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. 70. „Nobody goes there anymore. It‘s too crowded.“ Yogi Berra 66
  71. 71. #23Verhindern Sie eine „Kultur der Angst“in Ihrem Team. 67
  72. 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. 73. SIE LEBEN IN EINER KULTURDER 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. 74. „I never said most of the things I said.“ Yogi Berra 70
  75. 75. 71
  76. 76. DAS WAR EINEPRÄSENTATION VON 72
  77. 77. STEPHANSCHMIDT‣ Software-Entwickler‣ Pädagoge‣ Head of Web Sales Development bei 1&1 Internet AG
  78. 78. „If you ask me anything I dont know, Im not going to answer.“ Yogi Berra 74
  79. 79. VIELENDANK.‣ stephan.schmidt@1und1.de‣ http://blog.schst.net‣ @schst

×