What is Agile? - YouTube

Channel: Mark Shead

[0]
WAS IST AGILE? VON MARK SHEAD
[5]
Hallo, ich bin Mark.
[7]
Ich helfe Unternehmen, Software effizienter zu programmieren,
[11]
und das heißt oft, Teams verstehen zu helfen,
[14]
was es heißt, diese auf eine Agile-Art zu entwickeln.
[17]
In diesem Video beantworten wir die Frage: „Was ist Agile?"
[22]
Und genauso wichtig, wir besprechen, was Agile nicht ist.
[26]
Viele Dinge werden Agile genannt,
[28]
besonders von Leuten, die einem etwas verkaufen wollen.
[31]
DIE DINGE SIND 100 % AGILE
[32]
Fragt man Papierhersteller,
[35]
werden sie einem sagen, dass man Agile braucht,
[37]
um Userstories auf Klebezettel zu schreiben,
[40]
die sie zufällig gerade verkaufen.
[44]
Wenn man einen Berater fragt, hört man vermutlich,
[47]
dass es eine Methode ist, um Software zu entwickeln,
[50]
dass eine Organisation es lernen kann, wenn man ihre Dienste kauft.
[54]
Und wenn man mit Herstellern orthopädischer Schuhe spricht,
[57]
wird einem gesagt, dass der Schlüssel zum Agile sein
[60]
in Besprechungen liegt, in denen alle stehen.
[62]
Je bequemer die Schuhe sind, umso Agiler das Team.
[67]
Die Definition von Agile kann im Agile-Manifest gefunden werden.
[71]
Das Manifest stellt deutlich klar, dass Agile keine Methode ist.
[75]
Es ist nicht eine bestimmte Art der Softwareentwicklung.
[78]
Es ist keine Rahmenbedingung oder ein Prozess.
[81]
Die meisten Dinge, die als Agile vermarktet werden,
[84]
verstehen nicht wirklich, was Agile eigentlich ist.
[89]
Agile ist eine Sammlung von Werten und Prinzipien.
[95]
Viel von der Diskussion rund um Agile
[98]
hat damit zu tun, dass es verschiedene Praktiken
[100]
und verschiedene Methoden gibt,
[102]
und auch die Entwicklung mit bestimmten Tools.
[105]
Während das vielleicht einem Team, das Agile verfolgt, hilft,
[109]
sind sie selbst nicht gleich Agile.
[112]
Beispielsweise,
[113]
ein Team findet ein tägliches Meeting im Stehen vielleicht hilfreich,
[118]
aber dieses Meeting ist nur insofern „Agile",
[121]
dass es das Resultat daraus ist,
[123]
dass ein Team die Agile-Prinzipien und Werte verfolgt.
[126]
Wenn man das versteht,
[128]
ist es leicht zu sehen, dass Agile verschiedene Glauben sind,
[131]
die Teams zu benutzen können, Entscheidungen zu treffen,
[134]
wie sie an der Softwareentwicklung arbeiten wollen.
[138]
Obwohl das bedeutet, dass der Begriff Agile
[141]
oft missbraucht wird,
[143]
wenn Leute behaupten, dieses oder jenes wäre Agile,
[147]
bedeutet es auch, wenn man wirklich versteht, was Agile ist,
[151]
ist es überraschend flexibel.
[154]
Agile trifft keine Entscheidungen für dich.
[157]
Stattdessen bietet es eine Grundlage,
[160]
die Teams dazu benutzen können, Entscheidungen zu treffen,
[163]
die in besserer Softwareentwicklung resultieren.
[168]
Das Agile-Manifest ist nur 68 Wörter lang,
[171]
und sagt nur, dass wir Software besser entwickeln können,
[175]
indem wir die Dinge auf der linken Seite mehr beachten,
[178]
als die Dinge auf der rechten Seite.
[183]
Das Agile-Manifest besagt:
[184]
Wir finden bessere Wege, Software zu entwickeln,
[188]
indem wir es tun und anderen dabei helfen.
[191]
Durch diese Arbeit kristallisierte sich das heraus:
[194]
Individuen und Interaktionen anstatt Prozesse und Werkzeuge,
[199]
Funktionierende Software anstatt umfassende Dokumentation,
[205]
Zusammenarbeit mit dem Kunden anstatt Vertragsverhandlungen,
[210]
auf Änderungen reagieren, anstatt einen Plan verfolgen.
[214]
Obwohl die Dinge rechts Bedeutung haben,
[219]
legen wir mehr wert auf die Dinge in der linken Spalte.
[225]
Zusätzlich zu den Werten im Manifest,
[228]
gibt es 12 Prinzipien, auf die sich diese Werte stützen.
[231]
Einmal mehr sind die Prinzipien sehr generell gehalten,
[234]
und es geht weniger darum, zu bestimmen, was man tun muss,
[236]
als die Möglichkeit zu schaffen,
[238]
dass man gute Entscheidungen in bestimmten Situationen trifft.
[242]
Die 12 Prinzipien sind:
[245]
Nummer 1:
[247]
Unsere höchste Priorität ist, den Kunden zufriedenzustellen,
[250]
durch frühe und kontinuierlicher Lieferung wertvoller Software.
[255]
Nummer 2:
[257]
Veränderungen auch spät im Entwicklungsprozess willkommen heißen.
[262]
Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.
[268]
Nummer 3:
[270]
Lieferung von funktionierender Software in kurzen Abständen,
[273]
von ein paar Wochen bis zu ein paar Monaten,
[276]
bevorzugt in kurzen Zeitspannen.
[280]
Nummer 4:
[282]
Tägliche Zusammenarbeit von Fachexperten und Entwicklern
[285]
während des Projektes.
[289]
Nummer 5:
[291]
Projekte rund um motivierte Individuen aufbauen.
[295]
Bereitstellung der Unterstützung und der Umgebung, die sie brauchen,
[298]
und das Vertrauen, dass sie ihre Arbeit erledigen.
[303]
Nummer 6:
[305]
Die effektivste und effizienteste Methode, Information zu verbreiten,
[309]
ist ein Gespräch von Angesicht zu Angesicht.
[316]
Nummer 7:
[318]
Funktionierende Software ist das wichtigste Maß des Fortschritts.
[324]
Nummer 8:
[326]
Agile Prozesse fördern nachhaltige Entwicklung.
[329]
Die Sponsoren, Entwickler, und Anwender
[332]
sollen ein gleichmäßiges Arbeitstempo aufrecht erhalten können.
[338]
Nummer 9:
[341]
Ständiges Augenmerk auf technische Exzellenz
[344]
und gutes Design fördert Agilität.
[349]
Nummer 10:
[351]
Einfachheit, die Kunst, die noch nicht gemachte Arbeit
[354]
zu maximieren, ist essentiell.
[360]
Nummer 11:
[362]
Die besten Planungen, Voraussetzungen und Designs
[366]
kommen von Teams, die sich selbst organisieren.
[371]
Nummer 12:
[373]
In regelmäßigen Abständen
[374]
reflektiert das Team, wie man effizienter wird,
[378]
und passt dieses Verhalten dementsprechend an.
[384]
Da Agile eine Sammlung von Werten und Prinzipien ist,
[388]
ist die wahre Nützlichkeit, eine gemeinsame Grundlage zu schaffen,
[392]
nach der entschieden wird, wie man Software am besten entwickelt.
[397]
Beispielsweise wenn man ein neues Projekt annimmt,
[401]
und darüber spricht, wie man die Anforderungen
[404]
vom Auftraggeber erhält.
[406]
Das vorgeschlagene Vorgehen ist,
[408]
dass die Auftraggeber alle Anforderungen aufschreiben,
[411]
und diese absegnen, bevor man anfängt daran zu arbeiten.
[414]
Ein Team, das Agile verfolgt, würde sagen:
[418]
„Obwohl das funktionieren könnte, geht das nicht gegen unseren Glauben,
[422]
dass uns Zusammenarbeit mit dem Kunden mehr wert sein sollte,
[424]
als Vertragsverhandlungen?
[427]
Und verletzt das nicht unser Prinzip,
[429]
das besagt, dass die Entwickler jeden Tag
[431]
mit den Auftraggebern zusammenarbeiten sollten?
[435]
Wie man man diese Entscheidung auf eine Weise treffen,
[438]
die unseren Werten und Prinzipien entspricht?"
[443]
Oder bei einem Entwickler,
[444]
der daran arbeitet, ein Feature für den Auftraggeber zu implementieren,
[448]
und er bemerkt, dass er eine Datenbank braucht, damit es funktioniert.
[452]
Die erste Idee, die einem einfällt,
[454]
ist, die Arbeit an dem Feature zu beenden, und eine Datenbank zu bauen,
[458]
für die Bedürfnisse des Features,
[460]
und als Unterstützung für andere, spätere Entwicklungen zu leisten.
[465]
Wenn die Entwickler an die Agile-Werte glauben,
[468]
und versuchen, die Agile-Prinzipien zu verfolgen,
[470]
würden sie denken:
[472]
„Aber das zu programmieren bedeutet, ich muss die Lieferung dessen,
[476]
was der Kunde sehen kann, und der wertvollen Software, hinauszögern.
[481]
Wenn ich es schaffe, nur zu bauen,
[482]
was notwendig ist, um das Feature zu liefern,
[485]
passt das besser zu meinen Prinzipien."
[489]
Wenn man ein Team hat, das den Agile-Prinzipien folgt,
[492]
treffen sie jede Woche
[495]
hunderte solcher Entscheidungen.
[498]
Das heißt es, Agile zu sein.
[500]
Jede Entscheidung basierend auf den Prinzipien und Werten,
[504]
denen das Team folgt, zu treffen.
[510]
Der Entscheidungsprozess ist wichtig.
[513]
Man kann so etwas nicht kurz halten,
[515]
indem man Entscheidungen anderer Teams übernimmt
[518]
und blind dem folgt, was sie entschieden haben.
[522]
Ein anderes Team könnte Entscheidungen treffen,
[524]
basierend auf den Agile-Prinzipien und Werten,
[526]
die sie für ihre Arbeit einsetzen.
[530]
Nur zu versuchen, die Handlungen und Praktiken des anderen Teams
[534]
nachzuahmen, macht ein Team nicht Agile.
[539]
Nach dem zweiten Weltkrieg
[541]
sah man die Einwohner Melaniesiens, wie sie Frachtflugzeuge
[546]
und ihre Vorräte vom Himmel holen wollten, indem sie imitierten,
[549]
was sie während des Krieges sahen.
[553]
Dazu gehörte, den Wald zu roden, um eine Landebahn zu bauen,
[556]
mit original großen Flugzeugen aus Stroh.
[561]
Sie bauten auch Strukturen aus Bambus,
[563]
die wie Kontrolltürme aussahen,
[566]
und jemand saß den ganzen Tag mit Kokusnusskopfhörer darin.
[571]
Es ist einfach, dieselbe Mentalität anzunehmen,
[575]
was Agile betrifft.
[577]
Was man in einem gut funktionierenden Agile-Team leicht erkennt,
[582]
sind die Praktiken, die sie verwenden.
[585]
Aber die Praktiken, die ein Team einsetzt,
[587]
sind die Resultate daraus, dass man den Agile-Werten und Prinzipien folgt.
[591]
Es ist nicht so wichtig, welche Praktiken ein Team einsetzt,
[596]
als warum sie sie einsetzen.
[599]
Im Laufe der Zeit wird ein gut funktionierendes Agile-Team
[603]
ihre Praktiken verändern und neu definieren.
[608]
Ein Team beginnt vielleicht mit SCRUM,
[610]
und merkt später, dass Kanban besser passt,
[612]
um ihren Kunden etwas Nützliches zu liefern.
[615]
Ein Team könnte mit täglichen Meetings im Stehen anfangen,
[618]
und später entschieden, es funktioniert sitzend besser.
[622]
Ein anderes Team könnte am Anfang
[624]
mit Planned Poker die Größe einer Geschichte abschätzen,
[627]
und später die Aufzählungspunkte weglassen,
[629]
und die Geschichte in gleich große Teile aufteilen.
[634]
Das heißt nicht, dass es sinnlos ist, sich Praktiken anzusehen,
[636]
die gut arbeitende Teams einsetzen,
[640]
aber man kann nicht nach solchen Praktiken suchen, um Agile zu werden.
[644]
Durch die Prinzipien und Werte wird man Agile.
[648]
Man sucht die Praktiken, die seine Werte und Prinzipien unterstützen.
[652]
Wie man diese Praktiken auswählt
[654]
bestimmt, ob man Agile ist oder nicht.
[659]
Wenn eine Praktik ausgewählt wird,
[660]
weil es gut aussieht, um den Agile-Prinzipien zu folgen,
[664]
könnte es ein guter Ausgangspunkt sein.
[667]
Eine Praktik, die für ein Team nicht funktioniert,
[669]
könnte aus den falschen Gründen gewählt sein.
[675]
Was ist nun Agile?
[677]
Agile ist eine Sammlung von Werten und Prinzipien.
[681]
Wie wird ein Team Agile?
[683]
Sie treffen Entscheidungen basierend auf den Agile-Werten und Prinzipien.
[688]
Der Entscheidungsprozess macht ein Team Agile.
[693]
Die Werte und Prinzipien haben genug Flexibilität,
[696]
um den Teams zu erlauben, in vielen verschiedenen Organisationen
[699]
Software zu entwickeln,
[701]
auf Wege, die am besten in der Situation funktionieren,
[705]
und gleichzeitig genug Richtung geben,
[707]
um einem Team zu helfen, volles Potential zu erreichen.