WEBVTT

NOTE
Podcast: CRE: Technik, Kultur, Gesellschaft
Episode: CRE028 Extreme Programming
Publishing Date: 2006-05-09T08:00:00+02:00
Podcast URL: https://cre.fm
Episode URL: https://cre.fm/cre028-extreme-programming

00:00:50.356 --> 00:00:58.156
<v Tim Pritlove>Hallo, hier ist Chaos Radio Express, Ausgabe Nummer 28 in schneller Folge in

00:00:58.156 --> 00:01:01.296
<v Tim Pritlove>den letzten Tagen, ausgelöst durch meine Präsenz am Linux-Tag.

00:01:01.976 --> 00:01:05.916
<v Tim Pritlove>Da haben sich viele interessante Themen ergeben, aber die Liste ist noch lang

00:01:05.916 --> 00:01:14.796
<v Tim Pritlove>und heute wartet schon das nächste Thema auf uns und es lautet Extreme Programming,

00:01:15.316 --> 00:01:20.816
<v Tim Pritlove>eine Methode Software zu schreiben und dazu habe ich den Pavel wieder bei mir,

00:01:21.096 --> 00:01:24.916
<v Tim Pritlove>der uns ein bisschen Einblick in diese Technologie geben wird.

00:01:25.456 --> 00:01:28.516
<v Tim Pritlove>Und mein Name ist, wie gehabt, Tim Brickler.

00:02:18.876 --> 00:02:20.636
<v Tim Pritlove>Ja, hier sind wir wieder.

00:02:22.276 --> 00:02:23.936
<v Tim Pritlove>Ich begrüße Pawel. Pawel.

00:02:23.996 --> 00:02:24.716
<v Pavel Mayer>Hallo Tim.

00:02:25.096 --> 00:02:31.596
<v Tim Pritlove>Hallo Pawel. Ja, Extreme Programming soll das Thema sein heute, dieser Sendung.

00:02:32.256 --> 00:02:34.336
<v Tim Pritlove>Ein Begriff, der schon eine Weile.

00:02:34.676 --> 00:02:41.336
<v Pavel Mayer>Seit 99 eigentlich hat das so begonnen, breite Wellen zu schlagen.

00:02:42.196 --> 00:02:50.036
<v Pavel Mayer>Da hat Kent Beck seine drei Bücher veröffentlicht, Extreme Programming und Extreme

00:02:50.036 --> 00:02:51.996
<v Pavel Mayer>Programming Explained. A.

00:02:52.256 --> 00:02:54.996
<v Tim Pritlove>Das waren also die Standardwerke zu dem Thema?

00:02:55.096 --> 00:02:58.936
<v Pavel Mayer>B. Ja, aber vielleicht fangen wir mal vorne an.

00:02:59.156 --> 00:03:04.736
<v Pavel Mayer>Also Extreme Programming klingt, wenn man das Wort hört, erstmal so,

00:03:04.936 --> 00:03:12.176
<v Pavel Mayer>als würden irgendwelche Nerds 48 Stunden lang vorm Rechner sitzen und so lange

00:03:12.176 --> 00:03:14.096
<v Pavel Mayer>programmieren, bis sie umfallen.

00:03:14.096 --> 00:03:22.716
<v Pavel Mayer>Das Interessante ist aber, das ist eine sehr geschickte Wahl dieses Begriffs,

00:03:22.876 --> 00:03:27.996
<v Pavel Mayer>weil tatsächlich ist Extreme Programming genau das Gegenteil davon.

00:03:29.376 --> 00:03:36.456
<v Pavel Mayer>So Extreme Programming ist so der Einzug von Wahrheit und Vernunft in die Softwareentwicklung.

00:03:36.656 --> 00:03:40.776
<v Tim Pritlove>Du meinst vorher war das alles unvernünftig und alle haben sich einen in die

00:03:40.776 --> 00:03:43.056
<v Tim Pritlove>Tasche gelogen. Ja, definitiv.

00:03:43.596 --> 00:03:48.756
<v Pavel Mayer>Ich meine, das ist überhaupt eines der größten Probleme bei der Softwareentwicklung,

00:03:48.896 --> 00:03:53.216
<v Pavel Mayer>so die fehlende Ehrlichkeit, so die Ehrlichkeit zu sich selbst,

00:03:53.396 --> 00:04:00.036
<v Pavel Mayer>die Ehrlichkeit gegenüber dem Kunden und die Ehrlichkeit gegenüber dem eigenen Management.

00:04:00.036 --> 00:04:11.916
<v Pavel Mayer>Und da versucht Xtreme Programming einfach ein paar Pfeiler einzuschlagen, die dafür sorgen,

00:04:12.956 --> 00:04:18.796
<v Pavel Mayer>dass es eben mit Vernunft zugeht und dass es nachhaltig zugeht.

00:04:20.343 --> 00:04:24.163
<v Pavel Mayer>Extrem ist an extrem programming ist,

00:04:24.423 --> 00:04:30.723
<v Pavel Mayer>dass man die guten Dinge oder die Dinge, die man als gut und richtig erkannt

00:04:30.723 --> 00:04:35.563
<v Pavel Mayer>hat, mit aller Konsequenz versucht durchzusetzen.

00:04:35.563 --> 00:04:39.483
<v Tim Pritlove>Also eine Diszipliniertheit im Prinzip. Also man muss dazu sagen,

00:04:39.903 --> 00:04:43.903
<v Tim Pritlove>Extreme Programming bezeichnet also eine Vorgehensweise, eine Art und Weise,

00:04:44.203 --> 00:04:46.863
<v Tim Pritlove>wie man an Softwareentwicklung als solche herangeht.

00:04:46.963 --> 00:04:50.983
<v Tim Pritlove>Es ist jetzt nicht eine spezielle Technik, es hat nichts mit Programmiersprachen

00:04:50.983 --> 00:04:52.083
<v Tim Pritlove>im eigentlichen Sinne zu tun,

00:04:52.183 --> 00:04:55.203
<v Tim Pritlove>sondern es lässt sich im Prinzip auf jeden Entwicklungsprozess anwenden.

00:04:56.263 --> 00:05:01.083
<v Tim Pritlove>Egal, ob man jetzt in Perl oder C oder was auch immer entwickelt, eine Methodik.

00:05:01.083 --> 00:05:08.003
<v Pavel Mayer>Ja es ist gut du hast jetzt das m-wort gesagt was halt das ist zumindest verpönt,

00:05:09.303 --> 00:05:10.663
<v Pavel Mayer>in der extreme programming,

00:05:12.063 --> 00:05:19.443
<v Pavel Mayer>äh äh szene von methodik oder methodologie äh zu sprechen aber tatsächlich ist es äh so etwas wobei,

00:05:20.483 --> 00:05:29.483
<v Pavel Mayer>da es halt viel äh auch disziplin und energie erfordert braucht man auch etwas ja Rückhalt.

00:05:29.783 --> 00:05:37.023
<v Pavel Mayer>Als ich das kennengelernt habe, so 2000 habe ich damit begonnen, das Ganze.

00:05:37.723 --> 00:05:42.163
<v Tim Pritlove>A1. Warum? Also ich meine, wie bist du da überhaupt drauf gestoßen? Was war die Motivation?

00:05:42.563 --> 00:05:46.783
<v Pavel Mayer>B2. Unzufriedenheit. Einfach Unzufriedenheit mit der Art und Weise,

00:05:47.323 --> 00:05:53.183
<v Pavel Mayer>wie Softwareentwicklung, wie ich sie bis dahin betrieben habe und wie meine

00:05:53.183 --> 00:05:57.023
<v Pavel Mayer>Teams sie betrieben haben.

00:05:57.663 --> 00:06:04.323
<v Pavel Mayer>Bis zu Extreme Programming war mir gar nicht klar, was eigentlich alles verkehrt daran war.

00:06:04.463 --> 00:06:13.103
<v Pavel Mayer>Ich dachte, das müsste einfach so sein, dass man oft nicht rechtzeitig fertig

00:06:13.103 --> 00:06:17.663
<v Pavel Mayer>wird, dass die Leute alle bis an den Rand der Erschöpfung arbeiten,

00:06:17.923 --> 00:06:21.923
<v Pavel Mayer>dass man versucht, irgendwie den Kunden permanent zu beschwichtigen,

00:06:22.023 --> 00:06:23.423
<v Pavel Mayer>weil die Dinge nicht so laufen,

00:06:23.723 --> 00:06:26.163
<v Pavel Mayer>wie sie sollen.

00:06:28.163 --> 00:06:33.543
<v Pavel Mayer>Ja, ich meine, es gibt einen Haufen von Problemen einfach in der Softwareentwicklung,

00:06:33.623 --> 00:06:35.243
<v Pavel Mayer>die jeder kennt. Es fängt damit an.

00:06:35.383 --> 00:06:40.663
<v Pavel Mayer>Also Software wird nicht termingerecht fertig oder die Entwicklung wird sogar

00:06:40.663 --> 00:06:45.763
<v Pavel Mayer>beendet, bevor die Software einsetzbar ist oder wenn man soweit kommt,

00:06:45.883 --> 00:06:47.623
<v Pavel Mayer>stellt man irgendwann fest, der Wartungs- und Änderungsaufwand,

00:06:48.603 --> 00:06:54.263
<v Pavel Mayer>wird sehr schnell zu hoch, um die Software den ständig wechselnden Anforderungen anzupassen.

00:06:55.377 --> 00:07:01.837
<v Pavel Mayer>Oder ja, die Software wird wegen Unzuverlässigkeit und Problemen irgendwann

00:07:01.837 --> 00:07:06.157
<v Pavel Mayer>kaum genutzt von den Leuten, die sie ursprünglich bestellt haben.

00:07:06.897 --> 00:07:11.877
<v Pavel Mayer>Oder sie löst das Problem nicht so, wie es mal versprochen oder angedacht war.

00:07:12.117 --> 00:07:15.397
<v Pavel Mayer>Oder in der Zwischenzeit, bevor die Software fertig geworden ist,

00:07:15.417 --> 00:07:18.817
<v Pavel Mayer>hat sich das Problem eigentlich verändert mittlerweile.

00:07:20.057 --> 00:07:24.517
<v Pavel Mayer>Oder ja, man hat die falschen Features eingebaut, viele nette Features,

00:07:24.757 --> 00:07:28.717
<v Pavel Mayer>aber der Nutzen der Features, die man eingebaut hat, ist nicht so,

00:07:28.797 --> 00:07:31.097
<v Pavel Mayer>wie man sich das vorgestellt hat.

00:07:31.577 --> 00:07:36.117
<v Pavel Mayer>Und irgendwann fangen die Leute einfach, auch vor allem die guten Leute an,

00:07:36.277 --> 00:07:42.977
<v Pavel Mayer>das Projekt und die Software zu hassen und versuchen, sich halt anderswohin abzusetzen.

00:07:43.117 --> 00:07:44.937
<v Pavel Mayer>Das ist so das Ding.

00:07:44.937 --> 00:07:46.437
<v Tim Pritlove>Bis hin zu flüchtenden Programmierern.

00:07:46.597 --> 00:07:49.817
<v Pavel Mayer>Jaja, also man will dann irgendwann nur noch nur noch weg.

00:07:51.337 --> 00:07:56.897
<v Pavel Mayer>Dann ist natürlich das das Problem. Kunde steht auch im Baum,

00:07:57.017 --> 00:08:01.217
<v Pavel Mayer>das heißt typischerweise der Kunde weiß am Anfang nicht, was er will.

00:08:01.917 --> 00:08:04.797
<v Pavel Mayer>Das ist eigentlich auch relativ normal.

00:08:06.337 --> 00:08:10.577
<v Pavel Mayer>Und er weiß eigentlich erst, was er will und was nicht, wenn er es hat.

00:08:11.057 --> 00:08:15.197
<v Pavel Mayer>So das ist auch ein typisches Ding. Man zeigt es sie und dann sagt er ja super

00:08:15.197 --> 00:08:18.457
<v Pavel Mayer>genau so wollte ich das oder nee also das wollte ich eigentlich nicht.

00:08:18.557 --> 00:08:22.417
<v Pavel Mayer>Ich habe zwar gesagt, dass ich das wollte, aber so habe ich mir das nicht vorgestellt.

00:08:23.177 --> 00:08:27.897
<v Pavel Mayer>Dann ist es so, dass der Kunde natürlich er steckt nicht so tief drin im Entwicklungsprozess

00:08:27.897 --> 00:08:32.897
<v Pavel Mayer>und weiß nicht, welche Features jetzt einfach und billig sind und welche schwierig und teuer sind.

00:08:33.037 --> 00:08:37.837
<v Pavel Mayer>So das zu vermitteln, ist auch schwierig. So außerdem will der Kunde natürlich

00:08:37.837 --> 00:08:42.677
<v Pavel Mayer>dummerweise vorher wissen, was es kostet und was er dafür bekommt,

00:08:42.817 --> 00:08:47.417
<v Pavel Mayer>während der Programmierer natürlich sich möglichst nicht festlegen möchte.

00:08:47.957 --> 00:08:51.437
<v Pavel Mayer>Dann gibt es das Problem, dass der Kunde häufig einen festen Termin hat,

00:08:51.577 --> 00:08:54.557
<v Pavel Mayer>an dem alles fertig sein soll. Das beißt sich dann natürlich auch.

00:08:55.097 --> 00:09:02.257
<v Pavel Mayer>Außerdem ändert der Kunde gerne seine Meinung. So, das ist aber auch ganz normal, ähm, so.

00:09:03.884 --> 00:09:07.704
<v Pavel Mayer>Früher habe ich die Kunden das übel genommen, so mittlerweile weiß ich,

00:09:07.804 --> 00:09:08.924
<v Pavel Mayer>dass es einfach dazugehört.

00:09:09.044 --> 00:09:11.824
<v Pavel Mayer>Ich meine, jeder von uns ändert mal seine Meinung, warum sollte dann nicht auch

00:09:11.824 --> 00:09:13.984
<v Pavel Mayer>der Kunde seine Meinung ändern.

00:09:14.524 --> 00:09:18.564
<v Tim Pritlove>Weil man sich ja im Prinzip auch während des Prozesses, in dem man das so begleitet,

00:09:19.264 --> 00:09:21.604
<v Tim Pritlove>ausgelöst eben durch diese Aktivität, die sich dann entspannt,

00:09:21.724 --> 00:09:23.644
<v Tim Pritlove>auch überhaupt erstmal Gedanken macht.

00:09:23.964 --> 00:09:27.504
<v Tim Pritlove>Also überhaupt erst so sehr auch in dem Prozess drin ist, das kenne ich auch,

00:09:27.564 --> 00:09:30.004
<v Tim Pritlove>wann auch immer ich in der Situation war,

00:09:30.284 --> 00:09:34.364
<v Tim Pritlove>auch Features festzulegen oder in gewisser Hinsicht auch Aussagen zu machen

00:09:34.364 --> 00:09:36.664
<v Tim Pritlove>über grundlegende Funktionsmodelle, stellt man dann nach zwei,

00:09:36.744 --> 00:09:39.524
<v Tim Pritlove>drei Monaten fest, wenn man erstmal den Gedankenprozess angeworfen hat,

00:09:39.584 --> 00:09:42.124
<v Tim Pritlove>dass man dann eben so es auf einmal ganz anders sieht.

00:09:42.124 --> 00:09:48.744
<v Pavel Mayer>Ja, und dann ist das das große Problem in der Entwickler-Kunden-Beziehung ist die Angst.

00:09:50.304 --> 00:09:54.224
<v Pavel Mayer>So die Angst, weil Softwareentwicklung ist riskant.

00:09:54.784 --> 00:10:00.904
<v Pavel Mayer>So alle Beteiligten fürchten sich vor den vielen Dingen, die schiefgehen können.

00:10:01.164 --> 00:10:06.764
<v Pavel Mayer>Und tatsächlich ist es so, dass nicht eingestandene Ängste die Ursache der meisten

00:10:06.764 --> 00:10:10.424
<v Pavel Mayer>Fehlschläge in der Softwareentwicklung sind.

00:10:10.424 --> 00:10:14.744
<v Pavel Mayer>Also zum Beispiel, der Kunde hat Angst, dass er nicht bekommt,

00:10:14.944 --> 00:10:20.904
<v Pavel Mayer>was er will, dass er nicht das Richtige verlangt, dass er zu viel zahlt für zu wenig.

00:10:21.644 --> 00:10:25.524
<v Pavel Mayer>Dass er seine Karriere irgendwelchen Techies anvertrauen muss,

00:10:25.664 --> 00:10:34.704
<v Pavel Mayer>die das gar nicht kümmern, also die Karriere, dass er niemals einen klaren Plan erhalten wird.

00:10:34.704 --> 00:10:39.544
<v Pavel Mayer>Oder der Kunde hat Angst zu Recht auf, dass die Pläne, die er zu sehen bekommt,

00:10:39.684 --> 00:10:44.344
<v Pavel Mayer>reinste Märchen sind und dass er nie wissen wird, was wirklich los ist,

00:10:44.404 --> 00:10:46.504
<v Pavel Mayer>weil er keinen richtigen Einblick hat.

00:10:47.224 --> 00:10:52.144
<v Pavel Mayer>Oder er hat Angst, dass man ihn auf die ersten Aussagen festnageln wird und

00:10:52.144 --> 00:10:56.244
<v Pavel Mayer>er später nicht mehr auf veränderte Anforderungen reagieren kann.

00:10:56.244 --> 00:10:59.784
<v Pavel Mayer>Oder dass ihnen also niemand sagt ihnen die Wahrheit.

00:11:00.064 --> 00:11:07.044
<v Pavel Mayer>So das sind so typische Ängste des Kunden und die sind eben tatsächlich nicht unberechtigt.

00:11:07.564 --> 00:11:13.884
<v Pavel Mayer>Auf der anderen Seite steht der Entwickler, der natürlich auch von Ängsten geplagt ist.

00:11:14.044 --> 00:11:17.864
<v Pavel Mayer>Also ganz vorne, dass mehr von ihm verlangt wird, als er schaffen kann.

00:11:17.864 --> 00:11:22.464
<v Pavel Mayer>Dann, dass von ihm verlangt wird, sinnlose Dinge zu tun.

00:11:22.604 --> 00:11:25.964
<v Pavel Mayer>Das ist eine große Angst so im Projekt.

00:11:26.284 --> 00:11:30.664
<v Pavel Mayer>Oder, dass er einfach zu dumm ist, das Problem zu lösen.

00:11:30.804 --> 00:11:34.584
<v Pavel Mayer>Auch diese Selbstzweifel sind häufig da.

00:11:34.884 --> 00:11:40.584
<v Pavel Mayer>Oder er fürchtet sich irgendwie, dass das Wissen veraltet und er zurückfällt.

00:11:41.184 --> 00:11:42.904
<v Pavel Mayer>Auch da ist er getrieben.

00:11:43.664 --> 00:11:47.524
<v Pavel Mayer>Und dann natürlich ein großes Problem, was auch da ist, dass man,

00:11:47.744 --> 00:11:49.724
<v Pavel Mayer>dass der Entwickler Verantwortung.

00:11:52.494 --> 00:11:53.974
<v Pavel Mayer>Übertragen bekommt, aber nicht

00:11:53.974 --> 00:11:58.814
<v Pavel Mayer>die notwendige Autorität, um der Verantwortung auch gerecht zu werden.

00:11:58.934 --> 00:12:00.654
<v Tim Pritlove>SIEGFRIED Du meinst, dass ihm jetzt Vorgaben gemacht werden,

00:12:00.754 --> 00:12:04.354
<v Tim Pritlove>wie er etwas zu lösen hat, aus irgendwelchen Situationen heraus.

00:12:04.574 --> 00:12:09.534
<v Pavel Mayer>BARTHOLZ Genau, er sagt, du bist jetzt verantwortlich, dass das rechtzeitig fertig wird, aber...

00:12:09.534 --> 00:12:12.194
<v Tim Pritlove>SIEGFRIED Und dann sagt er, da will ich aber Programmiersprache X nehmen,

00:12:12.334 --> 00:12:15.314
<v Tim Pritlove>weil meiner Meinung nach ist das genau das, was ich dafür brauche.

00:12:15.454 --> 00:12:20.014
<v Tim Pritlove>Und dann kommt so die Firmenvorgabe, nein, wir nehmen aber jetzt Java, genau, wir nehmen Y.

00:12:20.014 --> 00:12:25.834
<v Pavel Mayer>Und du musst auch mit diesen drei Leuten irgendwie klarkommen dort.

00:12:26.034 --> 00:12:32.714
<v Pavel Mayer>Und dann ein ganz wichtiger Punkt, den jeder hasst, wovor jeder Entwickler Angst

00:12:32.714 --> 00:12:36.494
<v Pavel Mayer>hat, Qualität opfern zu müssen, um Termine zu halten.

00:12:36.494 --> 00:12:40.934
<v Pavel Mayer>Also quasi durch die äußeren Umstände dazu gezwungen zu werden,

00:12:41.754 --> 00:12:45.174
<v Pavel Mayer>seinen eigenen Qualitätsansprüchen nicht gerecht zu werden.

00:12:45.354 --> 00:12:49.514
<v Pavel Mayer>Und ich meine, niemand schafft gerne Dinge von schlechter Qualität und niemand

00:12:49.514 --> 00:12:51.894
<v Pavel Mayer>benutzt gerne Dinge von schlechter Qualität.

00:12:52.074 --> 00:12:54.134
<v Pavel Mayer>Und davor hat man eben auch Angst.

00:12:54.374 --> 00:12:58.914
<v Pavel Mayer>Dann auch noch ein Punkt, schwierige Probleme alleine lösen zu müssen.

00:12:59.074 --> 00:13:03.474
<v Pavel Mayer>Ich meine, manchmal sind die Probleme wirklich sehr, sehr schwierig,

00:13:03.474 --> 00:13:07.834
<v Pavel Mayer>vor denen man löst, sodass da auch einfach eine Angst da ist,

00:13:08.134 --> 00:13:12.214
<v Pavel Mayer>alleine mit einem Problem zu kämpfen und nicht zu wissen, ob man das Problem

00:13:12.214 --> 00:13:16.234
<v Pavel Mayer>jetzt niederringt oder von dem Problem niedergerungen wird.

00:13:16.954 --> 00:13:22.674
<v Pavel Mayer>Und dann eben immer wieder der Zeitdruck, nicht genug Zeit zu haben,

00:13:22.994 --> 00:13:25.514
<v Pavel Mayer>um in dem Projekt erfolgreich zu sein.

00:13:25.634 --> 00:13:30.674
<v Pavel Mayer>Quasi nicht die Bedingungen zu haben, Erfolg haben zu können.

00:13:30.674 --> 00:13:34.874
<v Pavel Mayer>Das heißt von vornherein zu wissen, dass es eigentlich nur schief gehen kann

00:13:34.874 --> 00:13:38.434
<v Pavel Mayer>oder im besten Falle man gerade mit einem blauen Auge da vorn kommt.

00:13:38.534 --> 00:13:41.934
<v Pavel Mayer>Das sind so die ganzen Ängste.

00:13:41.934 --> 00:13:46.714
<v Tim Pritlove>Okay, das heißt, spätestens jetzt haben wir glaube ich mehrere Leute davon abgebracht

00:13:46.714 --> 00:13:49.234
<v Tim Pritlove>eine Programmierer-Kurier in ihrem Leben einzuschreiben.

00:13:51.034 --> 00:13:53.614
<v Tim Pritlove>Bevor wir jetzt zu Lösungsansätzen kommen, würde ich nochmal fragen,

00:13:54.114 --> 00:13:54.954
<v Tim Pritlove>seit wann programmierst,

00:13:57.214 --> 00:14:00.954
<v Tim Pritlove>du jetzt konkret? Nur mal so ein bisschen auch deine Aussage im Hintergrund

00:14:01.354 --> 00:14:03.394
<v Tim Pritlove>der Erfahrung reflektieren zu können.

00:14:03.654 --> 00:14:12.274
<v Pavel Mayer>Ja, also ich glaube, mein mein erstes Programm habe ich so 1979 geschrieben,

00:14:12.814 --> 00:14:19.814
<v Pavel Mayer>noch auf einem Blatt Papier und ja, Geld verdiene ich damit glaube ich so seit

00:14:19.814 --> 00:14:24.914
<v Pavel Mayer>81, 82 etwa, das heißt ich habe schon, kann man sagen,

00:14:25.854 --> 00:14:32.854
<v Pavel Mayer>ja, als Profi weit über 20 Jahre lang Software. Ciao.

00:14:33.106 --> 00:14:33.766
<v Pavel Mayer>Entwickelt.

00:14:34.206 --> 00:14:37.066
<v Tim Pritlove>Ja du hast ja eigentlich auch sehr viele Programmiersprachen gesehen und diese

00:14:37.066 --> 00:14:40.326
<v Tim Pritlove>ganzen Probleme, die du gerade angesprochen hast, sind auch wirklich vollkommen

00:14:40.326 --> 00:14:43.706
<v Tim Pritlove>unabhängig von Betriebssystemen, Plattformen, Größenordnungen,

00:14:44.226 --> 00:14:45.386
<v Tim Pritlove>das interessiert eigentlich immer alle.

00:14:45.486 --> 00:14:50.226
<v Tim Pritlove>Ja das ist. Ich kenne auch einige der engsten, die du aufgezählt hast,

00:14:50.226 --> 00:14:52.726
<v Tim Pritlove>haben mich sicherlich auch schon mal durchgestanden.

00:14:53.506 --> 00:14:58.466
<v Tim Pritlove>Wobei man manchmal auch so ein bisschen noch die die Freude der Blauäugigkeit hat und sagt,

00:14:58.606 --> 00:15:01.686
<v Tim Pritlove>holy droh, Programmieren macht so einen Spaß, da rauscht man einfach durch und

00:15:01.686 --> 00:15:04.426
<v Tim Pritlove>lässt sich eben auch von Ängsten an nicht so sehr viel bremsen,

00:15:04.526 --> 00:15:08.906
<v Tim Pritlove>aber das ändert noch nichts daran, dass man eben immer noch dazu neigt,

00:15:09.006 --> 00:15:11.826
<v Tim Pritlove>Sachen zu entwickeln, die am Ende keiner haben will oder die im Zweifelsfall

00:15:11.826 --> 00:15:12.666
<v Tim Pritlove>auch nicht funktionieren.

00:15:12.666 --> 00:15:19.206
<v Pavel Mayer>Ja, also irgendwann wird oder die meisten Projekte, so habe ich sie kennengelernt,

00:15:19.266 --> 00:15:27.286
<v Pavel Mayer>wurden entweder irgendwann langweilig oder ja, es wurde dann fast hysterisch.

00:15:27.686 --> 00:15:34.646
<v Pavel Mayer>Je näher dann die Deadlines rückten, umso näher rückten sie auch dem Nervenzusammenbruch.

00:15:34.646 --> 00:15:39.966
<v Pavel Mayer>Es gab dann einige gute Leute, auf denen die ganze oder auf den besten Leuten

00:15:39.966 --> 00:15:42.686
<v Pavel Mayer>ruhte dann auch die Last des ganzen Projekts,

00:15:42.906 --> 00:15:48.226
<v Pavel Mayer>die waren dann irgendwann auch gar nicht mehr ansprechbar und so jetzt als Manager

00:15:48.226 --> 00:15:51.766
<v Pavel Mayer>konnte man dann nur da stehen und beten und und hoffen,

00:15:52.106 --> 00:15:55.706
<v Pavel Mayer>dass sie jetzt das wirklich auch hinbekommen.

00:15:55.706 --> 00:16:00.086
<v Pavel Mayer>Aber man steuerte dann irgendwann, hatte man das Gefühl, komplett nur noch im

00:16:00.086 --> 00:16:04.166
<v Pavel Mayer>Blindflug unterwegs zu sein und nur darauf zu hoffen,

00:16:04.346 --> 00:16:09.346
<v Pavel Mayer>dass die einzelnen Leute irgendwie das Ganze noch gerade rechtzeitig retten

00:16:09.346 --> 00:16:12.166
<v Pavel Mayer>und dass man so noch die Kurve kriegt.

00:16:12.166 --> 00:16:16.186
<v Tim Pritlove>Wobei oh wunder oh wunder ich habe das auch sehr häufig dann gesehen also diese

00:16:16.186 --> 00:16:21.186
<v Tim Pritlove>Kraft der der letzten Tage oder im Zweifelsfall auch der letzten Stunde,

00:16:21.746 --> 00:16:23.626
<v Tim Pritlove>das Programmieren mal wieder zu den Höchstleistungen.

00:16:23.626 --> 00:16:30.046
<v Pavel Mayer>Ja die sogenannte Crunch Time also ich habe das lange Zeit auch für Normalität gehalten, für halt.

00:16:30.289 --> 00:16:35.149
<v Pavel Mayer>Den normalen programmierer alltag weil ich es nirgendwo anders gesehen oder

00:16:35.149 --> 00:16:37.769
<v Pavel Mayer>oder kennengelernt habe und.

00:16:38.809 --> 00:16:44.609
<v Pavel Mayer>Ich muss sagen tatsächlich ist es aber nicht so es muss nicht so sein sondern

00:16:44.609 --> 00:16:50.929
<v Pavel Mayer>mit xp habe ich, Das schien mir,

00:16:51.069 --> 00:16:55.129
<v Pavel Mayer>als ich darauf gestoßen bin, erst mal alles sehr plausibel zu sein.

00:16:55.329 --> 00:17:00.049
<v Tim Pritlove>Also XP, muss man dazu sagen, ist die anerkannte Abkürzung für Extreme Programming,

00:17:00.089 --> 00:17:04.449
<v Tim Pritlove>hat in diesem Fall nichts mit Windows zu tun, aber so nennt man es halt, okay.

00:17:04.449 --> 00:17:12.369
<v Pavel Mayer>Und es war aber auch nicht ganz einfach, damals wirklich damit zu beginnen.

00:17:12.609 --> 00:17:16.149
<v Pavel Mayer>Also in der einen Firma, in der ich dann war, hatte ich versucht,

00:17:16.529 --> 00:17:24.909
<v Pavel Mayer>nun mein Team und meine Kollegen in der Geschäftsleitung damals davon zu überzeugen,

00:17:25.169 --> 00:17:26.549
<v Pavel Mayer>dass wir das doch probieren.

00:17:26.729 --> 00:17:33.249
<v Pavel Mayer>Aber ja, jede Art von Methodik wurde dann eher von der Hand gewiesen und nee,

00:17:33.329 --> 00:17:37.609
<v Pavel Mayer>wir haben das schon immer so gemacht und jetzt irgendeinen Schnickschnack.

00:17:38.229 --> 00:17:43.929
<v Pavel Mayer>Aber als ich dann einen neuen Job angeboten gekriegt habe, bot sich dann die

00:17:43.929 --> 00:17:48.229
<v Pavel Mayer>Gelegenheit, dass ich dort als Bedingung gestellt habe, dass ich freie Hand

00:17:48.229 --> 00:17:49.709
<v Pavel Mayer>habe in der Organisation,

00:17:50.229 --> 00:17:54.589
<v Pavel Mayer>der Entwicklungsabteilung und dass ich insbesondere freie Hand habe,

00:17:55.149 --> 00:17:58.729
<v Pavel Mayer>dort Extreme Programming einzuführen.

00:17:59.029 --> 00:18:04.549
<v Pavel Mayer>Und alle Leute, die dann eingestellt wurden, die ich eingestellt habe,

00:18:04.629 --> 00:18:08.829
<v Pavel Mayer>habe ich von vornherein ja auf Extreme Programming eingeschworen.

00:18:09.069 --> 00:18:16.429
<v Pavel Mayer>Und um es mal vorwegzunehmen, wir betreiben das jetzt seit fünf Jahren und auch

00:18:16.429 --> 00:18:20.849
<v Pavel Mayer>alle Leute in dem Team sind davon dermaßen überzeugt,

00:18:20.949 --> 00:18:24.489
<v Pavel Mayer>dass das eine vernünftige Sache ist,

00:18:24.609 --> 00:18:26.909
<v Pavel Mayer>sodass das zu einem Selbstläufer geworden ist.

00:18:26.949 --> 00:18:34.469
<v Pavel Mayer>Ich glaube nie würde, gerne zu einer anderen Art von Softwareentwicklung wieder zurückzukehren.

00:18:34.609 --> 00:18:42.869
<v Pavel Mayer>Das wäre irgendwie wie ein Rückschritt in die Steinzeit oder in die, ja, so.

00:18:44.369 --> 00:18:48.589
<v Tim Pritlove>Okay gut dann spielen wir das doch mal durch so ich bin jetzt euer neuer Programmierer

00:18:48.589 --> 00:18:54.709
<v Tim Pritlove>ich werde jetzt irgendwie eingestellt nachdem ich meine über vollkommen übertriebenen

00:18:54.709 --> 00:18:57.449
<v Tim Pritlove>Gehaltszahlungen durchgesetzt habe.

00:18:57.549 --> 00:19:01.209
<v Pavel Mayer>Ja das würde dir sicherlich nicht gelingen.

00:19:01.209 --> 00:19:04.009
<v Tim Pritlove>Aber das glaube ich auch nicht.

00:19:04.529 --> 00:19:07.029
<v Tim Pritlove>Aber nehmen wir es einfach mal an, um die Stimmung hochzuhalten.

00:19:07.489 --> 00:19:11.309
<v Tim Pritlove>Wie auch immer. Auf jeden Fall, was müsste ich jetzt lernen?

00:19:11.549 --> 00:19:16.529
<v Tim Pritlove>Was kommt auf mich zu, wenn ich mit XP, also Extreme Programming,

00:19:16.749 --> 00:19:18.409
<v Tim Pritlove>in die Softwareentwicklung einsteige?

00:19:18.409 --> 00:19:26.689
<v Pavel Mayer>Okay, als erstes, äußeres oder auffälligstes Merkmal würdest du sehr viel Zeit

00:19:26.689 --> 00:19:33.329
<v Pavel Mayer>mit anderen Mitprogrammierern vor einem Rechner sitzen, vor einem Bildschirm, vor einer Tastatur,

00:19:34.549 --> 00:19:40.049
<v Pavel Mayer>mit einem normalerweise, wobei durchaus auch Situationen dann entstehen,

00:19:40.169 --> 00:19:44.049
<v Pavel Mayer>wo dann mal drei oder vier Leute vor einem Bildschirm sitzen,

00:19:44.229 --> 00:19:47.089
<v Pavel Mayer>aber das ist dann schon eher etwas übertrieben.

00:19:47.089 --> 00:19:53.549
<v Pavel Mayer>Aber in der in der Regel sitzen halt eben immer zwei Leute vor dem Bildschirm.

00:19:53.649 --> 00:19:59.989
<v Pavel Mayer>Der eine ist der sogenannte Driver, der programmiert und der andere sitzt daneben,

00:20:00.089 --> 00:20:04.949
<v Pavel Mayer>schaut sich an, was er macht, behält das große Bild im Kopf,

00:20:05.309 --> 00:20:07.629
<v Pavel Mayer>weist ihn eventuell auf Fehler hin.

00:20:07.629 --> 00:20:14.969
<v Pavel Mayer>Und ja, und wenn er zu ungeduldig wird und meint, jetzt irgendwie selber mal

00:20:14.969 --> 00:20:18.929
<v Pavel Mayer>Hand an, dann wechselt man eben die Rollen, dann kriegt er die Tastatur in die

00:20:18.929 --> 00:20:21.469
<v Pavel Mayer>Hand und okay, dann dann dann mach du, wenn du meinst.

00:20:21.589 --> 00:20:23.749
<v Tim Pritlove>Also der eine ist der Driver und der andere hatte auch einen Namen?

00:20:25.766 --> 00:20:30.766
<v Pavel Mayer>Ja der partner er wird genau also

00:20:30.766 --> 00:20:37.566
<v Pavel Mayer>der driver und der partners ist die die offizielle xp bezeichnen aber.

00:20:38.866 --> 00:20:44.686
<v Pavel Mayer>XP ist halt viel viel mehr als jetzt nur per programming und das ist ein ein

00:20:44.686 --> 00:20:50.566
<v Pavel Mayer>sicherlich eines der wichtigsten merkmale so nennt man das per programming.

00:20:50.566 --> 00:20:52.126
<v Tim Pritlove>Pair Programming. A. Der Fabriker ist noch nicht fallen gelassen.

00:20:52.586 --> 00:20:54.986
<v Tim Pritlove>M. Ja. A. Im Paar programmieren.

00:20:55.066 --> 00:20:55.246
<v Pavel Mayer>M. Ja.

00:20:55.386 --> 00:20:58.486
<v Tim Pritlove>A. Okay. Aber das ist, glaube ich, auch das, wofür es am bekanntesten ist.

00:20:58.666 --> 00:21:02.906
<v Tim Pritlove>Also wenn ich so von einem Erfahrungsraum, wenn man jetzt Leute auf Extreme

00:21:02.906 --> 00:21:05.846
<v Tim Pritlove>Programming anspricht, dann sagen sie, ah ja, das ist da, wo man irgendwie gemeinsam

00:21:05.846 --> 00:21:07.566
<v Tim Pritlove>vor dem Computer sitzt. Pair Programming.

00:21:07.646 --> 00:21:12.766
<v Pavel Mayer>M. Ja. Also in der Praxis, möchte ich auch mal, um es davor wegzunehmen,

00:21:13.206 --> 00:21:15.926
<v Pavel Mayer>es eignet sich nicht jede Tätigkeit dazu.

00:21:15.926 --> 00:21:21.886
<v Pavel Mayer>Man kann in etwa sagen, je komplizierter die Aufgabe ist, umso besser ist es,

00:21:22.126 --> 00:21:23.786
<v Pavel Mayer>zu zweit daran zu arbeiten.

00:21:24.406 --> 00:21:30.266
<v Pavel Mayer>Einfache Dokumentationstätigkeiten zum Beispiel funktionieren zu zweit nicht

00:21:30.266 --> 00:21:35.006
<v Pavel Mayer>so gut, weil der eine sich dann einfach nur langweilt und nicht wirklich was zu tun hat.

00:21:35.586 --> 00:21:40.826
<v Pavel Mayer>Aber praktisch alle anspruchsvolleren oder schwierigeren Aufgaben,

00:21:41.186 --> 00:21:46.566
<v Pavel Mayer>da braucht man gar keine äußeren Regeln, da holen sich die Leute sofort gerne

00:21:46.566 --> 00:21:48.826
<v Pavel Mayer>und freiwillig jemanden dazu.

00:21:48.966 --> 00:21:52.826
<v Tim Pritlove>Das Modell des Pair-Programmings bricht ja im Prinzip so mit so einem grundlegenden Diven-Status,

00:21:54.946 --> 00:21:58.466
<v Tim Pritlove>den ja Programmierer eigentlich über lange Zeit immer genossen haben und wann

00:21:58.466 --> 00:22:02.406
<v Tim Pritlove>auch mich erinnern kann, in jeder Firma gab es eigentlich immer mit dem einen oder anderen Gott,

00:22:02.806 --> 00:22:05.766
<v Tim Pritlove>der halt so vor seiner Maschine saß und niemand traute sich auch nur in drei

00:22:05.766 --> 00:22:09.606
<v Tim Pritlove>Meter Umkreis oder irgendwie ihn zu berühren, weil man Angst hat,

00:22:09.706 --> 00:22:10.946
<v Tim Pritlove>gleich zu Staub zu zerfallen,

00:22:11.546 --> 00:22:15.886
<v Tim Pritlove>weil eben so übermächtig die Maschine im Griff hat. Das habt ihr sozusagen gar nicht mehr.

00:22:15.946 --> 00:22:18.646
<v Pavel Mayer>Und ja, man muss...

00:22:18.893 --> 00:22:22.393
<v Pavel Mayer>Sehen das bei bei extrem programming viele

00:22:22.393 --> 00:22:25.753
<v Pavel Mayer>dinge ineinander greifen und das ein wichtiges

00:22:25.753 --> 00:22:28.973
<v Pavel Mayer>ziel oder ein ein wichtiges ding ist auch ja

00:22:28.973 --> 00:22:37.293
<v Pavel Mayer>no home monopoly zu vermeiden das heißt dass man versucht das gesamte wissen

00:22:37.293 --> 00:22:44.773
<v Pavel Mayer>über die ganzen entwickler möglichst breit zu zu streuen und zu verteilen und

00:22:44.773 --> 00:22:48.773
<v Pavel Mayer>Also wenn du jetzt kämst, das ist auch ein großer Vorteil.

00:22:49.453 --> 00:22:56.333
<v Pavel Mayer>Jetzt würdest du halt sofort mit einem erfahrenen Mann die ersten Wochen vor

00:22:56.333 --> 00:23:00.213
<v Pavel Mayer>dem Rechner sitzen und natürlich sehr schnell alle spezifischen Dinge,

00:23:00.413 --> 00:23:03.973
<v Pavel Mayer>alle Tricks, wo befindet sich was, sehr schnell aufnehmen.

00:23:03.973 --> 00:23:07.453
<v Pavel Mayer>Das heißt, es eignet sich wunderbar, also es gibt keine Methode,

00:23:07.493 --> 00:23:13.293
<v Pavel Mayer>wo man als Einsteiger wirklich schneller reinkommt, als einfach die ganze Zeit

00:23:13.293 --> 00:23:17.033
<v Pavel Mayer>mit jemandem zusammen da zu sitzen. Also typischerweise.

00:23:17.233 --> 00:23:18.493
<v Tim Pritlove>In zwei Fällen auch erstmal als Partner.

00:23:18.813 --> 00:23:23.613
<v Pavel Mayer>Ja, ja, als Partner, wobei auch die Leute sehr, sehr schnell dann selber auch

00:23:23.613 --> 00:23:28.873
<v Pavel Mayer>durchaus als Driver unterwegs sind.

00:23:28.873 --> 00:23:34.733
<v Pavel Mayer>Und je nachdem, also wir haben dann Einarbeitungszeiten zwischen,

00:23:35.033 --> 00:23:38.953
<v Pavel Mayer>ich würde sagen, zwei Wochen und zwei Monaten typischerweise,

00:23:39.313 --> 00:23:46.313
<v Pavel Mayer>je nachdem wie viel Vorqualifikation die Leute haben, bis sie voll einsetzbar sind.

00:23:46.433 --> 00:23:51.573
<v Pavel Mayer>Und spätestens nach sechs Monaten sind sie wirklich vollwertiges Teammitglied

00:23:51.573 --> 00:23:58.873
<v Pavel Mayer>und können wiederum ja als erfahrene Leute bereits dann wieder neue Leute anlernen.

00:23:59.453 --> 00:24:04.493
<v Pavel Mayer>Umgekehrt ist es, wenn man mal einen Experten in einem bestimmten Gebiet von

00:24:04.493 --> 00:24:10.133
<v Pavel Mayer>draußen reinholt für eine begrenzte Zeit und den auch immer ins Pair gleich

00:24:10.133 --> 00:24:13.813
<v Pavel Mayer>packt, dann ist das natürlich die beste Art und Weise, um Know-how abzusaugen.

00:24:14.973 --> 00:24:21.473
<v Pavel Mayer>Das heißt, auch was der Experte macht, das gesamte Wissen, So kann man am meisten

00:24:21.473 --> 00:24:26.013
<v Pavel Mayer>davon profitieren, wenn immer jemand mit dabei sitzt.

00:24:26.173 --> 00:24:29.933
<v Pavel Mayer>Und wer mit dabei sitzt, das entscheidet man.

00:24:30.013 --> 00:24:34.613
<v Pavel Mayer>Oder die Paarungen, die sind jetzt nicht fest, sondern die werden im Prinzip

00:24:34.613 --> 00:24:36.813
<v Pavel Mayer>jeden Morgen beim sogenannten Stand-up-Meeting aufs,

00:24:38.933 --> 00:24:37.913
<v Pavel Mayer>Neue,

00:24:40.153 --> 00:24:38.933
<v Pavel Mayer>ausgeknobelt.

00:24:41.693 --> 00:24:41.693
<v Pavel Mayer>Das heißt...

00:24:42.473 --> 00:24:44.333
<v Tim Pritlove>A, das heißt es gibt so einen Tagesrhythmus.

00:24:44.513 --> 00:24:44.733
<v Pavel Mayer>Genau.

00:24:44.953 --> 00:24:46.993
<v Tim Pritlove>Der Tag fängt an, erstmal trifft man sich.

00:24:46.993 --> 00:24:53.493
<v Pavel Mayer>Der Tag fängt an, typischerweise bei uns um 10 Uhr, ist so eine ganz gute Zeit.

00:24:54.522 --> 00:24:58.302
<v Pavel Mayer>Für alle und um 10 Uhr beginnt das Stand-up-Meeting, das heißt alle stehen,

00:24:59.182 --> 00:25:01.542
<v Pavel Mayer>niemand darf sitzen, das verhindert, dass das Meeting endlos ausufert.

00:25:04.502 --> 00:25:05.462
<v Tim Pritlove>Acht, deswegen Stand-up-Meeting.

00:25:06.242 --> 00:25:10.882
<v Pavel Mayer>Ja, weil man das im Stehen macht und das macht man typischerweise vor einem...

00:25:11.382 --> 00:25:13.762
<v Tim Pritlove>Ist das eure Methodik oder ist das tatsächlich Bestandteil von XP?

00:25:14.282 --> 00:25:15.462
<v Pavel Mayer>Ja, das ist auch eine XP-Methode,

00:25:17.662 --> 00:25:19.422
<v Pavel Mayer>und verhindert eben ja, dass das Ausufern.

00:25:20.662 --> 00:25:23.582
<v Tim Pritlove>Sondern wahrscheinlich auch, dass die Leute ihre Laptops so klappen.

00:25:23.822 --> 00:25:24.662
<v Pavel Mayer>Ja, ja.

00:25:26.422 --> 00:25:27.942
<v Tim Pritlove>Der Tod jedes Meetings.

00:25:28.142 --> 00:25:30.142
<v Pavel Mayer>Und so das Stand-up-Meeting morgens läuft so,

00:25:31.002 --> 00:25:34.522
<v Pavel Mayer>dass jeder erzählt, was er am Vortag gemacht hat, welche,

00:25:35.142 --> 00:25:40.982
<v Pavel Mayer>also auf welche Probleme er gestoßen ist und erzählt dann, was er für den heutigen

00:25:40.982 --> 00:25:47.942
<v Pavel Mayer>Tag vorhat und sucht sich dann jeweils ein Pair für die Aufgabe.

00:25:48.842 --> 00:25:54.742
<v Pavel Mayer>Und da gibt es den Grundsatz, also wie man ein Pair findet, man fragt halt, kannst du mir helfen?

00:25:55.242 --> 00:25:58.282
<v Pavel Mayer>Und die vorgeschriebene Antwort darauf ist ja.

00:26:01.962 --> 00:26:03.002
<v Tim Pritlove>Okay, Beteiligungszweig.

00:26:03.022 --> 00:26:09.222
<v Pavel Mayer>Und man kann dann aber, also es ist auch so, jeder hat seine Aufgaben,

00:26:09.762 --> 00:26:15.502
<v Pavel Mayer>die er sogenannte Engineering Tasks, die er, für die er selber verantwortlich ist.

00:26:16.722 --> 00:26:21.182
<v Pavel Mayer>Und wenn er sich jetzt jemanden dazu holt, der andere hat natürlich auch Engineering Tasks.

00:26:21.442 --> 00:26:26.802
<v Pavel Mayer>So, aber dann sagt man halt, okay, ich helfe dir jetzt meinetwegen heute Vormittag

00:26:26.802 --> 00:26:30.662
<v Pavel Mayer>und Und heute Nachmittag hilfst du mir dann wiederum bei meinem Engineering-Task,

00:26:31.842 --> 00:26:36.202
<v Pavel Mayer>oder ich helfe dir heute und morgen hilfst du mir bei einem Task.

00:26:36.742 --> 00:26:39.442
<v Tim Pritlove>Wie ist das eigentlich, wenn man jetzt eine ungerade Zahl Programmierer hat?

00:26:39.522 --> 00:26:42.362
<v Tim Pritlove>Was macht man dann? Kommt dann noch eine andere Gruppe dazu?

00:26:42.482 --> 00:26:47.782
<v Pavel Mayer>Ja, das ist schlecht. Ihr könnt ja nicht immer im Zweierpasch neue Entwickler…

00:26:47.782 --> 00:26:50.982
<v Pavel Mayer>Ne, wie gesagt, es gibt Tätigkeiten auch, die besser alleine funktionieren,

00:26:51.282 --> 00:26:52.502
<v Pavel Mayer>wenn man ein neues Betriebssystem….

00:26:55.802 --> 00:27:01.882
<v Pavel Mayer>A. so hin und ja, es gibt halt dann auch andere Meetings, wo man sich koordinieren muss.

00:27:01.982 --> 00:27:05.062
<v Pavel Mayer>Also es ist nicht, es ist nicht, nicht wirklich schlimm jetzt,

00:27:05.122 --> 00:27:12.282
<v Pavel Mayer>wenn man mal eine ungerade Zahl, ja, also das, das, das findet sich dann, dann schon.

00:27:12.929 --> 00:27:15.249
<v Pavel Mayer>Also jedenfalls verhindert man dadurch Know-how-Monopole,

00:27:17.969 --> 00:27:15.249
<v Pavel Mayer>was,

00:27:18.089 --> 00:27:20.109
<v Pavel Mayer>sehr gut ist, wenn die Leute mal in den Urlaub gehen wollen,

00:27:21.569 --> 00:27:24.309
<v Pavel Mayer>dann ist immer jemand da, der trotzdem Bescheid weiß.

00:27:25.489 --> 00:27:29.149
<v Pavel Mayer>Früher war das eben immer ein Problem, dass bestimmte Leute in kritischen Projektphasen,

00:27:30.549 --> 00:27:31.609
<v Pavel Mayer>einfach nicht krank werden durften,

00:27:33.669 --> 00:27:37.429
<v Pavel Mayer>ja keinen Urlaub nehmen konnten.

00:27:37.849 --> 00:27:41.829
<v Pavel Mayer>Und wenn dann so jemand, wenn dann jemand auch noch die Firma vielleicht verlässt,

00:27:41.969 --> 00:27:48.729
<v Pavel Mayer>dann waren das immer gewaltige Katastrophen, die halt tatsächlich ganze Projekte gefährden konnten.

00:27:48.909 --> 00:27:55.989
<v Pavel Mayer>Das ist eigentlich ein sehr unprofessioneller Zustand und das ist für alle einfach sehr entspannt,

00:27:56.729 --> 00:28:01.909
<v Pavel Mayer>dass sie, dass sie wissen, dass die gesamte nicht nur alleine auf ihren Schultern

00:28:01.909 --> 00:28:06.589
<v Pavel Mayer>ruht jetzt, sondern dass sie sich jederzeit jemanden zur Hilfe holen können

00:28:06.589 --> 00:28:09.749
<v Pavel Mayer>und dass auch viele Leute da sind.

00:28:10.069 --> 00:28:13.269
<v Pavel Mayer>Das ist einfach ein unheimlich gutes Gruppengefühl.

00:28:13.269 --> 00:28:17.049
<v Tim Pritlove>Was ich auch noch sehe ist, dass man natürlich dabei auch eine ganze Menge Kleinigkeiten lernt.

00:28:17.169 --> 00:28:19.949
<v Tim Pritlove>Also es sind ja immer so diese kleinen Tricks, so wie löse ich irgendwie dieses

00:28:19.949 --> 00:28:25.249
<v Tim Pritlove>kleine Problem, so ganz alltägliche Sachen, wie kapsel ich das jetzt,

00:28:25.309 --> 00:28:28.989
<v Tim Pritlove>wenn ich mit solchen Datentypen zu mache, Sortieralgorithmen, also so everyday.

00:28:29.349 --> 00:28:34.849
<v Pavel Mayer>Ja, allein Editor-Tricks, also wie man seinen Editor bedient oder wie man sich

00:28:35.089 --> 00:28:37.149
<v Pavel Mayer>seinen Arbeitsprozess, seine Oberfläche.

00:28:38.029 --> 00:28:42.369
<v Tim Pritlove>Und so hat man die Weiterbildung quasi parallel automatisch mit eingebaut.

00:28:42.369 --> 00:28:45.589
<v Pavel Mayer>Und wenn jemand mal eine gute Idee hat oder einen netten Trick,

00:28:45.749 --> 00:28:48.549
<v Pavel Mayer>dann verbreitet sich der einfach ganz schnell in der ganzen Firma,

00:28:48.769 --> 00:28:50.849
<v Pavel Mayer>auch durch die wechselnden Paarungen.

00:28:52.269 --> 00:28:57.229
<v Pavel Mayer>So, was aber jetzt dazu kommt als Prinzip auch noch,

00:28:57.829 --> 00:29:02.729
<v Pavel Mayer>ist, das ist die sogenannte collective code ownership, beziehungsweise,

00:29:03.089 --> 00:29:10.409
<v Pavel Mayer>also jeder darf jederzeit am gesamten Code ändern, was er will.

00:29:10.409 --> 00:29:16.289
<v Pavel Mayer>Früher war das immer so, das ist mein Code und wehe, da fasst jemand dran an,

00:29:16.289 --> 00:29:21.229
<v Pavel Mayer>dann übernehme ich keine Verantwortung oder Garantie, dass das Ganze noch funktioniert.

00:29:22.669 --> 00:29:26.529
<v Pavel Mayer>Einer unserer Entwickler früher brachte der Spruch, ja, wenn der Programmierer

00:29:26.529 --> 00:29:28.989
<v Pavel Mayer>im Urlaub ist, dann ist sein Code auch im Urlaub.

00:29:29.789 --> 00:29:33.549
<v Pavel Mayer>So, das heißt, der darf dann eben nicht verändert oder nicht angefasst werden.

00:29:33.669 --> 00:29:37.209
<v Pavel Mayer>Und bei Extreme Programming ist es explizit so, sowas gibt es nicht.

00:29:37.849 --> 00:29:42.869
<v Pavel Mayer>Jeder darf überall alles ändern. So das Problem ist jetzt natürlich,

00:29:42.989 --> 00:29:47.449
<v Pavel Mayer>wenn jeder überall alles ändern darf und eventuell aber nicht die Zusammenhänge

00:29:47.449 --> 00:29:48.989
<v Pavel Mayer>versteht, wie verhindert man,

00:29:49.329 --> 00:29:53.409
<v Pavel Mayer>dass jeder die Dinge kaputt macht?

00:29:53.549 --> 00:29:57.029
<v Pavel Mayer>Und da kommt dann wieder ein anderes wichtiges Prinzip, nämlich,

00:29:57.535 --> 00:30:02.195
<v Pavel Mayer>die sogenannten Unit-Tests. Das heißt, jede Funktion, die man einbaut,

00:30:03.655 --> 00:30:08.095
<v Pavel Mayer>hat einen dazugehörigen Test, der auch automatisch abläuft.

00:30:09.975 --> 00:30:14.035
<v Pavel Mayer>Und sobald man eine Veränderung irgendwo macht, also wir haben jetzt.

00:30:14.395 --> 00:30:18.575
<v Tim Pritlove>Was heißt, er läuft automatisch ab? Ja, muss ja im Prinzip das ganze Software-Setup,

00:30:19.255 --> 00:30:22.755
<v Tim Pritlove>schon mal so sein, dass es eine Stelle gibt, wo immer Tests laufen.

00:30:23.035 --> 00:30:23.235
<v Pavel Mayer>Ja, genau.

00:30:23.355 --> 00:30:25.895
<v Tim Pritlove>Es gibt, man hat natürlich ein zentrales Software-Repository,

00:30:27.495 --> 00:30:33.395
<v Tim Pritlove>wo also typischerweise CVS oder Subversion, wo die ganze Software eingecheckt

00:30:33.395 --> 00:30:36.495
<v Tim Pritlove>ist, zentral und man sich einzelne Teile rausholen kann.

00:30:36.935 --> 00:30:40.775
<v Pavel Mayer>Genau. Und in dem Moment, wo man jetzt Veränderungen wieder in das zentrale

00:30:40.775 --> 00:30:45.675
<v Pavel Mayer>Repository zurückspielt, gibt es dann wiederum Rechner, die das merken,

00:30:45.795 --> 00:30:47.655
<v Pavel Mayer>aha, da hat es eine Änderung gegeben,

00:30:48.295 --> 00:30:53.695
<v Pavel Mayer>sich die Software holen, sie übersetzen, in dem Fall also compilen und dann

00:30:53.695 --> 00:31:02.635
<v Pavel Mayer>automatische Tests ablaufen lassen, die halt ja dann die Ergebnisse mit Sollwerten vergleichen.

00:31:02.635 --> 00:31:06.115
<v Tim Pritlove>Das heißt, bevor man eine neue Funktion einbaut, muss man sich quasi auch gleichzeitig

00:31:06.115 --> 00:31:08.435
<v Tim Pritlove>Gedanken darüber machen, wie man das testen kann.

00:31:08.635 --> 00:31:09.635
<v Pavel Mayer>Genau, typischerweise.

00:31:09.895 --> 00:31:11.095
<v Tim Pritlove>Gibt es Fälle, wo das nicht greift?

00:31:12.055 --> 00:31:16.175
<v Pavel Mayer>Eigentlich sollte man sogar den Test vorher schreiben. Also bevor man die Funktion

00:31:16.175 --> 00:31:20.495
<v Pavel Mayer>schreibt, schreibt man erst den Test, was auch gleichzeitig hilft,

00:31:20.595 --> 00:31:22.815
<v Pavel Mayer>sich Gedanken über die Schnittstelle zu machen.

00:31:23.055 --> 00:31:24.255
<v Tim Pritlove>Ja, genau. Wie wird das benutzt?

00:31:24.255 --> 00:31:28.055
<v Pavel Mayer>Wie wird das benutzt? Das heißt, das entsteht dann meistens parallel,

00:31:28.235 --> 00:31:29.995
<v Pavel Mayer>also der Test und die Funktion,

00:31:30.195 --> 00:31:34.295
<v Pavel Mayer>wobei es gibt eben bei den Tests unterschiedliche Tests, aber wichtig da sind

00:31:34.295 --> 00:31:40.355
<v Pavel Mayer>vor allem die Modultests auf verschiedenen Ebenen und wir haben,

00:31:41.475 --> 00:31:46.155
<v Pavel Mayer>Unittest heißt das, weil man sich sozusagen auf eine Teilfunktion bezieht.

00:31:46.575 --> 00:31:48.315
<v Tim Pritlove>Auf eine einzelne Unit eben.

00:31:48.415 --> 00:31:51.715
<v Pavel Mayer>Genau, ein bestimmter Modul, eine bestimmte Funktion.

00:31:51.855 --> 00:31:57.075
<v Pavel Mayer>Es gibt auch entsprechende Frameworks, die einem das erleichtern.

00:31:57.695 --> 00:32:01.055
<v Tim Pritlove>Also ich glaube zum Beispiel bei, das fällt mir jetzt gerade so ein,

00:32:01.135 --> 00:32:03.715
<v Tim Pritlove>also es gibt sicherlich noch andere gute Beispiele, aber bei Ruby on Rails,

00:32:03.795 --> 00:32:07.855
<v Tim Pritlove>was ja derzeit eine sehr populäre Entwicklungsplattform ist,

00:32:07.855 --> 00:32:11.295
<v Tim Pritlove>Da ist im Prinzip Tests auch von vornherein vorgesehen.

00:32:11.475 --> 00:32:14.915
<v Tim Pritlove>Es gibt so eine definierte Direktoriestruktur und es gibt auf jeden Fall schon

00:32:14.915 --> 00:32:18.555
<v Tim Pritlove>mal einen Ort, wo man seine Tests rein tut, genau aus solchen Erwägungen heraus.

00:32:18.715 --> 00:32:20.515
<v Tim Pritlove>Aber es gibt sicherlich auch noch andere Beispiele.

00:32:20.555 --> 00:32:24.055
<v Pavel Mayer>Und da ist wichtig, dass es auch einfach ist, die Tests zu schreiben,

00:32:24.215 --> 00:32:27.495
<v Pavel Mayer>dass es halt bequem ist zu testen. Das ist wichtig.

00:32:27.655 --> 00:32:31.775
<v Pavel Mayer>Und da haben wir halt auch ein ganz brauchbares eigenes Framework,

00:32:31.875 --> 00:32:39.755
<v Pavel Mayer>das es wirklich zum Kinderspiel macht. Und ja, ich glaube, also wir haben...

00:32:40.116 --> 00:32:46.396
<v Pavel Mayer>Jetzt in den letzten zwei Jahren ein Framework entwickelt, was so,

00:32:47.216 --> 00:32:51.696
<v Pavel Mayer>ich glaube, knapp 500.000 Zeilen Quellcode hat.

00:32:52.756 --> 00:32:57.196
<v Pavel Mayer>Und ich glaube, ich habe jetzt nicht die genaue Zahl vor Augen,

00:32:57.376 --> 00:33:01.416
<v Pavel Mayer>aber bei einem Durchlauf werden einige 10.000 Tests durchgeführt,

00:33:02.616 --> 00:33:05.716
<v Pavel Mayer>so nach jeder einzelnen Veränderung.

00:33:09.176 --> 00:33:14.496
<v Tim Pritlove>Und… eine Funktion? Wird sie jetzt zigtausendmal getestet oder es gibt zigtausend Tests?

00:33:14.836 --> 00:33:19.396
<v Pavel Mayer>– Nein, typischerweise für eine Funktion hat man dann etwa, ich würde sagen,

00:33:19.576 --> 00:33:22.416
<v Pavel Mayer>je nachdem wie kompliziert diese Funktion ist,

00:33:23.236 --> 00:33:29.216
<v Pavel Mayer>zwischen ein bis zehn Tests, wo man dann versucht, sie mit unterschiedlichen

00:33:29.216 --> 00:33:33.496
<v Pavel Mayer>Parametern, das ist, wenn ein String reingegeben wird, dass man es mal mit einem

00:33:33.496 --> 00:33:35.736
<v Pavel Mayer>leeren String probiert etwa,

00:33:36.016 --> 00:33:39.836
<v Pavel Mayer>oder was ist, wenn der Parameter Null ist, dass man halt auch,

00:33:40.396 --> 00:33:44.576
<v Pavel Mayer>normale Fälle und Grenzfälle und auch die Fehlerbehandlung testet,

00:33:44.676 --> 00:33:49.436
<v Pavel Mayer>typischerweise, um zu sehen, ob auch der richtige Fehlercode zurückgegeben wird,

00:33:49.596 --> 00:33:52.176
<v Pavel Mayer>wenn die falschen Parameter reingehen. A.

00:33:52.176 --> 00:33:56.136
<v Tim Pritlove>Das finde ich ganz interessant, weil was ich sehr häufig festgestellt habe bei

00:33:56.136 --> 00:34:01.416
<v Tim Pritlove>Programmierern ist, dass sie so eine Mentalität entwickeln, so ja,

00:34:01.876 --> 00:34:05.176
<v Tim Pritlove>das muss ich jetzt nicht überprüfen, weil das hat man ja nicht zu machen.

00:34:05.656 --> 00:34:09.116
<v Tim Pritlove>Man hat das ja nicht so zu benutzen und der Benutzer ist ja doof.

00:34:09.376 --> 00:34:12.796
<v Tim Pritlove>Und wenn es auch wiederum nur ein Programmierer ist, der in dem Fall der Benutzer ist.

00:34:12.936 --> 00:34:17.476
<v Tim Pritlove>Weil sehr viel häufiger glaube ich, als dass jetzt wirklich es sich um Code

00:34:17.476 --> 00:34:19.116
<v Tim Pritlove>handelt, der von jemandem benutzt wird.

00:34:19.176 --> 00:34:22.016
<v Tim Pritlove>Es ist ja so, dass andere Programmierer den Code benutzen, weil man eben Module

00:34:22.016 --> 00:34:23.716
<v Tim Pritlove>bereitstellt und so weiter.

00:34:23.956 --> 00:34:25.416
<v Tim Pritlove>Und viele dieser Fehler, die heutzutage

00:34:25.416 --> 00:34:28.516
<v Tim Pritlove>auftreten und die auch für viele Security-Fehler verantwortlich sind,

00:34:29.596 --> 00:34:32.136
<v Tim Pritlove>Entstehen meistens einfach nur deshalb, weil der Programmierer sich gar nicht

00:34:32.136 --> 00:34:34.776
<v Tim Pritlove>vorstellen kann, dass irgendjemand das in einer Art und Weise benutzt,

00:34:34.856 --> 00:34:37.956
<v Tim Pritlove>die anders ist als die, die er sich ursprünglich gedacht hat,

00:34:38.016 --> 00:34:40.236
<v Tim Pritlove>die sozusagen den normalen Zustand darstellt.

00:34:40.416 --> 00:34:44.476
<v Tim Pritlove>Das schärft sicherlich die Sinne ein bisschen, oder? Wenn man solche Tests schreibt.

00:34:44.816 --> 00:34:49.376
<v Pavel Mayer>Auf jeden Fall. Aber es gibt vor allen Dingen auch Leuten, die relativ neu da

00:34:49.376 --> 00:34:54.696
<v Pavel Mayer>sind, so das Vertrauen, wenn sie an einem riesigen System etwas ändern und trotzdem

00:34:54.696 --> 00:34:58.616
<v Pavel Mayer>alle Tests noch durchlaufen, dass sie nichts kaputt gemacht haben.

00:34:58.836 --> 00:35:05.176
<v Pavel Mayer>Das heißt, eine Methode greift eben in die andere und das eine geht nicht ohne das andere.

00:35:05.376 --> 00:35:08.276
<v Pavel Mayer>Das heißt, ein bisschen XP ist zwar,

00:35:09.388 --> 00:35:13.728
<v Pavel Mayer>vielleicht besser als ich sag mal keine dieser methoden zu benutzen aber so

00:35:13.728 --> 00:35:19.268
<v Pavel Mayer>richtig die die volle schönheit entfaltet sich tatsächlich erst wenn diese ganzen

00:35:19.268 --> 00:35:21.568
<v Pavel Mayer>dinge ineinander greifen und.

00:35:21.668 --> 00:35:26.768
<v Pavel Mayer>Mal also diese methoden jetzt mit dem also wie beispielsweise per programming

00:35:26.768 --> 00:35:31.988
<v Pavel Mayer>und test sind natürlich dinge die vor allem die entwickler betreffen aber eine ganz wichtige.

00:35:32.708 --> 00:35:40.508
<v Pavel Mayer>Front ist eben jetzt, also es fängt halt viel früher an, nämlich bei der, an der Kundenfront.

00:35:40.748 --> 00:35:46.268
<v Pavel Mayer>Das heißt, wie man das ganze Projekt von vornherein aufzieht.

00:35:46.428 --> 00:35:48.048
<v Tim Pritlove>B2. Der Kunde, das unbekannte Wesen. A3.

00:35:48.048 --> 00:35:52.688
<v Pavel Mayer>Ja, der, der Kunde. Wir hatten ja schon… B2.

00:35:52.748 --> 00:35:53.968
<v Tim Pritlove>Programmierer hassen Kunden.

00:35:54.068 --> 00:35:59.888
<v Pavel Mayer>A3. Ja, eben, oder beziehungsweise sie haben Angst vor Kunden, weil sie…,

00:36:01.788 --> 00:36:07.428
<v Pavel Mayer>Das hatten wir ja eingangs schon erwähnt, dass es da eben so das heißt,

00:36:07.628 --> 00:36:12.908
<v Pavel Mayer>erst mal fängt es damit an, was oft Wunder wirkt, ist, dass man diese Ängste

00:36:12.908 --> 00:36:15.528
<v Pavel Mayer>offen benennt, auch gegenüber dem Kunden.

00:36:15.528 --> 00:36:21.608
<v Pavel Mayer>Das ist oft, das ist gar nicht einfach, das erfordert Mut, weil so über Ängste

00:36:21.608 --> 00:36:24.848
<v Pavel Mayer>zu reden mit einem Kunden,

00:36:25.168 --> 00:36:31.408
<v Pavel Mayer>aber wenn man sich tatsächlich dann mal überwunden hat, tatsächlich also diesen Mut zur Wahrheit,

00:36:32.088 --> 00:36:36.468
<v Pavel Mayer>so entsteht dann erstmal ein ganz anderes, neues Vertrauensverhältnis und die

00:36:36.468 --> 00:36:41.948
<v Pavel Mayer>Ängste tatsächlich schwinden oder werden kontrollierbar, weil man einfach darüber redet.

00:36:41.948 --> 00:36:48.248
<v Pavel Mayer>Hey, ich habe Angst davor, dass du mir Unmögliches abverlangst so und du hast Angst davor.

00:36:49.667 --> 00:36:57.027
<v Pavel Mayer>Ja, dass ich das verkacke, so. Lass uns sehen, wie wir irgendwie gemeinsam.

00:36:57.347 --> 00:36:58.927
<v Tim Pritlove>Und was macht man da mit dem Kunden?

00:36:59.487 --> 00:37:07.227
<v Pavel Mayer>Ja, und dann ein ganz wichtiges Ding ist, rauszufinden, was dem Kunden wichtig ist und was nicht.

00:37:07.327 --> 00:37:14.147
<v Pavel Mayer>Das heißt, was wir typischerweise machen, also wir schreiben alle Anforderungen, alle Ideen,

00:37:14.367 --> 00:37:21.607
<v Pavel Mayer>alles, was der Kunde gerne hätte, Egal wie absurd es klingen mag oder wie nebensächlich

00:37:21.607 --> 00:37:26.767
<v Pavel Mayer>oder wie vielleicht sogar unmöglich ist, es wird erst mal alles aufgenommen.

00:37:28.827 --> 00:37:34.847
<v Pavel Mayer>Und dann, was auch wichtig ist, dass man die Dinge, die man aufnimmt,

00:37:35.407 --> 00:37:39.207
<v Pavel Mayer>also in XP macht man das in Form von sogenannten User Stories.

00:37:39.207 --> 00:37:45.547
<v Pavel Mayer>Das heißt, man versucht, in nicht technischer Form zu beschreiben oder zu besprechen,

00:37:45.727 --> 00:37:48.027
<v Pavel Mayer>was das System eigentlich tun soll.

00:37:48.147 --> 00:37:55.607
<v Pavel Mayer>In Form von so einer Art Storyboards. Das heißt, wie geht der User mit dem System um?

00:37:56.247 --> 00:38:00.107
<v Pavel Mayer>Plus eben zusätzliche Anforderungen, wenn er schon etwas genauer weiß,

00:38:00.227 --> 00:38:04.167
<v Pavel Mayer>wie, keine Ahnung, das muss unter Windows laufen oder es müssen irgendwie 1000

00:38:04.167 --> 00:38:06.187
<v Pavel Mayer>Leute damit gleichzeitig arbeiten.

00:38:06.187 --> 00:38:11.727
<v Tim Pritlove>Das ist alles Storyboards, also quasi wie ein Drehbuch, dass man also wirklich versucht, die...

00:38:12.118 --> 00:38:14.958
<v Tim Pritlove>Funktionalität, also nicht die Funktionalität, sondern die Art und Weise,

00:38:15.038 --> 00:38:17.438
<v Tim Pritlove>wie die Software eingesetzt wird, zu beschreiben wie einen Film.

00:38:17.918 --> 00:38:26.958
<v Pavel Mayer>Ja, so in etwa wie kleine Episoden aus einem Film und dann halt ja weitere Anforderungen,

00:38:26.998 --> 00:38:30.938
<v Pavel Mayer>die der Kunde oft hat, eben in eine Liste zu bringen.

00:38:30.998 --> 00:38:35.678
<v Pavel Mayer>Und dann ist es ganz wichtig, das priorisieren, weil nicht alle Anforderungen

00:38:35.678 --> 00:38:37.018
<v Pavel Mayer>sind natürlich gleich wichtig.

00:38:37.138 --> 00:38:41.798
<v Pavel Mayer>Und es ist ganz wichtig rauszufinden, was ist dem Kunden wichtig und was ist

00:38:41.798 --> 00:38:45.298
<v Pavel Mayer>dem Kunden weniger wichtig und was ist nur nice to have.

00:38:45.418 --> 00:38:50.538
<v Pavel Mayer>Also typischerweise haben wir dann eine Liste von Merkmalen.

00:38:50.858 --> 00:38:57.818
<v Pavel Mayer>Also muss Dinge, die unbedingt sein müssen, Dinge, die ihm wichtig sind und

00:38:57.818 --> 00:39:03.218
<v Pavel Mayer>Dinge, die er zwar ganz gerne hätte, aber auf die er dann im Notfall auch verzichten kann.

00:39:03.918 --> 00:39:09.838
<v Pavel Mayer>Und das Interessante ist, viele dieser kleinen Dinge, die ihm nicht so wichtig

00:39:09.838 --> 00:39:16.498
<v Pavel Mayer>sind, sind oft wenig aufwendig, sodass man die auch einfach mit erledigen kann.

00:39:16.598 --> 00:39:19.338
<v Pavel Mayer>Das heißt, selbst wenn die Zeit knapp ist, muss man nicht alle Nice-to-haves.

00:39:20.118 --> 00:39:24.478
<v Pavel Mayer>Unter den Tisch fallen lassen, sondern die kann man dann nebenbei erledigen.

00:39:24.598 --> 00:39:29.438
<v Pavel Mayer>Aber ganz wichtig ist, dass wenn man die Dinge, die dem Kunden am wichtigsten sind,

00:39:29.878 --> 00:39:36.018
<v Pavel Mayer>zuerst versucht zu realisieren und einem dann irgendwann die Zeit ausgeht,

00:39:36.398 --> 00:39:39.478
<v Pavel Mayer>dann sind hoffentlich nur noch die weniger wichtigen Dinge übrig,

00:39:39.658 --> 00:39:41.518
<v Pavel Mayer>aber die wichtigen Dinge sind bereits da.

00:39:41.598 --> 00:39:44.438
<v Pavel Mayer>Das ist ein ganz, ganz elementares Prinzip.

00:39:44.798 --> 00:39:51.378
<v Pavel Mayer>Und die Prioritäten können halt während des Projekts jederzeit auch wieder neu festgelegt werden.

00:39:51.518 --> 00:39:54.138
<v Tim Pritlove>Aber jetzt sind ja die Features, die der Kunde haben will, nicht unbedingt immer

00:39:54.138 --> 00:39:56.158
<v Tim Pritlove>die Features, die dem Programmierer auch Spaß machen.

00:39:56.892 --> 00:40:00.872
<v Tim Pritlove>Ja also an der Stelle wird es auch immer spät, häufig ist es ja auch wichtig,

00:40:01.012 --> 00:40:02.872
<v Tim Pritlove>dass man den Programmierer bei Laune hält, wie greift ihr das?

00:40:02.872 --> 00:40:07.952
<v Pavel Mayer>Ja aber da muss der Programmierer dann einfach über seinen Schatten springen

00:40:07.952 --> 00:40:09.552
<v Pavel Mayer>und sich darüber im klaren werden,

00:40:09.892 --> 00:40:17.072
<v Pavel Mayer>wer ihm in dem Fall seine Brötchen bezahlt und ja da ist der Kunde dann schon

00:40:17.072 --> 00:40:18.492
<v Pavel Mayer>tatsächlich einfach König.

00:40:18.492 --> 00:40:22.472
<v Tim Pritlove>A. Ok, aber wenn wir an der Stelle mal vielleicht einen Schritt zur Seite machen

00:40:22.472 --> 00:40:25.332
<v Tim Pritlove>und ein bisschen über Open Source Entwicklungen nachdenken.

00:40:25.432 --> 00:40:29.712
<v Tim Pritlove>Viele Leute, die Chaos Radio hören, sind ja auch in dem Feld selber tätig.

00:40:29.972 --> 00:40:34.432
<v Tim Pritlove>Findest du, dass eben auch für Open Source Projekte Extreme Programming hilfreich sein kann?

00:40:35.972 --> 00:40:41.592
<v Tim Pritlove>Oder ist das jetzt wirklich nur die Erleichterung, um im Kontext einer Firma,

00:40:41.872 --> 00:40:46.252
<v Tim Pritlove>also in so einem künstlichen Gebilde, was es ja eigentlich ist, zu überleben?

00:40:46.252 --> 00:40:51.712
<v Pavel Mayer>Das ist natürlich die Frage, wo ist der Kunde bei Open Source?

00:40:52.132 --> 00:40:53.252
<v Tim Pritlove>Das ist eine gute Frage.

00:40:55.712 --> 00:41:00.952
<v Pavel Mayer>Und was auch wichtig oder eigentlich bei XP im Idealfall ist,

00:41:01.112 --> 00:41:02.992
<v Pavel Mayer>ein Vertreter des Kunden,

00:41:03.532 --> 00:41:08.112
<v Pavel Mayer>ist halt Teil des Teams, ist ständig oder ist zumindest ständig verfügbar,

00:41:08.392 --> 00:41:11.152
<v Pavel Mayer>um Fragen zu beantworten. Das ist auch eines.

00:41:11.372 --> 00:41:14.372
<v Tim Pritlove>Ist das eine Bedingung an den Kunden? Geht ihr da so ran und sagt,

00:41:14.532 --> 00:41:17.412
<v Tim Pritlove>okay, wenn ihr von uns was wollt, dann müsst ihr ja auch eine Person abstellen,

00:41:17.452 --> 00:41:18.312
<v Tim Pritlove>die immer ansprechbar ist?

00:41:18.612 --> 00:41:24.732
<v Pavel Mayer>B2. Ja, das ist das Ideal, ist aber, also ist auch eines der Ideale in XP,

00:41:24.992 --> 00:41:29.052
<v Pavel Mayer>die am tatsächlich am schwierigsten in der Praxis umsetzbar ist,

00:41:29.192 --> 00:41:35.852
<v Pavel Mayer>weil entsprechend qualifiziertes und autorisiertes Personal beim Kunden sehr

00:41:35.852 --> 00:41:38.532
<v Pavel Mayer>häufig nicht zur Verfügung steht.

00:41:38.532 --> 00:41:44.492
<v Pavel Mayer>Und da arbeitet man dann mit einem Stellvertreter, also beispielsweise,

00:41:45.452 --> 00:41:50.752
<v Pavel Mayer>dass man einen Projektleiter hat, der nicht Mitglied des Entwicklungsteams ist

00:41:50.752 --> 00:41:53.272
<v Pavel Mayer>oder bei der Projektentwicklung ein Produktmanager,

00:41:53.412 --> 00:41:59.452
<v Pavel Mayer>der dann die Kundenrolle wahrnimmt und dann eben dort die Prioritäten setzt

00:41:59.452 --> 00:42:01.752
<v Pavel Mayer>und einfach Entscheidungen trifft.

00:42:01.752 --> 00:42:09.572
<v Pavel Mayer>Und der Programmierer wiederum, der Entwickler, ist dann in der schönen Situation,

00:42:10.512 --> 00:42:15.932
<v Pavel Mayer>jeweils wenn jetzt ein neues Feature beispielsweise verlangt wird,

00:42:16.672 --> 00:42:20.852
<v Pavel Mayer>dass dann dafür natürlich, wenn man priorisiert, entsprechend ein anderes Feature

00:42:20.852 --> 00:42:24.952
<v Pavel Mayer>natürlich geringere Priorität bekommt, zwangsläufig.

00:42:24.952 --> 00:42:30.592
<v Pavel Mayer>Das heißt, der Kunde kann auch nicht immer, ich sag mal, mehr und mehr reinpacken,

00:42:30.752 --> 00:42:33.452
<v Pavel Mayer>ohne weiteres, sondern er muss dann gleichzeitig für jedes Ding,

00:42:33.532 --> 00:42:37.312
<v Pavel Mayer>was jetzt vorgezogen oder einen höheren Stellenwert kriegt, bekommen natürlich

00:42:37.312 --> 00:42:41.192
<v Pavel Mayer>andere Dinge zwangsläufig einen geringeren Stellenwert.

00:42:41.472 --> 00:42:44.752
<v Pavel Mayer>Und das ist aber auch ganz in Ordnung so.

00:42:45.536 --> 00:42:48.416
<v Tim Pritlove>Um das nochmal auf Open Source zu übertragen, ist das natürlich eine schwierige

00:42:48.416 --> 00:42:49.956
<v Tim Pritlove>Forderung sozusagen den Kunden.

00:42:50.136 --> 00:42:53.756
<v Tim Pritlove>Auf der einen Seite hat man bei Open Source natürlich auch eine extreme Beteiligung

00:42:53.756 --> 00:42:56.936
<v Tim Pritlove>in der Regel von Kunden, von Nutzern, ob die jetzt von dem Programmierern so

00:42:56.936 --> 00:43:02.096
<v Tim Pritlove>wahrgenommen werden und auch so wertgeschätzt werden, sei mal ganz dahingestellt.

00:43:02.476 --> 00:43:05.396
<v Tim Pritlove>Also die Masse ist auf jeden Fall da und üblicherweise hat man ja auch relativ

00:43:05.396 --> 00:43:08.836
<v Tim Pritlove>nahe Wege, Mailinglisten etc.

00:43:08.836 --> 00:43:13.716
<v Pavel Mayer>Ja, wobei ja also bei Open-Source-Projekten, also bei rein Open-Source-Projekten,

00:43:16.096 --> 00:43:14.036
<v Pavel Mayer>die,

00:43:16.296 --> 00:43:14.036
<v Pavel Mayer>irgendwie,

00:43:16.976 --> 00:43:14.036
<v Pavel Mayer>so

00:43:17.996 --> 00:43:16.096
<v Pavel Mayer>von,

00:43:18.196 --> 00:43:16.296
<v Pavel Mayer>ein,

00:43:18.516 --> 00:43:21.116
<v Pavel Mayer>zwei Leuten mal begonnen werden, weil sie ein brennendes Problem lösen wollen,

00:43:22.916 --> 00:43:23.516
<v Pavel Mayer>da funktioniert das natürlich so nicht.

00:43:26.256 --> 00:43:31.816
<v Pavel Mayer>Aber wenn ein oder zwei Leute irgendetwas machen, da braucht man dann auch XP nicht.

00:43:32.116 --> 00:43:36.876
<v Pavel Mayer>Also XP funktioniert am besten, also skaliert am besten so für Teams mit fünf

00:43:36.876 --> 00:43:38.956
<v Pavel Mayer>bis sechs Leute jeweils.

00:43:39.176 --> 00:43:45.496
<v Pavel Mayer>Also man kann es bis zehn etwa, also zehn Leute in einer Gruppe noch hoch skalieren,

00:43:45.696 --> 00:43:50.156
<v Pavel Mayer>aber wir haben die Erfahrung gemacht, dass wir halt sobald jetzt eine Gruppe

00:43:50.156 --> 00:43:54.316
<v Pavel Mayer>so sechs, sieben Leute überschreitet,

00:43:54.636 --> 00:43:57.876
<v Pavel Mayer>dass wir dann die Gruppen teilen und lieber zwei Gruppen machen,

00:43:58.596 --> 00:44:03.616
<v Pavel Mayer>wobei die Gruppen dann wiederum regelmäßig Teammitglieder austauschen in regelmäßigen

00:44:03.616 --> 00:44:08.236
<v Pavel Mayer>Abständen, um die Kommunikation zwischen den Teams aufrecht zu erhalten und

00:44:08.236 --> 00:44:11.616
<v Pavel Mayer>das auch gepairt wird zwischen den Teams,

00:44:11.756 --> 00:44:14.156
<v Pavel Mayer>damit halt die sich nicht komplett verselbstständigen.

00:44:14.296 --> 00:44:17.356
<v Tim Pritlove>OK, also eure komplette Mannschaft teilt sich in verschiedene Teams auf oder

00:44:17.356 --> 00:44:21.076
<v Tim Pritlove>Gruppen, die sich unterschiedlichen Gesamtproblemen zuwenden,

00:44:21.176 --> 00:44:23.176
<v Tim Pritlove>auch wenn es am Ende alles zusammengehört.

00:44:23.496 --> 00:44:26.036
<v Tim Pritlove>Und dann wird auch da untereinander getauscht. Das heißt, man ist eigentlich

00:44:26.036 --> 00:44:30.836
<v Tim Pritlove>auch sehr viel weniger die ganze Zeit an einer Sache. Weil üblicherweise, ich kenne das auch,

00:44:31.927 --> 00:44:36.507
<v Tim Pritlove>hat man ja dann immer so den Experten für dieses und diesen Experten für dieses

00:44:36.507 --> 00:44:39.387
<v Tim Pritlove>und die tendieren dann auch dazu immer in ihrem Code dran zu kleben und dann

00:44:39.387 --> 00:44:42.467
<v Tim Pritlove>eben auch nicht mehr so änderungsfreundlich zu sein, das wollt ihr damit quasi verändern.

00:44:42.747 --> 00:44:47.727
<v Pavel Mayer>Ja ich meine man arbeitet, um jetzt nochmal weitere Prinzipien oder Methoden,

00:44:47.807 --> 00:44:53.487
<v Pavel Mayer>man arbeitet iterativ und relativ kleinteilig, also Also auch ein Ding ist,

00:44:53.547 --> 00:44:55.207
<v Pavel Mayer>man versucht so schnell wie möglich,

00:44:55.587 --> 00:44:58.127
<v Pavel Mayer>ein funktionierendes System zu haben.

00:44:58.207 --> 00:45:05.867
<v Pavel Mayer>Bei uns haben wir uns auf sogenannte Iterationszyklen von zwei Wochen geeinigt.

00:45:06.007 --> 00:45:11.827
<v Pavel Mayer>Das heißt, man plant immer die Arbeit für zwei Wochen im Voraus.

00:45:12.027 --> 00:45:13.207
<v Pavel Mayer>Also jeden Morgen gibt es dieses Stand-up-Meeting, aber.

00:45:15.227 --> 00:45:19.327
<v Pavel Mayer>Alle zwei Wochen gibt es das sogenannte die Iterationsplanung treffen,

00:45:20.207 --> 00:45:25.787
<v Pavel Mayer>wo man ja die sogenannten Engineering Tasks, das sind die kleinsten Arbeitseinheiten,

00:45:25.927 --> 00:45:32.127
<v Pavel Mayer>die kleinsten Aufgaben, wobei jede Aufgabe dann so idealerweise ein bis drei

00:45:32.127 --> 00:45:36.387
<v Pavel Mayer>Tage an geschätzter Entwicklungszeit nur haben sollte.

00:45:36.427 --> 00:45:40.667
<v Pavel Mayer>Weil wir haben festgestellt, dass es schwierig ist, Aufgaben,

00:45:41.287 --> 00:45:44.507
<v Pavel Mayer>von denen man glaubt, dass man mehr als drei Tage dafür braucht,

00:45:44.707 --> 00:45:46.347
<v Pavel Mayer>zuverlässig schätzen zu können.

00:45:47.147 --> 00:45:54.067
<v Pavel Mayer>So das heißt, wenn man jetzt denkt, ich brauche für die Aufgabe sechs Tage, dann geht das nicht.

00:45:54.187 --> 00:46:00.187
<v Pavel Mayer>Dann muss diese Aufgabe weiter unterteilt werden in zwei oder drei Teilaufgaben,

00:46:00.547 --> 00:46:06.227
<v Pavel Mayer>die man wiederum beschreibt, also Engineering Tasks, die halt eine geringere Schätzzeit haben.

00:46:06.527 --> 00:46:13.187
<v Pavel Mayer>Und das ist eben auch, Also dieses Versuchen, zu schätzen, wie lange man braucht,

00:46:13.227 --> 00:46:14.747
<v Pavel Mayer>ist auch ein wichtiger Prozess.

00:46:15.367 --> 00:46:18.787
<v Pavel Mayer>Und da gibt es eben diese sogenannte ideale Programmierzeit,

00:46:18.867 --> 00:46:23.447
<v Pavel Mayer>die man schätzt und am Ende jeder Iteration oder nein, man hält täglich sogar

00:46:23.447 --> 00:46:27.247
<v Pavel Mayer>fest, schätzt man für jede Engineering Task morgens beim Stand-up-Meeting.

00:46:28.627 --> 00:46:29.947
<v Pavel Mayer>Wie viele Tage brauche ich noch?

00:46:31.007 --> 00:46:35.307
<v Pavel Mayer>Also wenn ich jetzt drei Tage geschätzt habe, habe jetzt einen Tag gearbeitet,

00:46:35.447 --> 00:46:39.547
<v Pavel Mayer>dann kann es sein, dass ich feststelle, okay, das ist jetzt doch schwieriger geworden.

00:46:39.707 --> 00:46:42.467
<v Pavel Mayer>Ich schätze, ich brauche immer noch drei Tage.

00:46:43.207 --> 00:46:48.647
<v Pavel Mayer>Und so hat man auch eine ganz gute Kontrolle, also einmal eine Selbstkontrolle

00:46:48.647 --> 00:46:54.327
<v Pavel Mayer>darüber, wie viel Arbeit noch da ist und wie gut man mittlerweile im Schätzen geworden ist.

00:46:54.627 --> 00:47:00.507
<v Pavel Mayer>Und nach 14 Tagen berechnet man dann die sogenannte Velocity des Teams, das heißt,

00:47:01.087 --> 00:47:06.127
<v Pavel Mayer>wie viele von den Engineering-Tasks sind jetzt tatsächlich fertig geworden und

00:47:06.347 --> 00:47:11.547
<v Pavel Mayer>wie viele, also die Velocity sind dann sozusagen die Tage idealer Programmierzeit,

00:47:11.587 --> 00:47:14.327
<v Pavel Mayer>die man in der Lage war, vorauszuplanen.

00:47:15.494 --> 00:47:19.934
<v Pavel Mayer>Das ist dann auch so ein selbstregulierendes Ding, weil für die nächste Iteration

00:47:19.934 --> 00:47:23.794
<v Pavel Mayer>nimmt man sich dann wieder nur so viel Tage oder darf man sich nur so viel Tage

00:47:23.794 --> 00:47:28.354
<v Pavel Mayer>vornehmen, wie man in der letzten Iteration auch geschafft hat.

00:47:28.714 --> 00:47:31.794
<v Tim Pritlove>Also quasi über die über die die Methode der Selbsteinschätzung,

00:47:31.854 --> 00:47:34.934
<v Tim Pritlove>der sicherlich auch nochmal Angst mindernd wirkt, nicht, wenn man das überhaupt

00:47:34.934 --> 00:47:38.174
<v Tim Pritlove>erstmal so zugibt, so ich habe länger gebraucht, das ist ja auch nicht unbedingt

00:47:38.174 --> 00:47:42.174
<v Tim Pritlove>jetzt jedermanns Sache, da so offen einzustehen.

00:47:42.174 --> 00:47:44.794
<v Tim Pritlove>Fühlt man ja sozusagen dann auch eine eine Selbstkontrolle.

00:47:45.194 --> 00:47:50.674
<v Pavel Mayer>BK'IN WIRKLICHE REDEN. Ja und an der Stelle, also XP generell erfordert schon

00:47:50.674 --> 00:47:52.734
<v Pavel Mayer>Offenheit und Vertrauen,

00:47:53.254 --> 00:48:01.294
<v Pavel Mayer>aber auch einen Vertrauensschutz dann, weil man offenbart sich schon an verschiedenen Stellen.

00:48:01.434 --> 00:48:04.934
<v Pavel Mayer>Also es fängt an beim Pair-Programming, wo man natürlich auch seine Schwächen,

00:48:05.474 --> 00:48:10.114
<v Pavel Mayer>und vielleicht Fehler, die man macht, seinem Partner offenbart.

00:48:10.114 --> 00:48:14.754
<v Pavel Mayer>Das fällt anfangs, merkt man oft vielen Leuten, nicht leicht,

00:48:14.854 --> 00:48:18.394
<v Pavel Mayer>weil sie denken, der hält mich jetzt für einen Idioten, weil ich irgendwie keine

00:48:18.394 --> 00:48:22.614
<v Pavel Mayer>Ahnung dieses oder jenes Keyword vielleicht in der Programmiersprache nicht kenne.

00:48:23.214 --> 00:48:30.274
<v Pavel Mayer>Und diese Angst zu nehmen, so das ist auch ein ganz, ganz wichtiges Ding,

00:48:30.474 --> 00:48:32.614
<v Pavel Mayer>auch, dass man Leute eben nicht in die Pfanne haut,

00:48:32.894 --> 00:48:37.294
<v Pavel Mayer>wenn sie sich jetzt verschätzt haben, sondern dass man das eben als normalen,

00:48:37.474 --> 00:48:42.414
<v Pavel Mayer>als Normalität auch begreift und versteht und versucht, dann einfach gemeinsam

00:48:42.414 --> 00:48:44.274
<v Pavel Mayer>das Ganze besser zu machen.

00:48:44.374 --> 00:48:49.494
<v Pavel Mayer>Da ist auch ein wichtiges Prinzip, dass jeder selber seine Zeit schätzt.

00:48:49.734 --> 00:48:55.754
<v Pavel Mayer>Also was nicht passieren darf bei XP ist, dass ich schätze, wie lange irgendjemand

00:48:55.754 --> 00:48:59.734
<v Pavel Mayer>anders dafür jetzt brauchen darf, weil dann kann ich ihn auch schlecht drauf

00:48:59.734 --> 00:49:04.674
<v Pavel Mayer>festnageln. Das heißt, jeder schätzt die Zeit für seine Engineering-Task selber.

00:49:05.634 --> 00:49:07.194
<v Pavel Mayer>Das ist auch ein ganz wichtiges Prinzip.

00:49:07.394 --> 00:49:09.894
<v Tim Pritlove>Was wenn man anderer Meinung ist, dann kommt das wahrscheinlich schon in diesem

00:49:09.894 --> 00:49:13.714
<v Tim Pritlove>Stand-up-Meeting. Genau, dann ist das auch Bestandteil des Stand-up-Meetings, diese Einschätzung.

00:49:14.674 --> 00:49:17.714
<v Pavel Mayer>Ja, beziehungsweise, nee, das passiert bei der Iterationsplanung.

00:49:18.754 --> 00:49:22.594
<v Pavel Mayer>Da schätzt man auch also alle 14 Tage sozusagen, wenn man diese Engineering-Tasks aufhängt.

00:49:23.194 --> 00:49:25.314
<v Pavel Mayer>Das geht auch mit schönen kleinen Kärtchen.

00:49:25.394 --> 00:49:28.014
<v Tim Pritlove>Da kommen wir zu den Karten. Okay, warte mal, da müssen wir nochmal kurz,

00:49:28.634 --> 00:49:30.954
<v Tim Pritlove>nicht, dass es verwirrt, Ich bin ein bisschen verwirrt.

00:49:31.094 --> 00:49:33.734
<v Tim Pritlove>Also wir haben jetzt an regelmäßigen Treffen, die Stand-up-Meeting, das ist jeden Tag.

00:49:34.774 --> 00:49:38.514
<v Tim Pritlove>Dann sagst du, gibt es ein Iterationsplanungstreffen.

00:49:39.434 --> 00:49:40.654
<v Pavel Mayer>Alle 14 Tage.

00:49:40.794 --> 00:49:43.854
<v Tim Pritlove>Alle 14 Tage. Ist das jetzt auch so in XP vorgeschrieben oder ist das so eure

00:49:43.854 --> 00:49:45.274
<v Tim Pritlove>Erkenntnis, wie das so zusammenhängt?

00:49:45.274 --> 00:49:50.134
<v Pavel Mayer>In XP sagt man so, Iterationen sollten ein bis drei Wochen etwa dauern.

00:49:50.814 --> 00:49:53.374
<v Tim Pritlove>Okay, dann seid ihr in der Mitte alle zwei Wochen. Und das heißt,

00:49:53.474 --> 00:49:57.674
<v Tim Pritlove>dass ihr quasi die Zeitziele aller einzelnen Tasks, aller einzelnen Aufgaben,

00:49:57.714 --> 00:49:59.154
<v Tim Pritlove>die ihr euch gestellt habt, überprüft.

00:49:59.154 --> 00:50:03.014
<v Tim Pritlove>Und dann eben auch danach, wahrscheinlich dann in Abhängigkeit der Abhängigkeiten

00:50:03.014 --> 00:50:05.594
<v Tim Pritlove>dieser Tasks untereinander, auch eine Aussage darüber treffen können,

00:50:05.634 --> 00:50:06.834
<v Tim Pritlove>wie lange brauchen wir den eigentlich noch.

00:50:07.294 --> 00:50:10.274
<v Tim Pritlove>Beziehungsweise, es gibt eine Deadline XY.

00:50:11.193 --> 00:50:14.633
<v Tim Pritlove>Die dürfen wir nicht verpassen, weil die Messe fängt an, was auch immer.

00:50:15.373 --> 00:50:18.173
<v Tim Pritlove>Und dann müssen wahrscheinlich entsprechend Features gekürzt werden oder man

00:50:18.173 --> 00:50:20.413
<v Tim Pritlove>muss sich zumindest darüber unterhalten, wie man das beschleunigen kann.

00:50:20.913 --> 00:50:22.633
<v Tim Pritlove>Gibt es sonst noch irgendwelche regelmäßigen Treffen?

00:50:23.053 --> 00:50:26.273
<v Pavel Mayer>Ja, es gibt bei größeren Projekten gibt es dann wiederum die sogenannten Release-Planungstreffen,

00:50:28.133 --> 00:50:31.553
<v Pavel Mayer>die man dann so etwa im Zwei-Monats-Zyklus macht, wo man dann versucht größer,

00:50:32.893 --> 00:50:38.273
<v Pavel Mayer>voraus zu planen, wo man dann die User-Stories sich eben auch überlegt,

00:50:38.373 --> 00:50:42.713
<v Pavel Mayer>die man für die nächste Release gerne hätte.

00:50:42.853 --> 00:50:49.733
<v Pavel Mayer>Wobei eigentlich haben wir bei unserer Arbeit festgestellt, dass wir selten

00:50:49.733 --> 00:50:52.413
<v Pavel Mayer>überhaupt Release-Planungstreffen brauchen,

00:50:53.353 --> 00:50:59.273
<v Pavel Mayer>weil die meisten Projekte, die wir machen, einfach innerhalb von zwei Monaten

00:50:59.273 --> 00:51:02.993
<v Pavel Mayer>mit dem großen Team, was wir haben erledigt sind.

00:51:03.133 --> 00:51:05.733
<v Pavel Mayer>Es gibt dann halt größere Treffen.

00:51:05.893 --> 00:51:10.453
<v Pavel Mayer>Da gibt es dann noch weitere Strukturen oben drüber bei Projekten,

00:51:10.513 --> 00:51:12.693
<v Pavel Mayer>die jetzt mehrere Jahre dauern.

00:51:14.233 --> 00:51:14.953
<v Pavel Mayer>Ja.

00:51:16.673 --> 00:51:19.373
<v Tim Pritlove>Aber wenn man jetzt ein Betriebssystem entwickelt oder so Sachen,

00:51:19.493 --> 00:51:24.433
<v Tim Pritlove>die naturgemäß über sehr lange Zeiträume laufen, mag das schon sehr sinnvoll sein.

00:51:24.853 --> 00:51:27.033
<v Tim Pritlove>So und diese Karten, die du jetzt erwähnt hast, die habe ich auch schon mal

00:51:27.033 --> 00:51:29.133
<v Tim Pritlove>gesehen. Die hängen dann bei euch an der Wand. Gibt es so Kärtchen?

00:51:29.273 --> 00:51:31.033
<v Tim Pritlove>Was ist die Aufgabe dieser Karten, dieser Story-Karten?

00:51:31.673 --> 00:51:34.513
<v Tim Pritlove>Naja, beziehungsweise diese Engineering-Task-Karten.

00:51:36.673 --> 00:51:37.713
<v Tim Pritlove>Verschiedene Karten.

00:51:38.333 --> 00:51:40.573
<v Pavel Mayer>Ja, wobei wir im Wesentlichen, die Engineering-Task-Karten,

00:51:42.673 --> 00:51:40.573
<v Pavel Mayer>sind,

00:51:42.933 --> 00:51:48.333
<v Pavel Mayer>bei uns jetzt konkret die wichtigsten. Das heißt, da weiß man einfach,

00:51:48.533 --> 00:51:51.533
<v Pavel Mayer>an denen hangelt man sich morgens dann immer entlang.

00:51:52.013 --> 00:51:52.613
<v Tim Pritlove>Was steht da drauf?

00:51:52.613 --> 00:52:00.313
<v Pavel Mayer>Da steht dann zum Beispiel so etwas drauf, was ist so ein typischer Engineering-Task,

00:52:02.713 --> 00:52:07.673
<v Pavel Mayer>bei uns, wie Unicode-Transparenz.

00:52:11.673 --> 00:52:17.073
<v Pavel Mayer>In dem und dem Modul herstellen oder dafür sorgen, dass sich Objekte auf einer

00:52:17.073 --> 00:52:19.513
<v Pavel Mayer>bestimmten Spline-Kurve bewegen oder …,

00:52:22.593 --> 00:52:27.673
<v Pavel Mayer>eines bestimmten Bereiches, der klar auch messbar ist, ganz also wo man auch

00:52:27.673 --> 00:52:33.713
<v Pavel Mayer>vor allem testbar und wo man dann ganz klar ja einzelne,

00:52:34.425 --> 00:52:38.365
<v Pavel Mayer>features eben ja das

00:52:38.365 --> 00:52:41.305
<v Pavel Mayer>werden wahrscheinlich ganze menge karten dann sein das sind

00:52:41.305 --> 00:52:44.605
<v Pavel Mayer>ja also wir sehen zu

00:52:44.605 --> 00:52:49.065
<v Pavel Mayer>dass wir möglichst auch die drei tageskarten vermeiden wenn es geht das heißt

00:52:49.065 --> 00:52:55.285
<v Pavel Mayer>wir haben ein und zwei tageskarten und drei tageskarten also wo die schätzung

00:52:55.285 --> 00:53:00.165
<v Pavel Mayer>bei drei tagen liegt wissen wir die sind schon unter umständen kritisch also

00:53:00.165 --> 00:53:02.925
<v Pavel Mayer>die unterschiedliche farbe also sieht man das gleich.

00:53:02.925 --> 00:53:09.585
<v Pavel Mayer>Das steht drauf, es gibt eine Spalte dafür und da steht die erste Schätzung drin,

00:53:10.365 --> 00:53:14.325
<v Pavel Mayer>also in jeder Zeile wird dann jeden Tag, wo an einer Karte gearbeitet wird,

00:53:14.705 --> 00:53:16.105
<v Pavel Mayer>wird halt eingetragen, okay,

00:53:16.585 --> 00:53:21.005
<v Pavel Mayer>wie viel ist dann gearbeitet worden und wie viel glaube ich,

00:53:21.325 --> 00:53:25.845
<v Pavel Mayer>dass ich jetzt noch brauche für diese einzelne Task. A.

00:53:25.845 --> 00:53:31.805
<v Tim Pritlove>Ok, das heißt diese Karte dient gar nicht mal nur dazu, um aufzuschreiben, was noch zu tun ist.

00:53:32.085 --> 00:53:34.925
<v Tim Pritlove>Das ist jetzt nicht eine reine To-Do-Liste, sondern es reflektiert quasi auch,

00:53:35.465 --> 00:53:37.005
<v Tim Pritlove>den Fortschritt, den man konkret gemacht hat.

00:53:37.505 --> 00:53:40.305
<v Tim Pritlove>D.h. wenn ein Tag daran gearbeitet wurde und man hat das Problem noch nicht

00:53:40.405 --> 00:53:43.745
<v Tim Pritlove>gelöst, dann wird eingetragen, den und den Fortschritt habe ich jetzt erzielt,

00:53:44.225 --> 00:53:46.705
<v Tim Pritlove>oder macht man eine Strichliste oder was?

00:53:46.965 --> 00:53:49.905
<v Pavel Mayer>Ich habe jetzt einen tag dran gearbeitet oder einen halben

00:53:49.905 --> 00:53:53.425
<v Pavel Mayer>tag dran gearbeitet und ich brauche jetzt noch anderthalb

00:53:53.425 --> 00:53:56.505
<v Pavel Mayer>tage beispielsweise und wenn die engineering

00:53:56.505 --> 00:54:02.485
<v Pavel Mayer>task eben wenn ich fertig bin dann wird die schön durchgestrichen und dann wendet

00:54:02.485 --> 00:54:06.665
<v Pavel Mayer>man sich der nächsten karte zu so und für 14 tage hat also jeder entwickler

00:54:06.665 --> 00:54:16.205
<v Pavel Mayer>so ich sag mal zwischen zwei bis vier karten etwa so und dann kann man sich das halt ausrechnen,

00:54:16.785 --> 00:54:22.445
<v Pavel Mayer>so wie viel Engineering Tasks man so als Pro-Entwickler dann bearbeitet.

00:54:24.725 --> 00:54:28.625
<v Pavel Mayer>Also pro Woche, sagen wir mal, zwei Karten. Das heißt, jeder Entwickler macht,

00:54:29.525 --> 00:54:31.825
<v Pavel Mayer>halt etwa 100 Engineering Tasks pro Jahr.

00:54:32.225 --> 00:54:34.745
<v Pavel Mayer>Und bei einem 10-Mann-Team sind es halt 1000 Engineering Tasks,

00:54:36.485 --> 00:54:37.585
<v Pavel Mayer>die man so pro Jahr etwa dann,

00:54:39.745 --> 00:54:37.945
<v Pavel Mayer>abarbeitet.

00:54:40.545 --> 00:54:42.385
<v Tim Pritlove>Das heißt, man braucht eine relativ große Tafel.

00:54:42.719 --> 00:54:45.379
<v Tim Pritlove>Wie viele Karten hängen da so normalerweise gleichzeitig?

00:54:46.419 --> 00:54:48.719
<v Pavel Mayer>Immer nur die für die nächsten 14 Tage.

00:54:49.239 --> 00:54:51.659
<v Tim Pritlove>Und wie viel sind das dann so bei euch, mal nur so von der Dimension?

00:54:52.059 --> 00:54:56.479
<v Pavel Mayer>Naja, wie gesagt, so vier pro Person, je nach Teamgröße hängen dann da vielleicht

00:54:56.479 --> 00:55:02.099
<v Pavel Mayer>20 Karten an der Wand so und die werden dann in 14 Tagen alle abgearbeitet.

00:55:02.139 --> 00:55:05.439
<v Tim Pritlove>Haben die dann eine spezielle Sortierung? in einer Form also die abholen die

00:55:05.439 --> 00:55:07.819
<v Tim Pritlove>jetzt nach den nach der Wichtigkeit nice to have oder wie?

00:55:08.079 --> 00:55:12.259
<v Pavel Mayer>Sven Ne die werden ja konkret einer Person zugeteilt so

00:55:12.259 --> 00:55:15.439
<v Pavel Mayer>dass das läuft dann so ab dass da wird dann in dem

00:55:15.439 --> 00:55:21.059
<v Pavel Mayer>Treffen eine Task aufgeschrieben und dann wird gefragt so wer hat Interesse

00:55:21.059 --> 00:55:26.919
<v Pavel Mayer>dran diese Task jetzt zu übernehmen und dann kann jemand die Hand heben und

00:55:26.919 --> 00:55:31.379
<v Pavel Mayer>entweder man hebt die Hand frühzeitig oder man kriegt halt dann irgendwann die

00:55:31.379 --> 00:55:33.699
<v Pavel Mayer>Karten die übrig bleiben.

00:55:33.699 --> 00:55:38.539
<v Pavel Mayer>So jetzt kann man sich dann überlegen, das funktioniert eigentlich recht gut.

00:55:38.799 --> 00:55:42.159
<v Tim Pritlove>Die Karten sind einfach Papier. Schon mal drüber nachgedacht,

00:55:42.219 --> 00:55:43.419
<v Tim Pritlove>das Ganze elektronisch zu machen?

00:55:43.759 --> 00:55:47.619
<v Pavel Mayer>Ja, allerdings haben diese Papierkarten,

00:55:48.499 --> 00:55:53.119
<v Pavel Mayer>doch erhebliche Handling Vorteile gegenüber was Elektronischen.

00:55:53.219 --> 00:55:57.339
<v Pavel Mayer>Es geht einfach schneller mit den Karten an der Pinnwand. Die kann man eben

00:55:57.339 --> 00:56:00.179
<v Pavel Mayer>mal abnehmen oder zurückschieben.

00:56:00.279 --> 00:56:05.039
<v Pavel Mayer>Man kann sie sehr schnell ausfüllen. Also da sind die Karten einfach jeder elektronischen

00:56:05.039 --> 00:56:08.299
<v Pavel Mayer>Lösung, glaube ich, überlegen.

00:56:08.579 --> 00:56:11.119
<v Tim Pritlove>SIEGFRIED Lebt man die denn runter, wenn man dann jetzt sozusagen daran arbeitet?

00:56:11.339 --> 00:56:13.419
<v Tim Pritlove>Heißt das so, ich picke mir heute meine Aufgaben?

00:56:13.559 --> 00:56:17.299
<v Pavel Mayer>BARTHOLZ Nö, die hängen da und wie gesagt, vor allen Dingen morgens beim Stand-Up-Meeting,

00:56:18.099 --> 00:56:21.779
<v Pavel Mayer>kann man dann die Karten durchgehen und die dienen dann sehr schön als Orientierung auch,

00:56:24.079 --> 00:56:26.059
<v Pavel Mayer>dass man sich halt nicht verdaddelt und man sieht dann auch,

00:56:26.559 --> 00:56:28.459
<v Pavel Mayer>was man noch zu tun hat an Aufgaben.

00:56:29.339 --> 00:56:33.279
<v Pavel Mayer>Man kann sich das selber überlegen, an welcher Karte von denen,

00:56:33.339 --> 00:56:37.459
<v Pavel Mayer>die man jetzt hat, man als erstes bearbeitet, spielt dann nicht unbedingt die

00:56:37.459 --> 00:56:40.599
<v Pavel Mayer>Rolle, was man dann nimmt.

00:56:42.456 --> 00:56:48.816
<v Tim Pritlove>Haben wir jetzt die ganzen konzepte im kern schon bei weitem nicht bei weitem

00:56:48.816 --> 00:56:50.496
<v Tim Pritlove>nicht das klingt ja relativ komplexen

00:56:50.496 --> 00:56:53.896
<v Tim Pritlove>system wie lange muss man sich damit beschäftigen bis man das so halbwegs.

00:56:55.396 --> 00:57:01.596
<v Pavel Mayer>Wie gesagt das geht das geht relativ schnell weil die sachen alle sie sind halt auch.

00:57:02.296 --> 00:57:08.116
<v Pavel Mayer>Sehr, sehr eingängig und sie sind halt logisch und schlüssig und viele dieser

00:57:08.116 --> 00:57:13.296
<v Pavel Mayer>Dinge sind auch Dinge, die man sowieso schon macht oder mal gemacht hat,

00:57:13.596 --> 00:57:20.576
<v Pavel Mayer>allerdings nicht in dieser Kombination und in dieser Gründlichkeit und Konsequenz.

00:57:20.696 --> 00:57:25.336
<v Pavel Mayer>Also man setzt sich gerne mal mit guten Freunden zusammen vor den Rechner und das hat,

00:57:25.576 --> 00:57:30.796
<v Pavel Mayer>glaube ich, auch jeder Programmierer mal gemacht oder das Testen gut ist,

00:57:30.976 --> 00:57:36.456
<v Pavel Mayer>ist auch klar und priorisieren, aber das eben konkret zu machen,

00:57:36.976 --> 00:57:40.596
<v Pavel Mayer>das ist wichtig, aber vielleicht noch mal auf die Iterationen zurückzukommen

00:57:40.596 --> 00:57:42.396
<v Pavel Mayer>und auf den Kunden so ein bisschen.

00:57:43.516 --> 00:57:48.076
<v Pavel Mayer>Wichtig ist es, hatte ich ja schon erwähnt, dass man sehr schnell was funktionierendes

00:57:48.076 --> 00:57:52.856
<v Pavel Mayer>hat, was man auch dem Kunden zeigen kann, so dass man halt Feedback einholen kann.

00:57:52.856 --> 00:57:54.276
<v Tim Pritlove>Kurze Redezeit hat sozusagen.

00:57:54.976 --> 00:57:59.616
<v Pavel Mayer>Dass man eigentlich immer ein funktionierendes System hat, was man dem Kunden

00:57:59.616 --> 00:58:04.516
<v Pavel Mayer>zeigen kann und wo er dann ganz konkret schon sehr früh sieht, was er bekommt.

00:58:04.656 --> 00:58:09.316
<v Pavel Mayer>Das heißt nicht erst am Ende völlig überrascht ist, was hat er denn da,

00:58:09.396 --> 00:58:13.916
<v Pavel Mayer>sondern eigentlich begleitet er den Prozess die ganze Zeit über und kann dann

00:58:13.916 --> 00:58:17.356
<v Pavel Mayer>auch nicht am Ende sagen, hoch, also das hätte ich jetzt nicht erwartet.

00:58:17.476 --> 00:58:23.376
<v Pavel Mayer>Und unsere Erfahrung ist, dass die Kunden, also in der Regel die das dann wirklich

00:58:23.376 --> 00:58:29.496
<v Pavel Mayer>auch begleiten, dann doch sehr angetan sind und auch sehr überrascht sind, dann am Ende,

00:58:29.856 --> 00:58:38.596
<v Pavel Mayer>wie viel, also wie sehr das System dann ihren Vorstellungen tatsächlich entspricht.

00:58:38.956 --> 00:58:42.516
<v Pavel Mayer>Und so, das tut dann halt sehr.

00:58:45.196 --> 00:58:49.996
<v Tim Pritlove>Also im Prinzip deine Erfahrung mit Extreme Programming ist die,

00:58:50.176 --> 00:58:53.336
<v Tim Pritlove>um das mal auch ein bisschen zusammenzufassen, dass dadurch,

00:58:53.496 --> 00:58:54.796
<v Tim Pritlove>dass man in Teams arbeitet,

00:58:55.476 --> 00:58:59.456
<v Tim Pritlove>dadurch, dass Leute sich nicht nur um eine Sache kümmern, sondern dass man eigentlich

00:58:59.456 --> 00:59:05.116
<v Tim Pritlove>seine Programmierer über die zu erledigenden Aufgaben streut,

00:59:05.236 --> 00:59:06.456
<v Tim Pritlove>immer wieder austauscht,

00:59:06.896 --> 00:59:11.496
<v Tim Pritlove>Dadurch, dass man seine Software, während man sie entwickelt,

00:59:11.536 --> 00:59:16.596
<v Tim Pritlove>am laufenden Meta testet, dass man im Prinzip den Test schon vorher schreibt und auch dadurch,

00:59:16.696 --> 00:59:19.636
<v Tim Pritlove>dass man sich bemüht, und das hängt ja mit diesen Tests auch ein bisschen zusammen,

00:59:19.716 --> 00:59:23.476
<v Tim Pritlove>weil man kann ja nichts testen, was nicht läuft, dass man sich bemüht immer

00:59:23.476 --> 00:59:26.956
<v Tim Pritlove>zu einem laufenden System beizutragen, sodass man eben nicht so drei,

00:59:27.056 --> 00:59:29.996
<v Tim Pritlove>vier Wochen Hänger hat, wo erstmal gar nichts läuft und ich schreibe jetzt sowieso

00:59:29.996 --> 00:59:32.416
<v Tim Pritlove>erstmal alles neu und keiner kann was testen.

00:59:32.416 --> 00:59:37.476
<v Tim Pritlove>Dass man damit eigentlich auch unmittelbar den Anforderungen des Auftraggebers,

00:59:37.636 --> 00:59:39.776
<v Tim Pritlove>Kunden, wie man es auch immer nennen möchte, entgegenkommt.

00:59:40.056 --> 00:59:46.856
<v Pavel Mayer>B2 Ja und man minimiert das Risiko natürlich extrem, weil man auch,

00:59:46.976 --> 00:59:49.416
<v Pavel Mayer>wenn man sieht, das läuft in die falsche Richtung,

00:59:49.636 --> 00:59:53.596
<v Pavel Mayer>dann kann man halt frühzeitig gegensteuern und nicht erst, wenn das ganze Geld

00:59:53.596 --> 00:59:57.716
<v Pavel Mayer>ausgegeben ist, sondern man hat halt dann sehr frühzeitig.

00:59:57.716 --> 01:00:06.296
<v Pavel Mayer>Und man weiß auch darüber, also wir haben gerade jetzt in den fünf Jahren noch das ganze Thema.

01:00:08.596 --> 01:00:17.256
<v Pavel Mayer>Vorhersage noch ganz gut optimiert. Das heißt, wie lange brauchen wir für bestimmte Aufgaben?

01:00:17.356 --> 01:00:22.196
<v Pavel Mayer>Da haben wir noch ein paar eigene Verfeinerungen eingeführt,

01:00:22.376 --> 01:00:31.496
<v Pavel Mayer>nämlich dass wir Engineering Tasks nach Innovationsgrad und nach Komplexität nochmal versuchen,

01:00:32.056 --> 01:00:33.436
<v Pavel Mayer>einzuordnen.

01:00:33.556 --> 01:00:38.836
<v Pavel Mayer>Und wir haben halt Metriken, wo wir wissen, wie sehr wir uns verschätzen bei

01:00:38.836 --> 01:00:45.936
<v Pavel Mayer>einzelnen Aufgaben, abhängig davon eben, wie innovativ und wie komplex die Dinge sind.

01:00:46.196 --> 01:00:53.336
<v Pavel Mayer>Und diese Faktoren berechnen wir vorher bei der Planung schon mit ein und sind

01:00:53.336 --> 01:00:59.116
<v Pavel Mayer>mittlerweile tatsächlich so gut, dass wir in den letzten anderthalb Jahren,

01:00:59.236 --> 01:01:07.216
<v Pavel Mayer>ist mir kein Fall bekannt, wo wir wesentlich über der veranschlagten Zeit gelegen

01:01:07.216 --> 01:01:12.036
<v Pavel Mayer>hätten und wo wir tatsächlich die erwarteten Features in der erwarteten Zeit

01:01:12.036 --> 01:01:14.856
<v Pavel Mayer>dann auch geschafft haben.

01:01:14.856 --> 01:01:23.096
<v Pavel Mayer>Und es gibt natürlich auch gerade bei den Projektleitern ein Vertrauen, was wichtig ist.

01:01:23.196 --> 01:01:28.456
<v Pavel Mayer>Sie brauchen auch nicht irgendwie künstliche Sicherheiten einzurechnen, weil das.

01:01:30.521 --> 01:01:37.781
<v Pavel Mayer>Ja, das passt. Und bei größeren Dingen hat man eben auch mehr Vorwarnzeit.

01:01:38.021 --> 01:01:43.101
<v Pavel Mayer>Also wir haben teilweise bei größeren Projekten so die Vorwarnzeit auf,

01:01:43.481 --> 01:01:47.601
<v Pavel Mayer>ich sag mal, zwei Monate etwa so herausgesetzt.

01:01:47.721 --> 01:01:53.121
<v Pavel Mayer>Das heißt, wir konnten relativ genau, also zwei Monate vorher schon sagen,

01:01:53.541 --> 01:01:58.501
<v Pavel Mayer>dass wir voraussichtlich nicht fertig werden mit dem erwarteten Umfang.

01:01:58.681 --> 01:02:03.661
<v Pavel Mayer>Das erfordert auch wieder Mut zur Wahrheit und die Leute wollen einem das oft

01:02:03.661 --> 01:02:08.701
<v Pavel Mayer>gar nicht glauben, dass man halt schon zwei Monate vorher weiß, dass man genau,

01:02:09.241 --> 01:02:12.701
<v Pavel Mayer>wir können dann genau sagen, okay, wir brauchen sechs Tage länger,

01:02:12.901 --> 01:02:17.341
<v Pavel Mayer>zwei Monate im Voraus, um fertig zu werden.

01:02:17.641 --> 01:02:21.021
<v Tim Pritlove>Ja, weil die gängige Annahme ja die ist, dass man dann einfach am Wochenende

01:02:21.021 --> 01:02:23.421
<v Tim Pritlove>mal ein bisschen durcharbeitet, dann holt man das schon wieder raus.

01:02:23.721 --> 01:02:25.321
<v Tim Pritlove>Aber das macht ihr dann ganz bewusst nicht.

01:02:25.701 --> 01:02:31.261
<v Pavel Mayer>Überstunden sind verboten bei Extreme Programming. Das ist halt auch noch ein wichtiges Merkmal,

01:02:31.961 --> 01:02:38.181
<v Pavel Mayer>weil Überstunden sich letztendlich nicht auszahlen,

01:02:38.601 --> 01:02:48.521
<v Pavel Mayer>weil wenn die Leute mehr arbeiten, also es ist halt nicht nachhaltig, so eine Crunch Time.

01:02:48.641 --> 01:02:53.581
<v Pavel Mayer>Das heißt, wenn die Leute zu viel arbeiten, sinkt faktisch die Produktivität.

01:02:54.061 --> 01:02:59.761
<v Pavel Mayer>Das heißt, man versucht, jeden einzelnen Entwickler so an seinem Sweet Spot,

01:03:00.021 --> 01:03:05.401
<v Pavel Mayer>also die Produktivität am Sweet Spot zu halten, weil wenn man darüber hinausgeht,

01:03:05.501 --> 01:03:09.321
<v Pavel Mayer>mag sein, dass man dann vielleicht tatsächlich die Woche früher fertig wird.

01:03:09.881 --> 01:03:12.181
<v Pavel Mayer>Gelegentlich passiert das auch,

01:03:12.281 --> 01:03:16.301
<v Pavel Mayer>aber da gibt es die Regel, wenn es denn absolut nicht zu vermeiden ist.

01:03:16.795 --> 01:03:21.415
<v Pavel Mayer>Dass man dann zeitnah wiederum für Ausgleich und Erholung sorgt.

01:03:21.715 --> 01:03:25.795
<v Pavel Mayer>Das heißt, wenn jemand tatsächlich mal Überstunden einschieben musste,

01:03:25.995 --> 01:03:27.695
<v Pavel Mayer>dass er dann gezwungen wird,

01:03:27.955 --> 01:03:32.075
<v Pavel Mayer>zwei Tage frei zu nehmen, wenn er das Wochenende übergearbeitet hat,

01:03:32.175 --> 01:03:37.275
<v Pavel Mayer>um einfach die Leute maximal produktiv zu halten.

01:03:37.735 --> 01:03:44.755
<v Pavel Mayer>Und das ist eben auch eine Sache, die einfach ökonomisch ist,

01:03:44.755 --> 01:03:48.875
<v Pavel Mayer>Weil man lügt sich dann auch in die Tasche, wenn man meint.

01:03:50.015 --> 01:03:54.295
<v Pavel Mayer>Leute holen sich ihren Urlaub so oder so, selbst wenn sie vom,

01:03:54.915 --> 01:03:59.495
<v Pavel Mayer>vom Rechner sitzen, dann starren sie halt zwei Stunden in den Bildschirm,

01:03:59.575 --> 01:04:06.195
<v Pavel Mayer>ohne etwas zu tun oder klicken im Web rum oder tun einfach andere Dinge.

01:04:06.975 --> 01:04:14.815
<v Pavel Mayer>Und dann ist es einfach am besten, wenn jeder ja acht Stunden am Tag konzentriert

01:04:14.815 --> 01:04:20.515
<v Pavel Mayer>an einer Sache auch arbeitet, als jetzt zwölf Stunden dort zu sitzen,

01:04:20.735 --> 01:04:26.375
<v Pavel Mayer>aber acht Stunden davon eigentlich nur schlapp in den Seilen zu hängen.

01:04:26.375 --> 01:04:30.375
<v Tim Pritlove>Ist ein ehrlicher Deal, da fällt mir noch was ein, vielleicht macht ihr das

01:04:30.375 --> 01:04:32.975
<v Tim Pritlove>ja auch, aber da würde mich auch mal deine Meinung dazu interessieren.

01:04:33.595 --> 01:04:37.775
<v Pavel Mayer>Es wird ja so kolportiert, dass bei Google ist die Anweisung,

01:04:37.935 --> 01:04:40.835
<v Pavel Mayer>gibt es die Poemierer, ich weiß nicht, ob es nur die Poemierer betrifft,

01:04:40.915 --> 01:04:45.595
<v Pavel Mayer>im Wesentlichen wahrscheinlich, dass die einen Tag in der Woche freikriegen,

01:04:45.755 --> 01:04:47.735
<v Pavel Mayer>um an ihren eigenen Projekten zu arbeiten.

01:04:48.615 --> 01:04:50.495
<v Pavel Mayer>Habt ihr so was ähnliches? Nein.

01:04:51.315 --> 01:04:54.095
<v Tim Pritlove>Also ich bin mir jetzt ehrlich gesagt bei dem Tag in der Woche nicht ganz so

01:04:54.095 --> 01:04:58.735
<v Tim Pritlove>sicher, aber es gibt ein gewisses Zeitkontingent, was sozusagen freigestellt

01:04:58.735 --> 01:05:02.655
<v Tim Pritlove>wird, die Programmierer explizit ermutigt werden auch eigene Sachen auszuprobieren.

01:05:03.155 --> 01:05:07.295
<v Pavel Mayer>Ja, ich meine das ist sicherlich auch eine gute Sache, wenn man sich's äh...

01:05:08.799 --> 01:05:14.339
<v Pavel Mayer>Leisten kann bei uns. Konkret läuft es so, dass wir auch eine ganze Reihe von

01:05:14.339 --> 01:05:17.519
<v Pavel Mayer>Forschungsprojekten haben, aber das wird dann einfach eingestreut.

01:05:17.679 --> 01:05:23.919
<v Pavel Mayer>Das sind dann auch Engineering-Tasks, die ja, dann äh. A.

01:05:23.919 --> 01:05:27.279
<v Tim Pritlove>Achso, wo man sich quasi dann auch gemeinsam drauf einigt, dass man in den Sachen

01:05:27.279 --> 01:05:28.419
<v Tim Pritlove>schon immer mal rumforschen wollte.

01:05:28.539 --> 01:05:31.179
<v Tim Pritlove>Und das können dann aber auch Einzelne vorbringen, dass sie das sozusagen mal

01:05:31.179 --> 01:05:32.359
<v Tim Pritlove>für ein interessantes Ding halten.

01:05:32.359 --> 01:05:38.339
<v Pavel Mayer>Ja, bestimmte Features oder Projekte, die sich die Gruppe dann einfach selber

01:05:38.339 --> 01:05:41.919
<v Pavel Mayer>geben kann, wo es dann in dem Sinne keinen Kunden gibt, sondern wo die Gruppe

01:05:41.919 --> 01:05:46.239
<v Pavel Mayer>als solche der Kunde ist, weil man gerne ein bestimmtes Feature hätte.

01:05:46.239 --> 01:05:51.859
<v Pavel Mayer>Was wir allerdings machen, ist der sogenannte Infrastructure Friday,

01:05:52.939 --> 01:05:59.379
<v Pavel Mayer>wobei tatsächlich nur das ein halber Tag ist, wo wir uns gemeinsam um unsere

01:05:59.379 --> 01:06:00.979
<v Pavel Mayer>Tools und Werkzeuge kümmern.

01:06:01.039 --> 01:06:05.319
<v Pavel Mayer>Weil wir haben festgestellt, oft wenn die Zeit knapp ist, dann denkt man,

01:06:05.459 --> 01:06:11.539
<v Pavel Mayer>okay, also dieses Problem mit dem Bildsystem oder irgendwie jenes Dokumentationstool,

01:06:11.599 --> 01:06:13.839
<v Pavel Mayer>wenn ich ein bisschen Zeit habe, dann fixe ich das.

01:06:13.899 --> 01:06:20.019
<v Pavel Mayer>Aber tatsächlich kann man nicht vorhersagen, wann wirklich die Zeit da ist.

01:06:20.139 --> 01:06:24.499
<v Pavel Mayer>Das heißt, wir sehen zu, dass wir regelmäßig einen halben Tag pro Woche wirklich

01:06:24.499 --> 01:06:31.919
<v Pavel Mayer>darauf verwenden, unsere eigene Entwicklungsumgebung, Bildserver und so weiter zu verbessern.

01:06:32.279 --> 01:06:34.119
<v Tim Pritlove>Alle dann gleichzeitig quasi?

01:06:34.819 --> 01:06:42.539
<v Pavel Mayer>Ja, wir haben da eigentlich den Freitagnachmittag so bei uns dafür reserviert.

01:06:42.679 --> 01:06:44.419
<v Pavel Mayer>Das heißt, Zum Wochenausklang.

01:06:45.439 --> 01:06:46.719
<v Pavel Mayer>Zum Wochenausklang, genau.

01:06:47.099 --> 01:06:48.899
<v Tim Pritlove>Dann weiß man auch gleich, wenn man Montag wieder reinkommt,

01:06:48.979 --> 01:06:50.319
<v Tim Pritlove>ist alles ein bisschen besser als vorher.

01:06:52.139 --> 01:06:56.499
<v Tim Pritlove>Interessante Motivationsschritt. Zumal der Freitagnachmittag ja sowieso immer

01:06:56.499 --> 01:06:58.799
<v Tim Pritlove>so die Tendenz hat, etwas auszufranzen.

01:06:59.619 --> 01:07:02.759
<v Tim Pritlove>Dann leidet zumindest nicht die eigentliche Softwareentwicklung.

01:07:02.979 --> 01:07:05.379
<v Tim Pritlove>Ah ja, okay. Interessanter Ansatz.

01:07:06.119 --> 01:07:09.419
<v Tim Pritlove>Haben wir denn jetzt die ganzen Kernpunkte von XP, sagen wir jetzt mal so,

01:07:09.499 --> 01:07:13.439
<v Tim Pritlove>wie es im Buch steht, bereits abgearbeitet?

01:07:13.919 --> 01:07:18.579
<v Tim Pritlove>Ich glaube die wichtigsten Dinge haben wir jetzt.

01:07:19.179 --> 01:07:24.199
<v Tim Pritlove>Gibt es denn einen einzelnen Punkt von diesen Guidelines, wie ich das mal nennen

01:07:24.199 --> 01:07:28.179
<v Tim Pritlove>möchte, diesen Richtlinien, die Extreme Programming da aufruft,

01:07:28.619 --> 01:07:29.979
<v Tim Pritlove>die dir besonders imponiert haben?

01:07:32.199 --> 01:07:36.259
<v Tim Pritlove>Oder vielleicht sogar, je nachdem, vielleicht auch etwas, was sehr viel mehr

01:07:36.259 --> 01:07:38.999
<v Tim Pritlove>Effizienz gebracht hat, als du es ursprünglich erwartet hättest.

01:07:39.299 --> 01:07:42.919
<v Tim Pritlove>Wenn das jetzt so jemand hört, denkt er sich so, ah, naja, einsam auf dem Rechner sitzen und so.

01:07:42.919 --> 01:07:48.919
<v Pavel Mayer>Ich denke, wenn ich jetzt gezwungen wäre, drei Kernpunkte rauszugreifen,

01:07:49.159 --> 01:07:54.219
<v Pavel Mayer>die am wichtigsten sind, dann ist das das iterative Vorgehen,

01:07:54.759 --> 01:07:57.699
<v Pavel Mayer>das Pairing auf jeden Fall und das Testen.

01:07:57.699 --> 01:08:02.439
<v Pavel Mayer>So diese, ja die automatischen Tests, das sind, würde ich sagen,

01:08:02.739 --> 01:08:06.419
<v Pavel Mayer>die unverzichtbar sind.

01:08:07.479 --> 01:08:15.099
<v Pavel Mayer>Ja, aber alle anderen Dinge werden auch gebraucht, damit das eben smooth ineinander greift.

01:08:15.179 --> 01:08:22.419
<v Pavel Mayer>Und als Wert eben, ja, die Ehrlichkeit. Also das ist auch immer,

01:08:22.619 --> 01:08:27.839
<v Pavel Mayer>also Ehrlichkeit mit sich selbst und Ehrlichkeit gegenüber dem Kunden.

01:08:28.179 --> 01:08:29.419
<v Tim Pritlove>B2. Und dem Rest des Teams auch. A1.

01:08:29.419 --> 01:08:33.799
<v Pavel Mayer>Und natürlich ja, also Ehrlichkeit und Vertrauen. B2.

01:08:33.799 --> 01:08:35.759
<v Tim Pritlove>Führt auch zu einer besseren Stimmung wahrscheinlich.

01:08:36.019 --> 01:08:43.819
<v Pavel Mayer>A1. Auf jeden Fall. Also gerade die Stimmung und die Krankheitsrate und also. B2.

01:08:43.819 --> 01:08:47.219
<v Tim Pritlove>Naja, auch die Bereitschaft einzuspringen, wenn jetzt jemand Probleme hat wahrscheinlich.

01:08:49.219 --> 01:08:52.579
<v Tim Pritlove>A1. Mhm. Die schönen Utopier in der Vorfeldentwicklung.

01:08:53.439 --> 01:08:59.459
<v Pavel Mayer>Und wenn es denn wirklich mal brennt, dann kann man auch, dann weiß man,

01:08:59.679 --> 01:09:04.039
<v Pavel Mayer>also wenn wirklich die Dinge mal schief gegangen sind, wenn wirklich die Realität

01:09:04.039 --> 01:09:09.159
<v Pavel Mayer>mal komplett mit der Planung auseinandergelaufen ist,

01:09:09.759 --> 01:09:16.419
<v Pavel Mayer>was halt manchmal einfach passiert durch, also am häufigsten durch äußere Einflüsse,

01:09:16.419 --> 01:09:18.479
<v Pavel Mayer>dass sich eben die Bedingungen,

01:09:18.939 --> 01:09:23.979
<v Pavel Mayer>die äußeren Bedingungen ändern oder man manchmal von vornherein weiß,

01:09:24.219 --> 01:09:26.199
<v Pavel Mayer>eigentlich geht es nicht.

01:09:26.259 --> 01:09:29.699
<v Pavel Mayer>Aber dann weiß man, dass man ein absolut fittes Team hat,

01:09:29.999 --> 01:09:32.959
<v Pavel Mayer>was dann auch in der Lage ist,

01:09:33.199 --> 01:09:38.339
<v Pavel Mayer>richtig zuzupacken und auch den Karren aus dem Dreck zu ziehen und nicht eine

01:09:38.339 --> 01:09:41.319
<v Pavel Mayer>halb geschlagene Armee,

01:09:41.559 --> 01:09:48.559
<v Pavel Mayer>die irgendwie schon halb Halb verhungert schlaflos mit Rändern sowieso und nur

01:09:48.559 --> 01:09:50.459
<v Pavel Mayer>noch resigniert irgendwie,

01:09:51.519 --> 01:09:52.939
<v Pavel Mayer>ankämpft ja.

01:09:53.919 --> 01:09:57.859
<v Tim Pritlove>Was mich noch interessieren würde gibt es technische Werkzeuge die ihr jetzt

01:09:57.859 --> 01:10:02.919
<v Tim Pritlove>zum Einsatz bringt die jetzt über die normalen Entwicklungswerkzeuge hinaus geben?

01:10:03.482 --> 01:10:06.562
<v Pavel Mayer>Die jetzt zu irgendeinem dieser punkte im extrem bei programming

01:10:06.562 --> 01:10:11.322
<v Pavel Mayer>beitragen also kommunikation zum austausch zu der meditation also definitiv

01:10:11.322 --> 01:10:19.022
<v Pavel Mayer>also unser bild system also der automatisierungsgrad in unserem bild und dokumentationssystem

01:10:19.022 --> 01:10:25.682
<v Pavel Mayer>glaube ich ist ziemlich fortgeschritten und zwar hatte ich ja schon erwähnt,

01:10:25.982 --> 01:10:28.882
<v Pavel Mayer>was man sowieso hat, zentrales Repository,

01:10:29.542 --> 01:10:33.022
<v Pavel Mayer>der Bild und die automatischen Tests.

01:10:33.882 --> 01:10:40.542
<v Pavel Mayer>Was sich bei uns aber noch anschließt an die Module-Tests, sind halt generelle Regressions-Tests,

01:10:42.642 --> 01:10:44.542
<v Pavel Mayer>wo halt, also wir haben halt eine 3D-Multimedia-Software,

01:10:47.022 --> 01:10:55.782
<v Pavel Mayer>Bilder, die halt dann bestimmte Szenen rendern soll und dort haben wir beispielsweise etwa 100 Ergebnisse,

01:10:55.942 --> 01:11:04.062
<v Pavel Mayer>also Testbilder, die dann rausgeschrieben werden und die dann verglichen werden

01:11:04.062 --> 01:11:06.062
<v Pavel Mayer>am Ende des Prozesses und...

01:11:07.482 --> 01:11:12.942
<v Tim Pritlove>Also kannst du nochmal kurz erläutern, was ein Regressionstest ist?

01:11:12.942 --> 01:11:18.482
<v Pavel Mayer>Das ist mehr ein Test, wo man das Ergebnis, was bei dem Test rauskommt,

01:11:18.602 --> 01:11:23.822
<v Pavel Mayer>mit einem vorgegebenen, mit einem Soll-Ergebnis dann einfach vergleicht.

01:11:24.902 --> 01:11:29.662
<v Tim Pritlove>Inwiefern ist das jetzt ein, also ich meine, macht das nicht jeder Test,

01:11:29.762 --> 01:11:32.002
<v Tim Pritlove>ich meine, testet ob das und das stattfindet?

01:11:32.602 --> 01:11:36.782
<v Pavel Mayer>Ja, allerdings sind, also diese sind dann nicht mehr auf Modulebene,

01:11:37.042 --> 01:11:41.022
<v Pavel Mayer>also keine Modultests mehr, sondern tatsächlich auf Anwendungsebene,

01:11:41.202 --> 01:11:43.672
<v Pavel Mayer>wo… Geht's beim Registrierungs-Test nicht auch ein bisschen um die Wiederholung,

01:11:44.272 --> 01:11:45.912
<v Pavel Mayer>dass man das irgendwie in verschiedenen Varianten testet?

01:11:47.792 --> 01:11:52.512
<v Pavel Mayer>Ja gut, natürlich versucht man mit den Tests möglichst viel,

01:11:52.752 --> 01:11:56.232
<v Pavel Mayer>ich sag mal, Codepfad abzudecken.

01:11:56.432 --> 01:12:03.772
<v Pavel Mayer>Also die Test-Coverage, dass halt jede Codezeile, die durchlaufen werden kann,

01:12:04.272 --> 01:12:08.232
<v Pavel Mayer>auch irgendwo dann am Ende ein Ergebnis hat.

01:12:08.612 --> 01:12:14.132
<v Pavel Mayer>Aber vielleicht lasse ich noch mal beim Bildsystem sozusagen die Specials,

01:12:14.172 --> 01:12:20.912
<v Pavel Mayer>die vermutlich kaum jemand oder von wo ich zumindest nicht gehört habe davon,

01:12:21.112 --> 01:12:24.292
<v Pavel Mayer>dass außer uns jemand so weit gegangen ist.

01:12:25.192 --> 01:12:30.572
<v Pavel Mayer>Das eine ist, wir machen auch Performance-Tests, das heißt, es wird nicht nur.

01:12:31.702 --> 01:12:37.202
<v Pavel Mayer>Es wird nicht nur das Ergebnis getestet, sondern wir machen während des Testens

01:12:37.202 --> 01:12:40.742
<v Pavel Mayer>auch Laufzeit-Statistiken, die in den Bild mit eingehen.

01:12:40.822 --> 01:12:45.222
<v Pavel Mayer>Das heißt, wenn jemand etwas einbaut, was das System an sich verlangsamt,

01:12:45.642 --> 01:12:48.902
<v Pavel Mayer>dann wird das sofort sichtbar.

01:12:49.442 --> 01:12:53.882
<v Pavel Mayer>Oder man sieht auch Optimierungserfolge, wenn man etwas schneller macht,

01:12:54.142 --> 01:12:57.362
<v Pavel Mayer>dann wird man auch dadurch belohnt, dass man plötzlich sieht, hey,

01:12:58.022 --> 01:13:00.822
<v Pavel Mayer>wow, ich habe jetzt diese oder

01:13:00.822 --> 01:13:03.942
<v Pavel Mayer>jene Funktion um zehn prozent beschleunigt und

01:13:03.942 --> 01:13:07.282
<v Pavel Mayer>gerade heutzutage leidet ja oft auch software

01:13:07.282 --> 01:13:10.482
<v Pavel Mayer>darunter dass sie einfach

01:13:10.482 --> 01:13:13.462
<v Pavel Mayer>immens ressourcen verbraucht dann wird

01:13:13.462 --> 01:13:20.542
<v Pavel Mayer>hört ja dann so dinger wie leakage tests wo wir halt automatisch überprüfen

01:13:20.542 --> 01:13:28.082
<v Pavel Mayer>ob memory leaks da sind aber was auch richtig also ob sich die programme quasi

01:13:28.082 --> 01:13:31.302
<v Pavel Mayer>ein bisschen zu sehr am Speicherpool bedienen und nicht wieder freigeben und

01:13:31.302 --> 01:13:33.422
<v Pavel Mayer>dadurch immer wachsen und wachsen und mehr Ressourcen pressen.

01:13:35.982 --> 01:13:40.722
<v Pavel Mayer>Und Dokumentation ist auch noch so ein wichtiger Punkt. Und zwar eigentlich

01:13:40.722 --> 01:13:46.122
<v Pavel Mayer>vermeidet man es bei XP zu viel Dokumentation zu schreiben, weil bei Dokumentation,

01:13:46.222 --> 01:13:49.482
<v Pavel Mayer>die von Hand geschrieben ist, das Problem, dass sie sehr schnell veraltet,

01:13:50.182 --> 01:13:51.782
<v Pavel Mayer>falsch und nicht akkurat ist.

01:13:51.782 --> 01:13:56.522
<v Pavel Mayer>Das heißt, was wir auch drin haben, sind verschiedene Systeme,

01:13:56.582 --> 01:13:59.922
<v Pavel Mayer>die die Dokumentation automatisch erzeugen,

01:14:00.422 --> 01:14:05.782
<v Pavel Mayer>durch entsprechend sich Informationen aus dem Quellcode holen und zusätzlich

01:14:05.782 --> 01:14:09.042
<v Pavel Mayer>Informationen, die man reinschreibt, extrahieren.

01:14:09.542 --> 01:14:16.762
<v Pavel Mayer>Plus wir haben nun ein Tutorial für unser System und der Tutorialcode selber

01:14:16.762 --> 01:14:23.442
<v Pavel Mayer>wird auch durchgetestet Und das Ergebnis wird als Screenshot gleich in eine

01:14:23.442 --> 01:14:25.522
<v Pavel Mayer>entsprechende Website eingebaut.

01:14:25.602 --> 01:14:29.942
<v Pavel Mayer>Das heißt, man kann sicher sein beim Tutorial, was man hat, dass der Code,

01:14:29.942 --> 01:14:35.062
<v Pavel Mayer>der im Tutorial steht, auch getestet ist und das Ergebnis, was dann auf dem

01:14:35.062 --> 01:14:36.462
<v Pavel Mayer>Schirm zu sehen sein soll,

01:14:37.002 --> 01:14:42.302
<v Pavel Mayer>eben auch in der Dokumentation immer aktuell übereinstimmt mit dem Ergebnis,

01:14:42.722 --> 01:14:44.182
<v Pavel Mayer>was man dort auch sehen soll.

01:14:44.262 --> 01:14:46.762
<v Pavel Mayer>Es wird eine automatische Cross-Referenz angelegt.

01:14:47.862 --> 01:14:54.502
<v Pavel Mayer>Wir haben auch selbst dokumentierende Dateiformate beispielsweise auf XML-Basis, die über XML-Schema.

01:14:57.459 --> 01:15:01.899
<v Pavel Mayer>Funktionieren und man dort jederzeit auch, also,

01:15:02.079 --> 01:15:08.199
<v Pavel Mayer>das endet alles, also die gesamte Dokumentation landet halt in verschiedenen

01:15:08.199 --> 01:15:14.759
<v Pavel Mayer>Websites und man hat damit dann am Ende nach einem erfolgreichen Bild auch eine

01:15:14.759 --> 01:15:21.979
<v Pavel Mayer>aktuelle und stimmige Dokumentation und Tutorials vom Programm,

01:15:22.179 --> 01:15:24.619
<v Pavel Mayer>von den Datenformaten, von allem.

01:15:24.619 --> 01:15:30.959
<v Tim Pritlove>Also kurz gesagt, es lohnt sich und es passt auch zum Extreme Programming, dass man möglichst viel,

01:15:34.799 --> 01:15:37.519
<v Tim Pritlove>automatisiert, was das Testen betrifft, aber auch unter Umständen,

01:15:37.659 --> 01:15:38.959
<v Tim Pritlove>was das Dokumentieren betrifft.

01:15:40.599 --> 01:15:42.919
<v Tim Pritlove>Teilweise muss man das ja auch nicht alles selber programmieren.

01:15:43.099 --> 01:15:46.199
<v Tim Pritlove>Also es gibt in sehr viel Programmiersprachenumgebungen mittlerweile Möglichkeiten

01:15:46.199 --> 01:15:52.179
<v Tim Pritlove>aus Programmcode direkt Dokumentation zu erstellen. Also entweder direkt aus dem Code selber.

01:15:52.839 --> 01:15:55.459
<v Tim Pritlove>Das hängt natürlich dann sehr von den Fähigkeiten, die ich bei mir sprach,

01:15:55.539 --> 01:15:59.819
<v Tim Pritlove>aber oder doch zumindest, dass man eben bestimmte Schreibweisen für Kommentare,

01:15:59.959 --> 01:16:01.399
<v Tim Pritlove>die man in den Source Code einführt,

01:16:02.139 --> 01:16:06.479
<v Tim Pritlove>dass man eben bestimmte, ja, Arten und Weisen, wie man etwas dokumentiert,

01:16:06.539 --> 01:16:09.739
<v Tim Pritlove>direkt in die Kommentare, Konventionen genau reinschreibt,

01:16:10.279 --> 01:16:12.839
<v Tim Pritlove>um daraus eben auch automatisch Software-Dokumentation zu machen,

01:16:12.999 --> 01:16:15.159
<v Tim Pritlove>die natürlich dann den großen Vorteil hat, dass man sie a, nicht nochmal schreiben,

01:16:16.039 --> 01:16:18.999
<v Tim Pritlove>und prüfen muss und b, dass sie eben auch genau das reflektiert,

01:16:19.519 --> 01:16:22.979
<v Tim Pritlove>wie eben der Ist-Zustand ist, also unter Umständen auch mit allen Fehlern, die man drin hat.

01:16:24.639 --> 01:16:27.839
<v Tim Pritlove>Mann, Mann, Mann. Das war jetzt auf jeden Fall schon mal hier eine der längsten

01:16:27.839 --> 01:16:29.459
<v Tim Pritlove>Ausgaben des Chaos Radio Express,

01:16:29.759 --> 01:16:32.779
<v Tim Pritlove>aber ich bin eigentlich ganz froh, dass wir da hier auch mal in die Tiefe gegangen

01:16:32.779 --> 01:16:35.819
<v Tim Pritlove>sind, weil ich denke Extreme Programming ist etwas, was eine ganze Menge Leute

01:16:35.819 --> 01:16:39.899
<v Tim Pritlove>doch eine Menge Last von den Schultern nehmen kann.

01:16:40.939 --> 01:16:42.839
<v Tim Pritlove>Haben wir denn jetzt noch...

01:16:44.439 --> 01:16:44.799
<v Pavel Mayer>Negativpunkte?

01:16:45.339 --> 01:16:49.319
<v Tim Pritlove>Das wäre ein Punkt. Ja, das können wir eigentlich vielleicht mal voranschieben,

01:16:49.799 --> 01:16:53.739
<v Tim Pritlove>weil danach nochmal drauf eingehen, wie man, wie man sozusagen sich diesem Thema

01:16:53.739 --> 01:16:56.659
<v Tim Pritlove>dann auch nochmal nähert, wenn man Interesse hat, das in irgendeiner Form umzusetzen.

01:16:56.959 --> 01:17:00.079
<v Tim Pritlove>Hast du denn noch negative Erfahrungen gemacht? Gibt es Probleme?

01:17:00.079 --> 01:17:05.299
<v Pavel Mayer>Ja, eins hatte ich schon erwähnt, nämlich, dass es diesen idealen Kunden,

01:17:05.379 --> 01:17:10.439
<v Pavel Mayer>wie man ihn gerne für XP hätte, dass der selten anzutreffen ist,

01:17:10.499 --> 01:17:13.439
<v Pavel Mayer>dass man dort halt Dinge finden muss.

01:17:15.319 --> 01:17:19.839
<v Pavel Mayer>Ansonsten gibt es manchmal auch Anforderungen.

01:17:21.381 --> 01:17:24.401
<v Pavel Mayer>Die an einen herangetragen werden, wo man gezwungen ist,

01:17:24.781 --> 01:17:30.741
<v Pavel Mayer>bestimmte schwergewichtige Softwareentwicklungsprozesse zu fahren oder mit anderen

01:17:30.741 --> 01:17:38.801
<v Pavel Mayer>Abteilungen zusammenzuarbeiten, die andere Prozesse haben, die halt extrem viel, also hunderte von,

01:17:39.081 --> 01:17:43.621
<v Pavel Mayer>also Pflichtenheft ist zum Beispiel so eine Sache, normalerweise vermeidet man

01:17:43.621 --> 01:17:48.821
<v Pavel Mayer>es oder versucht halt nicht zu viel Arbeit vorab in den Pflichtenheft zu stecken,

01:17:48.921 --> 01:17:51.001
<v Pavel Mayer>aber manchmal ist es einfach eine Anforderung.

01:17:51.381 --> 01:17:58.261
<v Pavel Mayer>Und da ist es uns aber ganz gut gelungen, das zu emulieren bzw.

01:17:58.681 --> 01:18:04.181
<v Pavel Mayer>Diese Artefakte oder diese Dokumente, dieses Pflichtenheft genauso zu behandeln

01:18:04.181 --> 01:18:08.961
<v Pavel Mayer>wie eine Programmieraufgabe und aber auch dem Kunden klarzumachen,

01:18:09.401 --> 01:18:13.341
<v Pavel Mayer>dass das Schreiben des Pflichtenheftes in Konkurrenz steht,

01:18:13.881 --> 01:18:18.041
<v Pavel Mayer>jetzt ressourcenmäßig mit dem Entwickeln von Features.

01:18:18.041 --> 01:18:24.521
<v Pavel Mayer>Das heißt, je mehr Pflichtenheft er wünscht, umso weniger Zeit bleibt halt natürlich für die Umsetzung.

01:18:24.761 --> 01:18:30.281
<v Pavel Mayer>Aber wenn er das wünscht, wenn das erforderlich ist, werden halt diese Artefakte

01:18:30.281 --> 01:18:36.141
<v Pavel Mayer>eben abgebildet und das funktioniert auch ganz gut quasi mithilfe von XP andere

01:18:36.141 --> 01:18:39.661
<v Pavel Mayer>Verfahren zu emulieren oder sich an andere Verfahren.

01:18:39.781 --> 01:18:42.821
<v Tim Pritlove>A1 Was meinst du jetzt mit Artefakte? Was ist das für Schwierigkeit? BK'IN DR.

01:18:42.821 --> 01:18:48.081
<v Pavel Mayer>MERKEL. Also Dokumente beispielsweise, also Stücke von Dokumentationen bezeichnet,

01:18:48.581 --> 01:18:52.461
<v Pavel Mayer>man einfach dort als Artefakte, einfach die Ergebnisse,

01:18:54.521 --> 01:18:57.661
<v Pavel Mayer>die halt zurückbleiben im Laufe der Entwicklung.

01:18:58.901 --> 01:19:02.941
<v Pavel Mayer>Also Ergebnisse, so Überbleibsel, kann man sagen, der Entwicklungstätigkeit.

01:19:06.261 --> 01:19:09.101
<v Pavel Mayer>Es ist auch nicht unbedingt jedermanns Sache.

01:19:10.068 --> 01:19:14.228
<v Pavel Mayer>Also es gibt in seltenen Fällen einfach Leute, die nicht damit klarkommen,

01:19:14.348 --> 01:19:19.668
<v Pavel Mayer>also mit dieser Ehrlichkeit und Offenheit, die sich einfach nicht die Schwierigkeiten

01:19:19.668 --> 01:19:24.268
<v Pavel Mayer>damit haben, sich zu offenbaren oder mit anderen Leuten vorm Rechner zu sitzen.

01:19:24.348 --> 01:19:27.128
<v Pavel Mayer>Was nicht gleichbedeutend ist, dass es sich dabei um schlechte oder unfähige

01:19:27.128 --> 01:19:27.828
<v Pavel Mayer>Programmierer handelt.

01:19:27.828 --> 01:19:35.048
<v Pavel Mayer>Aber eigentlich ist es eher selten, dieses Phänomen und mit der richtigen Herangehensweise,

01:19:35.108 --> 01:19:39.288
<v Pavel Mayer>wenn man halt zeigt, dass eben auch Vertrauensschutz besteht,

01:19:39.448 --> 01:19:40.948
<v Pavel Mayer>öffnen sich dann die meisten auch.

01:19:41.028 --> 01:19:46.388
<v Pavel Mayer>Aber es gibt eben einige, wo es nicht klappt. Und dann eignet sich XP nicht

01:19:46.388 --> 01:19:53.448
<v Pavel Mayer>unbedingt für jede Art von Entwicklungsaufgabe und nicht für jede Art von Teamgröße.

01:19:53.448 --> 01:19:54.888
<v Pavel Mayer>Also ein 1000-Mann-Projekt jetzt,

01:19:57.568 --> 01:20:02.768
<v Pavel Mayer>mit XP zu fahren, das wüsste ich nicht. Also irgendwie Toll Collect beispielsweise jetzt,

01:20:05.028 --> 01:20:05.028
<v Pavel Mayer>nach XP-Prinzipien,

01:20:07.268 --> 01:20:05.328
<v Pavel Mayer>zu

01:20:07.908 --> 01:20:05.328
<v Pavel Mayer>fahren.

01:20:08.688 --> 01:20:09.108
<v Pavel Mayer>Also so ein System könnte einfach,

01:20:11.668 --> 01:20:10.068
<v Pavel Mayer>schwierig,

01:20:12.128 --> 01:20:10.688
<v Pavel Mayer>werden,

01:20:12.868 --> 01:20:15.188
<v Pavel Mayer>oder da gibt es zumindest noch nicht die Werkzeuge oder Verfahren.

01:20:17.268 --> 01:20:21.868
<v Tim Pritlove>A. Wobei man so ein großes Projekt ja auch aufbrechen kann oder eigentlich auch zwangsläufig.

01:20:21.968 --> 01:20:26.388
<v Tim Pritlove>Ich habe keine Ahnung, wie die nun ihre Softwareentwicklung da konkret organisiert haben.

01:20:26.528 --> 01:20:29.988
<v Tim Pritlove>Aber im Prinzip haben sie ja genug Teilaufgaben, um das eben auch in einzelne

01:20:29.988 --> 01:20:33.008
<v Tim Pritlove>Gruppen zu unterteilen, in denen sie ja dann immer noch entscheiden könnten,

01:20:33.228 --> 01:20:34.568
<v Tim Pritlove>nach XP-Maßgaben vorzugehen.

01:20:35.388 --> 01:20:38.548
<v Pavel Mayer>Ja allerdings ist dort so wie ich das mitbekommen habe

01:20:38.548 --> 01:20:42.268
<v Pavel Mayer>bei toll kollekt das ganze extrem formalisiert gewesen

01:20:42.268 --> 01:20:45.568
<v Pavel Mayer>das heißt auch einzelne teams waren komplett

01:20:45.568 --> 01:20:51.688
<v Pavel Mayer>abgeschottet und dort wurde beispielsweise jede veränderung in form von change

01:20:51.688 --> 01:20:59.648
<v Pavel Mayer>requests dann erst mal erfasst dann dokumentiert also ein ziemlich großer verwaltungs

01:20:59.648 --> 01:21:03.028
<v Pavel Mayer>Also dafür taugt es auf jeden Fall nicht unmittelbar zu kämpfen.

01:21:03.048 --> 01:21:09.328
<v Pavel Mayer>A. Und dafür, naja, also vielleicht jetzt wenn, also wird man auch Methoden

01:21:09.328 --> 01:21:14.828
<v Pavel Mayer>und Verfahren entwickeln können im Laufe der Zeit, wo man das auch auf größere

01:21:14.828 --> 01:21:17.328
<v Pavel Mayer>Projekte skalieren kann.

01:21:17.328 --> 01:21:25.048
<v Pavel Mayer>Auf der anderen Seite, man weiß seit längerer Zeit, es gibt sowas wie eine magische

01:21:25.048 --> 01:21:30.348
<v Pavel Mayer>Grenze der Planbarkeit in der Softwareentwicklung.

01:21:30.788 --> 01:21:39.428
<v Pavel Mayer>Und da gibt es dieses sogenannte 6x6, also sechs Leute für sechs Monate. Das ist so.

01:21:40.673 --> 01:21:47.193
<v Pavel Mayer>Etwa markiert so die tatsächlich die Grenze des Planungs Horizont was so,

01:21:47.653 --> 01:21:50.173
<v Pavel Mayer>wo man wirklich zuverlässig planen kann.

01:21:50.333 --> 01:21:57.413
<v Pavel Mayer>Alles was halt irgendwie mehr als sechs Leute für mehr als sechs Monate umfasst,

01:21:57.893 --> 01:22:05.893
<v Pavel Mayer>ist tatsächlich nicht wirklich planbar so im Voraus, beziehungsweise da hat man halt,

01:22:06.393 --> 01:22:08.913
<v Pavel Mayer>da wachsen dann letztendlich die Unsicherheiten.

01:22:08.913 --> 01:22:15.573
<v Pavel Mayer>Man kann dann zwar glauben und hoffen, dass es hinkommt, aber ja die Unsicherheiten nehmen zu.

01:22:15.673 --> 01:22:19.813
<v Pavel Mayer>Das weiß man aber schon seit 20, 30 Jahren hat IBM das schon festgestellt,

01:22:19.993 --> 01:22:24.093
<v Pavel Mayer>dass eben dieser ja 6x6 so in

01:22:24.093 --> 01:22:28.813
<v Pavel Mayer>etwa tatsächlich die Grenze der Planbarkeit dasteht. das moderne Sixpack.

01:22:30.793 --> 01:22:35.293
<v Tim Pritlove>Gut, um vielleicht mal so langsam langsam zu einem

01:22:35.613 --> 01:22:38.713
<v Tim Pritlove>Ende zu kommen, ich wage das ja gar nicht abzukürzen, weil das eigentlich alles

01:22:38.713 --> 01:22:42.773
<v Tim Pritlove>viel zu interessant ist, aber wenn ich mich jetzt ganz konkret als Empfehlung

01:22:42.773 --> 01:22:46.653
<v Tim Pritlove>hier an unsere Hörer, wenn man jetzt mal sich konkret dem Thema nähern möchte,

01:22:46.733 --> 01:22:50.033
<v Tim Pritlove>was ist der beste Weg? Als erstes kauft man sich ein schlaues Buch.

01:22:50.333 --> 01:22:59.393
<v Pavel Mayer>Ja, also wie gesagt diese von 99, die drei Bücher von Kent Beck sind so die

01:22:59.393 --> 01:23:04.013
<v Pavel Mayer>Standardwerke, die man auf jeden Fall lesen kann,

01:23:04.633 --> 01:23:09.393
<v Pavel Mayer>dann findet man natürlich im… Also Extreme Programming,

01:23:10.013 --> 01:23:12.673
<v Pavel Mayer>wie heißt das eine, das Manifest?

01:23:13.933 --> 01:23:17.333
<v Pavel Mayer>Ja, dann Extreme Programming Explained heißt das eine, glaube ich.

01:23:19.033 --> 01:23:20.553
<v Tim Pritlove>Gibt es das auch in Deutsch? Ja, ne?

01:23:20.673 --> 01:23:21.813
<v Pavel Mayer>Weiß ich gar nicht.

01:23:22.253 --> 01:23:29.413
<v Tim Pritlove>Ja, gibt es. Also, oder? Moment. Moment. Ja, es gibt deutsche Übersetzungen. A2.

01:23:29.413 --> 01:23:36.013
<v Pavel Mayer>Das kann gut sein. Ja, das ist sicherlich ein Einstieg.

01:23:36.613 --> 01:23:43.673
<v Pavel Mayer>Dann so in Deutschland hat sich halt so Frank Westphal, ist so der deutsche XP-Guru,

01:23:46.313 --> 01:23:52.233
<v Pavel Mayer>der sich dort am meisten XP verschrieben auf www.frankwestphal.de,

01:23:54.573 --> 01:23:52.233
<v Pavel Mayer>findet.

01:23:55.053 --> 01:23:59.933
<v Pavel Mayer>Man halt auch jede Menge, ja auch Links Westphal mit ph.

01:24:01.874 --> 01:24:09.274
<v Pavel Mayer>Einfach zusammen geschrieben oder einfach nach extrem Programming googeln,

01:24:09.394 --> 01:24:14.934
<v Pavel Mayer>wobei das der Klassiker ist, glaube ich, das C2 Wiki,

01:24:16.174 --> 01:24:20.514
<v Pavel Mayer>wo es auch sehr viele Links gibt.

01:24:20.514 --> 01:24:27.234
<v Pavel Mayer>Es gibt außerdem Mailinglisten, wo sehr viel Traffic ist, eigentlich mehr als

01:24:27.234 --> 01:24:28.754
<v Pavel Mayer>man so konsumieren kann,

01:24:28.874 --> 01:24:35.554
<v Pavel Mayer>aber wo sich auch extrem viele erfahrene Leute austauschen und wo man auch viel rausziehen kann.

01:24:35.554 --> 01:24:42.614
<v Pavel Mayer>Aber letztendlich nur sagen anfangen Schwierigkeiten, die dabei auftreten,

01:24:43.094 --> 01:24:48.294
<v Pavel Mayer>sind einmal natürlich, dass das Management davon zu überzeugen,

01:24:48.374 --> 01:24:52.414
<v Pavel Mayer>dass jetzt zwei Leute immer vor dem Rechner sitzen, natürlich erst mal,

01:24:52.614 --> 01:24:58.794
<v Pavel Mayer>wenn da zwei Leute ist es doppelt so teuer genau wo doch jeder irgendwie für

01:24:58.794 --> 01:25:01.454
<v Pavel Mayer>sich arbeiten kann und sie doch dann das doppelte schaffen.

01:25:01.574 --> 01:25:03.894
<v Tim Pritlove>Wenn der eine Holz hackt warum muss der andere noch zugucken.

01:25:04.154 --> 01:25:05.714
<v Pavel Mayer>Ja eben.

01:25:05.954 --> 01:25:09.814
<v Tim Pritlove>Ja aber an der Stelle wird natürlich schön deutlich und meine das das kenne

01:25:09.814 --> 01:25:13.334
<v Tim Pritlove>ich auch aus eigener Erfahrung Softwareentwicklung ist wirklich ein ganz anderer

01:25:13.334 --> 01:25:19.594
<v Tim Pritlove>Beruf der sich so mit herkömmlichen Beschäftigungen kaum vergleichen lässt,

01:25:19.594 --> 01:25:23.414
<v Tim Pritlove>Weil man einfach auf eine bestimmte Art und Weise dort involviert sein muss

01:25:23.414 --> 01:25:30.894
<v Tim Pritlove>und auch so eine Macht in Anführungsstrichen verfügt über das, was man da tut.

01:25:33.230 --> 01:25:37.770
<v Tim Pritlove>Man streicht ja nicht nur eine Wand, ja, nach einer bestimmten Vorgabe und dann ist sie halt grün,

01:25:38.290 --> 01:25:42.470
<v Tim Pritlove>sondern man trifft Entscheidungen, die letzten Endes für eine Vielzahl von Leuten,

01:25:42.790 --> 01:25:44.470
<v Tim Pritlove>das kann sich exponentiell ausdehnen,

01:25:44.870 --> 01:25:49.710
<v Tim Pritlove>in irgendeiner Form auch maßgeblich sind bis hin zur gesamten Softwareentwicklung

01:25:49.710 --> 01:25:53.310
<v Tim Pritlove>in einer Firma in der nächsten Zeit und da lastet natürlich eine Menge drauf.

01:25:53.410 --> 01:25:56.310
<v Tim Pritlove>In gewisser Hinsicht würde ich sagen, das sind zwei Leute eher ja noch wenig.

01:25:57.230 --> 01:26:05.990
<v Pavel Mayer>B2 Ja, das andere Ding ist, dass man auch bereit sein muss,

01:26:06.590 --> 01:26:14.670
<v Pavel Mayer>seine Einstellung zu ändern und seine Werte auch zu ändern, zum Beispiel das

01:26:14.670 --> 01:26:14.930
<v Pavel Mayer>ganze Überstunden-Thema.

01:26:17.090 --> 01:26:20.890
<v Pavel Mayer>Da galt es ja also speziell auch in der New Economy oder es gibt halt jede Menge

01:26:20.890 --> 01:26:31.870
<v Pavel Mayer>War Stories, wo die leute dann 90 stunden pro woche dann heldenhaft ja es geschafft haben.

01:26:31.910 --> 01:26:34.350
<v Tim Pritlove>B2. Real Programmers schlafen unter einem Tisch. A3.

01:26:34.350 --> 01:26:41.450
<v Pavel Mayer>Ja so da muss man halt eher sehen, dass man da auch eine kulturelle Veränderung

01:26:41.450 --> 01:26:48.730
<v Pavel Mayer>hinkriegt und sagt also über stunden also wenn es nötig wird über stunden zu fahren,

01:26:48.890 --> 01:26:53.330
<v Pavel Mayer>dass das einfach ein Ergebnis schlechter und falscher Planung ist.

01:26:54.130 --> 01:27:01.840
<v Pavel Mayer>Und jetzt kein Heldentum in dem Sinne. Das ist kein Wert an...

01:27:02.590 --> 01:27:05.110
<v Tim Pritlove>Aber was macht ihr denn, wenn ein Programmierer Bock drauf hat?

01:27:05.439 --> 01:27:08.119
<v Tim Pritlove>Länger an irgendwas zu arbeiten. Wird der dann aus der Firma gefegt?

01:27:08.359 --> 01:27:11.219
<v Tim Pritlove>Es gibt auch so Momente, da kann man einfach gar nicht aufhören zu programmieren,

01:27:11.399 --> 01:27:13.979
<v Tim Pritlove>weil man weiß, wenn ich das jetzt nicht irgendwie in den nächsten drei Stunden

01:27:13.979 --> 01:27:17.779
<v Tim Pritlove>fertig buddiere, dann kann ich meinen Tag auch vergessen, dann denke ich sowieso nur noch dran.

01:27:17.779 --> 01:27:22.919
<v Pavel Mayer>Das ist auch völlig in Ordnung. Jeder ist unterschiedlich belastbar oder der

01:27:22.919 --> 01:27:28.859
<v Pavel Mayer>Sweet-Spot liegt bei jedem auch irgendwo anders. Das ist eine Sache auch des Alters.

01:27:29.099 --> 01:27:34.699
<v Pavel Mayer>In einem bestimmten Alter hat man auch das Gefühl, mit neun oder zehn Stunden

01:27:34.699 --> 01:27:38.779
<v Pavel Mayer>am Tag sich ganz wohl zu fühlen.

01:27:39.039 --> 01:27:46.759
<v Pavel Mayer>Dann ist das halt das Ding. Aber wichtig ist, dass Überstunden eben nicht erwartet werden.

01:27:46.759 --> 01:27:49.859
<v Pavel Mayer>So und dass sie nicht honoriert werden insbesondere also

01:27:49.859 --> 01:27:52.799
<v Pavel Mayer>wenn jemand freiwillig gerne dort dort

01:27:52.799 --> 01:27:55.959
<v Pavel Mayer>sitzt aber wichtig ist es eben keine incentives dafür zu

01:27:55.959 --> 01:27:59.179
<v Pavel Mayer>schaffen das heißt überstunden normalerweise nicht

01:27:59.179 --> 01:28:07.099
<v Pavel Mayer>zu vergüten sondern wenn also bei uns wenn es wirklich brennt dann werden halt

01:28:07.099 --> 01:28:14.059
<v Pavel Mayer>nur in solchen fällen eben überstunden freigegeben und erfasst und dann eben

01:28:14.059 --> 01:28:16.119
<v Pavel Mayer>vergütet aber im normalfall,

01:28:16.759 --> 01:28:21.179
<v Pavel Mayer>sag ich mal, kann jeder zwar so lange bleiben und so lange arbeiten,

01:28:21.319 --> 01:28:23.579
<v Pavel Mayer>wie er will, das ist dann aber sein Privatvergleich.

01:28:23.599 --> 01:28:26.959
<v Tim Pritlove>A. Ok, aber so eine Abgabephase jetzt in zwei Tagen ist die Präsentation,

01:28:27.059 --> 01:28:29.939
<v Tim Pritlove>lalala, aber wir haben insgesamt auch alle gemeinsam eingesehen,

01:28:30.639 --> 01:28:33.499
<v Tim Pritlove>wir haben da noch ein Problem, dann ist es der Ausdruck.

01:28:33.499 --> 01:28:39.519
<v Pavel Mayer>Dann läuft es eben so, dass ich in dem Fall sage, okay,

01:28:40.179 --> 01:28:48.939
<v Pavel Mayer>es ist jetzt knapp, jeder kann jetzt so viel tun, wie er halt dazu in der Lage

01:28:48.939 --> 01:28:55.099
<v Pavel Mayer>ist und mir das dann entsprechend melden und dann greift halt diese Urlaubsgeschichte.

01:28:56.179 --> 01:29:02.719
<v Pavel Mayer>Aber eben, ja, das ist eine Bewusstseinsveränderung, die auch dort einkehren muss.

01:29:02.719 --> 01:29:03.579
<v Tim Pritlove>Ja.

01:29:05.967 --> 01:29:09.407
<v Tim Pritlove>Bewusstseinsveränderung in Form von Extreme Programming vielleicht ja auch für

01:29:09.407 --> 01:29:14.547
<v Tim Pritlove>euch ein Thema oder vielleicht auch etwas, was ihr in euren Unternehmen mal ansprechen möchtet.

01:29:14.647 --> 01:29:17.347
<v Tim Pritlove>Ich habe schon mit so viel, gerade jetzt dieses Wochenende wieder mit frustrierten

01:29:17.347 --> 01:29:18.847
<v Tim Pritlove>Programmierern gesprochen,

01:29:19.027 --> 01:29:22.427
<v Tim Pritlove>die einfach so unglücklich sind in ihren Firmen, weil irgendwie die Leute verstehen

01:29:22.427 --> 01:29:25.207
<v Tim Pritlove>nichts von Softwareentwicklung, es gibt keine richtige Kommunikation,

01:29:25.387 --> 01:29:28.067
<v Tim Pritlove>man redet auch nicht wirklich über die Probleme, also jetzt auch mal ganz von

01:29:28.067 --> 01:29:32.107
<v Tim Pritlove>dieser eigentlichen Methodik, die einem zum besseren Programmierer werden lassen

01:29:32.107 --> 01:29:37.167
<v Tim Pritlove>kann und die ganzen Sachen finde ich also gerade diese Offenheit und Ehrlichkeit, gerade in so etwas,

01:29:37.287 --> 01:29:41.487
<v Tim Pritlove>wo man so mental engagiert ist, wie beim Programmieren, was ja nicht eine reine

01:29:41.487 --> 01:29:43.007
<v Tim Pritlove>Engineering Tätigkeit ist.

01:29:43.547 --> 01:29:49.667
<v Tim Pritlove>Man lötet nicht. Es ist wirklich, ja und auch sehr philosophisch an vielen Stellen.

01:29:49.667 --> 01:29:55.007
<v Tim Pritlove>Und da ist es einfach wichtig, dass das Klima stimmt.

01:29:55.827 --> 01:30:00.907
<v Tim Pritlove>Und ja, vielleicht ist Extreme Programming für euch ein Weg, das zu machen.

01:30:01.147 --> 01:30:06.027
<v Tim Pritlove>Es gibt ja auch noch viele andere Methodiken, die vielleicht auch nicht so viele Probleme haben.

01:30:06.027 --> 01:30:07.727
<v Pavel Mayer>Andere Archeemethoden.

01:30:07.987 --> 01:30:14.227
<v Tim Pritlove>Das muss man alles auch nochmal ein bisschen hinterfragen. Vielleicht auch bei Chaos Radio Express.

01:30:15.127 --> 01:30:18.647
<v Tim Pritlove>Ich bin ja immer auf der Suche nach interessanten Themen und jetzt hatten wir

01:30:18.647 --> 01:30:20.507
<v Tim Pritlove>mal wieder ein interessantes Thema.

01:30:20.647 --> 01:30:25.987
<v Tim Pritlove>Ich bedanke mich bei dir, Pavel, für die sehr ausführliche Darstellung dieses Themenkomplexes.

01:30:27.007 --> 01:30:30.927
<v Tim Pritlove>Ist ja nicht das erste Mal, dass du hier bei Chaos Radio Express dabei bist.

01:30:31.047 --> 01:30:32.287
<v Tim Pritlove>Ich hoffe auch nicht das letzte Mal.

01:30:33.227 --> 01:30:39.207
<v Tim Pritlove>Und ja, für die mit Abstand längste Chaos Express Sendung entschuldige ich mich

01:30:39.207 --> 01:30:41.267
<v Tim Pritlove>schon mal, aber ich denke der Inhalt war es wert.

01:30:41.887 --> 01:30:43.767
<v Tim Pritlove>Wenn ihr Rückmeldungen habt...

01:30:44.158 --> 01:30:48.878
<v Tim Pritlove>Feedback, Kommentare, Kritiken, alles mögliche, was euch auch einfällt.

01:30:48.978 --> 01:30:49.598
<v Tim Pritlove>Ihr wisst es, Chaosradio.de.

01:30:52.238 --> 01:30:54.598
<v Tim Pritlove>Ich würde jetzt auch ganz gerne nochmal die Telefonnummer fallen lassen,

01:30:54.998 --> 01:30:56.578
<v Tim Pritlove>aber jetzt habe ich sie mir gerade nicht auf den Bildschirm geschrieben,

01:30:57.058 --> 01:30:57.778
<v Tim Pritlove>könnt ihr auf der Webseite nachschlagen.

01:30:58.298 --> 01:31:00.358
<v Tim Pritlove>Ich freue mich auch immer über Audio-Kommentare, muss aber natürlich nicht sein,

01:31:00.898 --> 01:31:02.158
<v Tim Pritlove>wie es euch auch immer am besten passt.

01:31:02.858 --> 01:31:06.338
<v Tim Pritlove>Könnt ihr hier einen interaktiven Podcast mit uns gestalten.

01:31:07.098 --> 01:31:13.218
<v Tim Pritlove>Haben wir noch ein Schlusswort, was weißes zum Tage, zur Nacht muss man ja sagen, schon fast eins.

01:31:13.738 --> 01:31:22.598
<v Pavel Mayer>B2 Für vielleicht noch das Thema Qualität. Es gibt halt in XP nur zwei Arten

01:31:22.598 --> 01:31:25.698
<v Pavel Mayer>von Qualität, die man abliefert.

01:31:26.478 --> 01:31:29.198
<v Pavel Mayer>Perfekt und krankhaft perfekt.

01:31:34.018 --> 01:31:36.038
<v Tim Pritlove>Oha, okay, was ist besser?

01:31:37.398 --> 01:31:44.218
<v Pavel Mayer>Das kommt darauf an, was das System dann am Ende leisten soll.

01:31:44.338 --> 01:31:49.998
<v Pavel Mayer>Also wenn es eins ist, an dem vielleicht irgendwie Leben oder große Vermögenswerte

01:31:49.998 --> 01:31:51.698
<v Pavel Mayer>hängen, dann sollte man vielleicht auf die Krankheit-perfekt-Variante,

01:31:54.858 --> 01:31:51.698
<v Pavel Mayer>gehen.

01:31:55.778 --> 01:32:00.298
<v Pavel Mayer>Aber ja, Qualität ist einfach das, was allen auch ein gutes Gefühl gibt,

01:32:00.398 --> 01:32:04.598
<v Pavel Mayer>so stolz auf seine Arbeit sein zu können, so den Kunden glücklich zu machen,

01:32:04.798 --> 01:32:07.298
<v Pavel Mayer>so, dann macht die Arbeit einfach auch Spaß.

01:32:08.018 --> 01:32:12.678
<v Tim Pritlove>Okay, das war ein schönes Schlusswort. Ich hoffe, dass wir uns mit einem krankhaft-perfekten,

01:32:13.878 --> 01:32:19.078
<v Tim Pritlove>Ergebnis hier an euch herangeschmiedet haben und ihr einen Podcast bekommen,

01:32:19.498 --> 01:32:21.538
<v Tim Pritlove>ob ihr ihn haben wolltet. Ich sag dann mal Tschüss.

01:32:22.158 --> 01:32:22.578
<v Pavel Mayer>Tschüss.

01:32:22.978 --> 01:32:31.698
<v Tim Pritlove>Und wir hören uns bald wieder bei einem neuen Chaos Radio Express auf diesem RSS-Feed. Bis bald.
