Warum (agile) Projekte kippen
51:06
Was ist Team Topologies?
8:34
Ай бұрын
Legacy: Wirklich ein Problem?
45:45
Zero Trust mit Christoph Iserlohn
1:00:32
Short: Big Ball of Mud
11:01
Жыл бұрын
Пікірлер
@marcm3623
@marcm3623 3 күн бұрын
Hallo Eberhard, kann ein Team dem anderen Team Weisungen geben oder sind sie so getrennt das das nicht möglich ist und nur Informationen weitergegeben werden.
@EberhardWolff
@EberhardWolff 2 сағат бұрын
Sicher sollten Teams eigentlich idealerweise getrennt sein, aber sie arbeiten ja gemeinsam an einer Software. Daher wird wohl ein gewisses Maß an Kommunikation notwendig sein. Die Kollaborationsmodelle in Team-Topologies setzen eher auf eine Zusammenarbeit. Ob es da "Weisungen" gibt, ist also eher eine offene Frage. Am Ende ist aber wichtig, dass Team Topologies nur ein Modell der Zusammenarbeit darstellt und auch eher ein Zielbild. Ob man also operativ was anderes macht oder andere Mechanismen einführt, ist noch eine weitere Frage.
@saweis
@saweis 5 күн бұрын
Wir brauchen mehr Aliens und ne Bar ;)
@OKisNotOkay
@OKisNotOkay 7 күн бұрын
Thema springt mich gleich an 🙂
@EberhardWolff
@EberhardWolff 7 күн бұрын
Schön - viel Spaß beim Schauen!
@marcm3623
@marcm3623 9 күн бұрын
Hallo Eberhard, ich habe mal eine komische Frage (Mal wieder): Wenn man dann eine Architektur hat und auch auf Teams verteilt hat dann muss ja immerwieder untereinander verànderungem geben bis alles zusammen fließt. Wie übt ihr den dann noch eure Weisungsbefugnis aus? Wer gibt eine Weisung und wie wirkt das durch die Teams? Ganz nach dem Gedanken dieses 50 Sekunden Klips (die Weisung ist die macht) kzbin.infoUgkxvNrYT-nT0xF8ayKD0IOSwSs8bEuRdVXv?feature=shared
@marcm3623
@marcm3623 8 күн бұрын
kzbin.infoUgkxbbljYp64SJ0P8i1CM4rqrVgHmY1Pf0pm?feature=shared Moin Eberhard, Diese erwähnten Teams werden denen weisungen gegeben und wie stellt man fest, dass die das konzept genau so umsetzten wie du es dir vorstellst? Jedes team benutzt eine andere sprache (programmiersprache). Da gibt es ja ein priblem hinter der sprache. Siehe video
@marcm3623
@marcm3623 8 күн бұрын
Und / oder ganz anders gefragt. Welche Videos lösen (wenn auch nur im Ansatz) die Probleme die in diesen Videoclips erwähnt werden?
@marcm3623
@marcm3623 8 күн бұрын
Hallo, oder ganz anders gefragt: welche Videos lösen (oder schneiden das Thema an) die in den Clips (von mir angehängt) dargestellten Probleme? 🎉🎉
@marcm3623
@marcm3623 10 күн бұрын
26:09 fragen stellen lernen, sehr gutes Video und auch nochmal später in einem Video von Eberhard erwähnt.
@marcm3623
@marcm3623 14 күн бұрын
kzbin.info/www/bejne/qXioqKCjYppsptUfeature=shared Michael Plöd schneidet hier ebenfalls an, dass man mit kontext diagramme die teams und komponentem der architektur in liefer und leistungsbeziehung untereinander beschreiben kann.
@EberhardWolff
@EberhardWolff 14 күн бұрын
Ja. Ich denke, man sollte Diagramme zeichnen mit den Informationen, die einem helfen - ob die dann einem Standard entsprechen ist IMHO sekundär.
@frankjuno8808
@frankjuno8808 15 күн бұрын
"Working software is the primary measure of progress" - hätte man dies berücksichtigt anstatt technical excellence, wäre man bei der EM (vielleicht) doch reich geworden. Progress meint Fortschritt in der Entwicklung, nicht Unternehmenserfolg. Und "Continuous attention to technical excellence and good design enhances agility." meint doch nicht, dass technical excellence wichtiger sei als andere Werte, oder die Entwicklung bremsen können dürfte (siehe ersten zitieren Satz bzgl. Progress), sondern dass man stets die technische Exzellenz mit im Blick behalten sollte, also anstreben sollte wo es möglich ist.
@EberhardWolff
@EberhardWolff 14 күн бұрын
Wenn wir uns einig sind, dass es um Geschäftswert gehen soll, ist IMHO alles gut. Ich kenne genügend Situationen, in denen Techniker:innen auf beispielsweise auf ihre Interpretation von technischer Exzellenz gedrängt haben, auch wenn es aus geschäftlicher Perspektive keinen Sinn ergab. 🤷‍♂️
@marcm3623
@marcm3623 16 күн бұрын
Moin Eberhard, In dem Video legacy&innovation#8, Michael plöd, soziotechnischen Architekturen kzbin.info/www/bejne/qXioqKCjYppsptUfeature=shared Wird ab 2:35 bis 2:45 davon gesprochen möglichst ein 1:1 verhältnisse versucht werden zu erreichen. Also 1 domänen: 1 bounded Context: 1 (2:05 bis 2:09) : 1 Organisationsbestandteil Ist das deiner Meinung nach genau so?
@EberhardWolff
@EberhardWolff 15 күн бұрын
Zweifellos ist das ein sinnvolles Ziel. Es gibt allerdings einmal die Frage, ob man das so einfach in der Realität hinbekommt. Das ist ein Fokus meiner Beratung... 😉
@marcm3623
@marcm3623 15 күн бұрын
@@EberhardWolff ja, die Beratung macht aber meiner Meinung nach nur Sinn (lernend) wenn man ein ganz konkretes Anwendungsbeispiel hat. In dem Fall ja scheinbar ein Unternehmen das ein Projekt zur digitalisierung ,Achen will
@marcm3623
@marcm3623 16 күн бұрын
Hallo Eberhard, in dem Video: a better alternative to plain Microservices (Self-contained systems) kzbin.info/www/bejne/rpy0aomXg7mqrq8feature=shared Wird bei ungef. 14:50 bis 15:52 gesagt ein Scs ist eine Domäne. 1 Scs = 1 Domäne. Passt das aus deiner Sicht so? Da man ja häufig als Ingenieur in iterationem vorgeht, dann müsste dieser gedankliche Ansatz erstmal ein guter Startpunkt sein und dann vermutlich aber nachgebessert werden. Ist es ein guter erster Gedankenansatz wenn man an ein Projekt herangeht.
@EberhardWolff
@EberhardWolff 15 күн бұрын
Ja, ein SCS sollte eine Domäne implementieren. Auch hier wieder: Das ist einfacher gesagt als getan....
@marcm3623
@marcm3623 16 күн бұрын
32:45 bis 32:55 ein konzept für technische systeme das funktioniert und allgemeiner ist. Als ddd. Hierzu eine frage: betrachtet ihr das in einem nächsten gedankenschritt als soziotechnische systeme?
@EberhardWolff
@EberhardWolff 16 күн бұрын
Module sind eher ein technisches Konzept, aber soll Entwickler:innen ermöglichen, komplexe Systeme kollaborativ zu entwickeln. Von daher ist das ein soziotechnisches Konzept in so fern, als dass es Code für Menschen strukturiert.
@marcm3623
@marcm3623 14 күн бұрын
​@@EberhardWolff Moin Eberhard, danke für die Antwort. So ein soziotechnischen system hat ein Input und einen Output und einen inneren Zustand der vom Teammitglied (Software Firma?) abhängt, der Aufgabe (der Organisation?), der Technologie und der Struktur der Organisation(?). Ist der Input die Spezifikation der Schnittstelle oder noch mehr? Ist der Output der Code integriert in eine ArchitekturUmgebung?
@ZeroRow
@ZeroRow 17 күн бұрын
Liegt alles am Personal und der Akzeptanz Agile anzunehmen. Ja, es gibt Projekte, die zurück ins alte Muster fallen. Ja, es gibt Projekte, die Agile tatsächlich leben - Be Agile & Do Agile. Ich persönlich habe beides erlebt. Um Agile durchzuziehen, braucht man sehr viel Disziplin von den Akteuren. Viel Disziplin sich selbst zu organisieren und Teamwork aufrecht zu erhalten. Es muss sich jeder einbringen und nicht als Mitläufer einfach sein Dasein dahin fristen. Zusätzlich bedeutet es, dass man Kritik und Verbesserungen auch annehmen sollte und kann. Das Alte Ego hat somit im Projekt nichts zu suchen. Und zum Schluss - Rollenverteilung. Darin scheitern auch die Projekte mit alten Methoden. Sei es, dass die Akzeptanzkriterien nicht vollständig vorhanden sind oder die Projetmitarbeiter zu überfordert sind mit den zusätzlichen Aufgaben neben deren primären Tasks.
@i-am-the-slime
@i-am-the-slime 17 күн бұрын
Ich wollte nicht implizieren, dass du den gleichen Kritikpunkt hattest, sondern dass die Einführung von Agilität nicht automatisch zu besserer Software führt und sich das in meiner Erfahrung eben durch diese Planungsfaulheit geäußert hat.
@EberhardWolff
@EberhardWolff 17 күн бұрын
Danke für die Klarstellung!
@EberhardWolff
@EberhardWolff 17 күн бұрын
Vielleicht noch eine Anmerkung: Ich sehe bei solchen Folgen das Problem , dass ich auf schriftliche Dinge antworte und die kann ich falsch verstehen oder darstellen. Ich hoffe, das war OK für Dich so.
@MCRuCr
@MCRuCr 17 күн бұрын
Ganz einfach, weil Führungskräfte mit ihren Erbsenhirnen nicht im geringsten dazu fähig sind, irgendetwas daran zu verstehen. Bei uns glaubt der Chef, Agilität heisst Selbststeuerung. Jeder muss seine "Anforderungen" selbst formulieren und dann wird man daran gemessen, wie schnell und vollständig diese abgearbeitet werden können. Chef kontrolliert nur mit seinem überbezahlten "Senior Consultant" -Wichser, ob das "Burndorn-Chart" stimmt. Agil hin oder her, irgendjemand muss dem Team mitteilen, und zwar in angemessen formalisierter, grob terminierter Form (nicht "soll halt alles laufen"), was von ihm erwartet wird. Jetzt wo die Kacke für unseren Chef anbrennt, ist auf einmal ALLES wichtig. Ich glaub ich kann diese Scheisse nicht mehr. IT ist doch nur Bullshitgelaber von irgendwelchen "Business Consultants" aus überbezahlten Consulting BLABLABLA BULLSHIT Organisationen, die dem vollidioten von "TOP MANAGEMENT" erklären, wie sie Ihre hochintelligenten ausgebeuteten Computernerds am besten für die aktuellen Bullshittrends (KI! KI! KI!) melken können.
@marcm3623
@marcm3623 17 күн бұрын
Moin Eberhard, Bitte mehr Reaktionen 😅
@EberhardWolff
@EberhardWolff 17 күн бұрын
Gerne - aber dafür müsste es eben Reaktionen geben... 😉
@marcm3623
@marcm3623 17 күн бұрын
@@EberhardWolff wird es denn nochmal einen Beitrag zu soziotechnischen Systemen geben? Mich würde mal die Auftragsdefinition dort interessieren im Vergleich zur Auftragstaktik. Reaktionen kriegst du ja genug ich glaube nur du hast mittlerweile gar keine kapazitäten 💗
@EberhardWolff
@EberhardWolff 13 күн бұрын
@@marcm3623 Aufträge kein zwingender Teil eines soziotechnischen Systems. IMHO ist es aber grundsätzlich so, dass klare Delegation hilfreich sein kann. Ein formaler Prozess dafür wäre sicher nicht schlecht.
@DinHamburg
@DinHamburg 17 күн бұрын
sehr interessante 'Diskussion'. Noch eine Anmerkung zur letzten langen Frage (Altsystem neu machen, alles fein, Arbeit macht Spaß, irgendwann ist es weitgehend fertig, die Externen gehen, dann kommt Unterforderung auf) - Ja - richtig - das ist nunmal so. _Entwickeln_, im Sinne von etwas Neues _erschaffen_ , ist etwas anderes als Wartungsmodus, wenn etwas weitgehend fertig ist und nur noch ein paar Fehler, kleine Nachforderungen oder Performance-Probleme erledigt werden müssen. Andere Arbeit - anderer Spaßfaktor. Und anderer Aufwand - man braucht dann nicht mehr 10 agil motivierte creative Entwickler - sondern vielleicht nur noch 2 oder 3 kriminalistisch veranlagte, sehr sorgfältig arbeitende Leute, die die letzten Probleme aufspüren und beseitigen - ohne dabei was kaputt zu machen. Ganz andere Aufgabe - ganz anderes Mindset!
@EberhardWolff
@EberhardWolff 17 күн бұрын
Ich finde das auch nachvollziehbar. Man muss allerdings sagen, dass Ideen wie "nachhaltige Geschwindigkeit" eher den Eindruck hinterlassen, dass man bei agilen Ansätzen eben dauerhaft eine hohe Last hat. Ich finde da Beispiel deswegen auch gut, um zu zeigen, dass manchmal Agilität für langfristig eher keinen Sinn macht.
@SM-cs3nt
@SM-cs3nt 17 күн бұрын
Ich würde argumentieren dass du für kein Projekt 10 creative Entwickler brauchst. Auch einen „Wartungsmodus“ wird es so eigentlich im Agilen setup nie geben. Die Idee ist, dass du ein Team von 3 bis 4 Leuten hast, die extrem gut sind in dem was Sie tun - diese sollten dann die kleinst möglichen Inkremente der Gesamtvision, step by step umsetzen. Die Visions, bzw. das Produkt ist dabei nie wirklich fertig. Es gibt immer neue Änderungen die man implementieren kann um Marge zu erhöhen und Profit zu steigern.
@EberhardWolff
@EberhardWolff 17 күн бұрын
@@SM-cs3nt Das sagt das klassische Verständnis von Agilität, richtig. Das letzte Beispiel aus dem Reaktion-Stream zeigt IMHO eine Entwicklungsphase und eine Wartungsphase bei mindestens zwei Projekten. Da sind dann andere Vorgehensweisen sinnvoll.
@SM-cs3nt
@SM-cs3nt 16 күн бұрын
@@EberhardWolff Das größte Problem der klassischen Agilität mMn. sind die Kostenaufwände für die Entwickler die keinen direkt ersichtlichen Gegennutzen haben. Bei einem Team von 4 Mann, sprechen wir von jährlichen Personalkosten von 500.000€ (sehr günstig gerechnet) Dagegen muss erst einmal ein Profit stehen - der sich über die Jahre auch hält. Verstehe da schon warum viele Firmen lieber den Fixed Scope abstecken möchten (und ein Budget und Business Case dahinter legen) Für 300.000€ kann ich an eine Agentur gehen, einen Werksvertrag schließen und habe am Ende die Software die ‚nur noch‘ gewartet werden muss. Die software erfüllt den im Business case geplanten Nutzen und der Umsatz kann erzielt werden. (Wenn er sich rechnet, plane ich die nächste Iteration und wenn nicht dann halte ich das Projekt im Wartungsmodus oder schließe ab. Im Gegensatz dazu steht die Agilität bei der ich keine genau Prognose habe dafür welche Features ich umgesetzt haben werde zu welchem Zeitpunkt. Die 500.000 fallen sofort an - und wiederholen sich im nächsten Jahr wieder. Was nun wenn ich nach einem Jahr die gewünschten Features nicht umgesetzt habe und somit nicht Wettbewerbsfähig bin? Im worst-case habe ich also 500.000 in den Sand gesetzt + 4 Entwickler die ich entlassen muss + lein Produkt. Im nicht agilen case habe ich 300.000 für ein Produkt gezahlt dass nicht mevr markttauglich ist weil sich die Marktgegebenheiten so stark geändert haben (was auch sehr unwahrscheinlich ist - in der Realität ändert sich der Markt nicht so schnell.). Durch den Werksvertrag habe ich also eine Risikominimierung weil das Risiko auf die Agentur ausgelagert wird.
@EberhardWolff
@EberhardWolff 16 күн бұрын
@@SM-cs3nt Guter Punkt - danke fürs Teilen!
@marcm3623
@marcm3623 21 күн бұрын
Inwiefern hängt bounded Context mit dem Thema schneiden zusammen? kzbin.info/www/bejne/Z4OomKyoh9SqhNkfeature=shared (Mikroservices schneiden) Kannst du die hier erwähnten erklärungen dazu so unterschreiben? Einsprungstellen: 1:03:48 1:04:17 1:06:28 1:08:31
@EberhardWolff
@EberhardWolff 13 күн бұрын
Der betrachtet einen Technologie-Stack aus Messaging während Bounded Contexts eine fachliche Aufteilung darstellen. Von daher lassen sich die beiden Ansätze sicher gut kombinieren.
@wolftake99
@wolftake99 21 күн бұрын
Danke für deine Streams! Wo finde ich die angesprochenen Verlinkungen?
@EberhardWolff
@EberhardWolff 21 күн бұрын
Danke für das Feedback! Hier sind die Links: software-architektur.tv/2024/04/12/folge212.html . Ich habe sie aber auch hier in der Video-Beschreibung ergänzt. 🙂
@Jhumanghjngg
@Jhumanghjngg 22 күн бұрын
Aus meiner Sicht fuehrt deine Analyse am Kern vorbei. Der wirtschaftliche Vorteil durch Anwendung von Agilitaet kommt natuerlich nicht von besonders guten Designs, langfristiger Wartbarkeit oder weniger Dokumentation. Sondern resultiert aus der Etablierung eines effizienten feedback cycles. Fail fast (and cheap) and improve. Das scheinst du gaenzlich auszublenden. Moegliche Gruende fuer das Scheitern solcher Prokekte leiten sich dann auch direkt daraus ab. Z.b., - Feedback und Verbesserungsdruck kann fuer schwaechere MA sehr herausfordernd sein. Strikt einem Plan zu folgen, fuer dessen Scheitern im Zweifelsfall dann jemand anderes verantwortlich ist, kann sehr viel bequemer sein. - Je nach Umfeld kann das Generieren von tatsaechlich hilfreichem Feedback schwer bis unmoeglich sein. - Feedback muss geplant, interpretiert und in weiteres Vorgehen ueberfuehrt werden. Das bekommen auch nicht alle Organisationen fehlerfrei hin.
@EberhardWolff
@EberhardWolff 22 күн бұрын
Danke für das Feedback! Mittlerweile glaube ich, man kann da eine ganze Batterie von Talks zu machen. Du hast recht, Feedback ist ein massiver Vorteil. Das erklärt aber nicht, warum funktionierende agile Organisationen rückabgewickelt werden bzw. das können nicht alle umsetzen. Die Konsequenz kann aber IMHO nicht sein, Agilität immer noch als das beste Konzept anzusehen. Bei einer solchen Organisation funktioniert es eben leider nicht. Ich glaube, dass das nicht allen klar ist….
@Jhumanghjngg
@Jhumanghjngg 19 күн бұрын
@@EberhardWolffAn ein bestes Konzept glaube ich auch nicht. Bei uns hatte es sicher 5..7 Jahre gedauert, bis zumindest ein Großteil der Teams Scrum verinnerlicht hatte. Da helfen auch diverse, oft ein wenig weltfremd daherkommende Coaches nicht, eher im Gegenteil. Automatisch besser wird auch nichts, im Gegenteil, viel mehr Leute müssen regelmäßig "das Richtige" tun, wo vorher vielleicht bisweilen ein cleverer und durchsetzungsstarker PM ausreichte. Es gibt sicher 99 Stolperfallen, in welche man früher oder später tappsen wird. Mich wundern Rueckabwicklungen nicht.
@marcm3623
@marcm3623 23 күн бұрын
Exkurs: anderes allgemeingültigeres konzept als Ddd. Ich finde 31:08 bis 34:17 bis 36:37 modul soll eine funktionalität umfassen. Das ist ein allgemeineres modellierungskonzept als DDD. Ich finde das video lässt sich am dieser stelle auch mit gedanken zu diesem video verknüpfen (siehe unten) und es würde meiner meinung navh auch total interessant sein den übergang zu soziotechnischen systemen zu machem (da gibt es noch kein video zu) Im kern: 32:45 bis 32:55 dann haben wir ein konzept das auch für technische sachen funktioniert. Soziologie und softwarearchitektur kzbin.infodQdTLzoeKUE?feature=shared Ps: meine antwort zu meiner frage ist aus meiner sicht: Ein Scope und ein kontext gibt es immer. Die frage ist ob ich im scope wieder so schneide das ich einen weiteren kontext und einen scope habe und das ist mein modell und das betrachte (im scope) als viele scope kontext kombinationen die unteilbar sind. ?
@marcm3623
@marcm3623 23 күн бұрын
kzbin.info/www/bejne/m6uceIp7iLB6aqsfeature=shared 19:58 die einzige Sache bei der es um bounded contexte geht 21:25 DDD = model hypothesis
@DinHamburg
@DinHamburg 24 күн бұрын
Hä??? Was heißt denn 'die ich einem Training nicht erklären würde - weil zu kompliziert'.. geht's in 'nem Training nicht gerade darum, genau solche Dinge zu klären??
@EberhardWolff
@EberhardWolff 24 күн бұрын
Ich will, dass die Leute aus dem Training rausgehen und Systeme in Bounded Contexts aufteilen können. Das erreiche ich dadurch, dass sie es selber tun und ihre Entwürfe reviewed. Wenn ich ihnen das erzählen würde, was ich in der Episode erzähle, würde ich den zweiten Schritt vor dem ersten machen und durch Details verwirren. Und ich würde viel Theorie machen, während Trainings für mich vor allem Praxis sein sollen.
@marcm3623
@marcm3623 24 күн бұрын
kzbin.info/www/bejne/pne8p5afZ8yiqcUfeature=shared 1:31 3:40 bis 3:50 passt sehr gut zu dem Stream hier. Schönes wochenende
@marcm3623
@marcm3623 24 күн бұрын
Ich vermute die erwähnte Frage (9:20) bezieht sich auf die unten ausgeschriebene Frage. Sorry das sie so spät kam und danke für den Antwortversuch 😊 Guten Morgen Eberhard, Ich ich freue mich sehr über den heutigen Stream: bounded Context was ist das eigentlich? Und möchte dazu auch eine Frage stellen, die aber erfordert deine bisherigen Videos und Einsprungstellen. In dem Video zur Air bonb Architektur sprichst du von deiner Perspektive auf die Architektur Link kzbin.infoDh9CgeC4xiI?feature=shared Einsprungstellen bei dem Link (Video) 1:03:03 bis 1:05:47 Ich finde bei dem Video mit dem Wasserfallmodell wird sehr gut die Ausgangslage bei Projekten und die Beziehung Organisation zu IT Organisation erwähnt. Und das ganze leitet schonmal ein das es Anforderungen gibt die sich nachträglich ergeben kzbin.infoufceCTDC2lM?feature=shared 58:15 In kzbin.infoGqs8zLXei7Q?feature=shared Big ball of Mud, wird erwähnt das jedes Modul (Mikroservice) einen Scope hat. Bei 59:00 bis 59:30 Und bei kzbin.infoyVNQDZzqmh8?feature=shared Scs Video wird erwähnt wie man die scopes ansetzen kann und verbinden kann(?) 27:50 ein requests ein mikroservice Und Und 30:50 Zu meiner Frage: es gibt scopes und es gibt Kontexte. Es gibt aber auch bounded contexte. Scopes und Kontext ganz am Anfang eines Projekts kann man sich wie folgt vorstellen: Video: dein Weg zu besseren Anforderungen kzbin.infoO3bO_3h0QtU?feature=shared Scope 12:55 sehr gutes Abbild 19:05 bis 19:28 Anforderungen und der Umgang damit Bis 19:55 Ist ein bounded Context Teil vom letzten Video erwähnten Scope oder vom dort erwähnten Kontext? Und kannst du uns einen kurzen überblick geben der die Einsprungstellen miteinander verbindet?) Ich bedanke mich und entschuldige mich das ich die Frage nicht kürzer stellen könnte Gruss und viel erfolg
@marcm3623
@marcm3623 25 күн бұрын
58:15 IT unternehmen schliesen verträge mit organisationen. Es kann keine festen Anforderungem geben.
@marcm3623
@marcm3623 25 күн бұрын
53:45
@thomasschaper1410
@thomasschaper1410 Ай бұрын
Ich hatte das Thema Software-Architektur bislang für gänzlich unpolitisch gehalten, aber man lernt ja nie aus 👍
@SezginRuhi
@SezginRuhi Ай бұрын
Danke
@i-am-the-slime
@i-am-the-slime Ай бұрын
Dieser Personenkult in der Javaecke ist echt ganz spannend.
@user-mf9ye1un4q
@user-mf9ye1un4q Ай бұрын
An ecologist is a scientist who studies the relationships between organisms and their environment, including the interactions between living organisms and their surroundings.
@ecblack
@ecblack Ай бұрын
Sehr interessanter Vortrag, der das Thema von verschiedenen Seiten beleuchtet und mir viele neue Impulse gegeben hat. Ich habe aber in dem Kontext "Warum setzt sich agil nicht durch, wenn es besser bzw. überlegen ist?" eine Perspektive vermisst - die systemische Sicht, die aber zugegebenermaßen sehr komplex ist und genug Stoff für einen eigenen Vortrag bieten würde. Nur weil etwas (objektiv) besser funktioniert, würde ich nicht davon ausgehen, dass es sich durchsetzt. Bei jeder Form von Veränderung wird es systemische Widerstände auf sämtlichen Ebenen in verschiedensten Ausprägungen geben, die man zunächst verstehen muss um danach mögliche Handlungsoptionen abzuleiten. In der Regel kann man bei jedem konkreten Beispiel sehr genau erklären, warum Agile scheitert bzw. nicht die gewünschten Ergebnisse bringt. Auch sehr spannen fand ich die Themen Agilität und Business Value, sowie "Sustainable Development", hier würde ich bei der Interpretation definitiv widersprechen. Aber das würde jetzt den Rahmen sprengen... ;-) Insgesamt ein sehr guter Vortrag, vielen Dank!
@EberhardWolff
@EberhardWolff Ай бұрын
Danke für das Feedback! Ich glaube, man kann noch eine Vielzahl weiterer Vorträge in dem Bereich halten - gerade nach den Reaktionen auf diesen Vortrag. Aber mein Thema war hier funktionierende agile Organisationen, die kippen - und die haben Widerstände bereits überwunden…
@OrcaFPV
@OrcaFPV Ай бұрын
interessanter Werdegang, interessanter Mensch... danke 👍
@i-am-the-slime
@i-am-the-slime Ай бұрын
Es freut mich, value objects (newtypes aus Haskell) zu sehen. Man sollte dann natürlich keinem Konstruktor haben, der invalide Emailadressen erlaubt sondern einen der ein Either zurück gibt.
@odrotbohm
@odrotbohm Ай бұрын
Das ist ein interessanter Gedanke und sicherlich eine Option. Allerdings finde ich, dass die Frage ob man funktionale Fehlerbehandlung betreiben möchte eine orthogonale zur Entscheidung ValueObjects einzusetzen. In Java bräuchte es für ersteres so etwas wie Vavr. Der Einsatz einer funktionalen Bibliothek hat aber signifikant andere Auswirkungen, da mondadische Typen eigentlich immer viral sind. D. h. deren Einsatz sorgt immer dafür, dass weiterer Code mit diesen Typen umgeht (ähnlich wie Optional). Dies ist wesentlich invasiver als die Typen in jMolecules. Von daher sollte das IMO eine separate, orthogonale Entscheidung sein. Zum Thema funktional VS. eher OO-orientiert hat jMolecules absichtlich keine Meinung.
@cyrusol
@cyrusol Ай бұрын
47 Minuten geballte Information
@EberhardWolff
@EberhardWolff Ай бұрын
Danke für das super Feedback!
@i-am-the-slime
@i-am-the-slime Ай бұрын
Getter Setter schreiben ist ja schon Beschäftigungstherapie
@christianbaer2897
@christianbaer2897 Ай бұрын
"Wir sind agil und machen Scrum" - "Sorry, aber da müsst ihr euch jetzt schon entscheiden."
@HickyGreen
@HickyGreen Ай бұрын
Die These is aber weit her geholt, wie erklär ich denn das es besser ist auf der Straße zu bleiben, statt gegen den nächsten Baum zu fahren, nur weil es Leuten passiert das sie von der Straße abkommen. Nur weil etwas "besser" ist, heißt es nicht automatisch das es easy ist es einzuhalten. Wenn die Sicht trübt und man sieht die Straße vor lauter Bäumen nicht mehr, dann sollte man anhalten und sich neu orientieren statt weiterzufahren und im Zweifel dann der Straße die schuld geben warum da jetzt ne Kurve kam. Es liegt doch nicht am agilen Prozess das dieser verlassen wird, wenn man sich nicht an die Struktur des agilen Prozesses hält.
@EberhardWolff
@EberhardWolff Ай бұрын
Das ist nur eine These, die ausführliche Darstellung und Begründung findet sich hier: kzbin.info/www/bejne/aGTIioelmJ11rsk
@HickyGreen
@HickyGreen Ай бұрын
@@EberhardWolff schau ich mir gerne mal an
@EberhardWolff
@EberhardWolff Ай бұрын
@@HickyGreen Super, viel Spaß dabei!
@christophschmidt123
@christophschmidt123 Ай бұрын
Zum Thema agiles Manifest vs business value: Typischerweise hat man in agilen Projekten einen product owner der Aufgaben/Storys nach business value bewertet und priorisiert. Damit das Problem doch schon gelöst?
@EberhardWolff
@EberhardWolff Ай бұрын
Genau da bin ich mir nicht so sicher. IMHO ist die Priorisierung von Features gegenüber Wartbarkeit ein zentrales Thema: Am Ende hat man ggf. unwartbare Legacy oder ein wartbares System, aber kein Product / Market Fit. Dort den richtigen Kompromiss zu finden ist schwierig. Und die Priorisierung und das Verständnis für das Gehschäft sollte breiter im Team verstreut sein als nur beim PO. Architektur und damit Architekt:innen haben auch massiven Einfluss auf den Geschäftswert.
@christophschmidt123
@christophschmidt123 Ай бұрын
@@EberhardWolff Stimmt. Kenne ich sogar tatsächlich so dass auch die Architektur/Entwickler einen Prozentsatz der "Story Points" für technische Themen verplanen darf.
@nilsmach6399
@nilsmach6399 Ай бұрын
Sehr spannende Fragen, die hier aufgeworfen werden. Um sie zu beantworten, würde ich aber nicht so pauschal argumentieren: "Die Organisation ist mit der Änderung glücklich": Wer ist "die Organisation"? Natürlich ist das untere Management glücklicher mit unselbstständigen Teams, die sie mit Command and Control führen können. Bei Bayer gibt es 12 Führungsebenen, agil strukturiert blieben davon vielleicht noch 3 übrig. Das Mittelmanagement mit dem man als Berater kommuniziert, ist vielleicht glücklich, auch wenn Umsatz und Gewinn sich schlecht entwickeln. Das Petersen-Prinzip lässt grüßen. Genauso kann man auch agile Projekte nicht über einen Kamm scheren: Eine Bude, die für den öffentlichen Dienst irgendeinen Müll zusammen kloppt, ist mit einem reinen Ausbeutungskonzept, also Billiglöhne, Auslagerung nach Indien, klare Vorgaben, harte Deadlines und hohe Fluktuation, wahrscheinlich wirklich erfolgreicher, weil es ihnen schlicht egal sein kann, was sie da über den Zaun werfen. Wenn die Software aber einen Wettbewerbsvorteil für das Unternehmen generiert und es auf hohe Qualität, langfristige Wartbarkeit und die tatsächliche Umsetzung von Kundenanforderungen ankommt, dann braucht es eigenständige Teams mit klugen Leuten. Sprich: Apples macOs und Amazons AWS müssen "agiler" entwickelt werden als eine Verwaltungssoftware. Wobei auch letztere von agilen Prozessen profitieren würde, aber der Staat bezahlt halt nur den Mindestumfang und bekommt entsprechend auch nur diesen.
@nrgpirate
@nrgpirate Ай бұрын
I love it how the posted comments are trying desperately to refrain using the word monolith, as if they are going to catch mono or get their gonads slammed on a table with a hammer. If you are using Kafka, it is implied that you are using a monolith. It doesn't mean its a bad pattern to use in a distributed systems infra. game servers tend to be written as monoliths... modular monoliths... and if you are going to have a separation of concerns and event driven model especially ddd, then it is implied to have the notification pattern to provide the message and ideal as asynchronous. A monolith addresses the concern, but there are do's and don'ts and most engineers are not taught that. Danke Eberhard, Sie haben einen Teil meines Vertrauens in die Menschheit wiederhergestellt
@EberhardWolff
@EberhardWolff Ай бұрын
Thanks for the great feedback! 🙂👍
@SM-cs3nt
@SM-cs3nt Ай бұрын
Das große Problem ist, dass Agilität nicht immer die richtige Lösung ist. Für manche Projekte braucht es eine sehr ausdetailiert Planung. Budgets müssen 1 Jahr im voraus delegiert werden - Investoren brauchen klare Planung und Umsatzprognosen. All dass ist sehr schwierig wenn man noch nicht konkret beschreibt was man entwickeln möchte.
@EberhardWolff
@EberhardWolff Ай бұрын
Das ist ein anderes Thema. Die kurze Antwort ist, dass mindestens Iterationen immer sinnvoll sind, selbst wenn sich Anforderungen nicht ändern würden. Weil sie das aber tun, sollte man sich darauf auch ausrichten und dann ist man bei Agilität. kzbin.info/www/bejne/qJObgqGco52repY diskutiert das alles im Detail.
@enolive123
@enolive123 Ай бұрын
Sehr gute, nüchterne Analyse! Was mir im Bezug auf die Wettbewerbsfähigkeit gefehlt hat, ist die Frage ob ein Unternehmen mit agileren Vorgehensweisen gegenüber einem traditionellen im Arbeitnehmermarkt IT signifikante Vorteile hat. Ich meine, dass dies so ist kann es aber nicht mit Zahlen belegen. Meine aber zu wissen, dass die DORA Reports einen Zusammenhang zwischen Zufriedenheit und gewissen (agilen) Praktiken feststellen. Das wäre dann ein möglicher kausaler Zusammenhang zwischen Happyness/Fun bei der Arbeit und Business Value
@EberhardWolff
@EberhardWolff Ай бұрын
Danke für das nette Feedback ! Ich bestreite nicht, dass zufriedenere Leute produktiver sein können. Dennoch gibt es beispielsweise Beratungen, die auf jeder Uni-Jobmesse vertreten sind, weil sie neue Mitarbeiter:innen benötigen. Die verbleiben dann höchstens ein paar Jahre in dem Unternehmen. Danach müssen sie entweder aufgestiegen sein oder sich einen neuen Job suchen . Die Arbeitsbedingungen - insbesondere die langen Arbeitszeiten - sorgen außerdem dafür, dass die Leute da gar nicht bleiben wollen. Das ist halt Ausbeutung und funktioniert in der IT genauso gut wie anderswo auch. Also gibt es unterschiedliche Strategien: Ausbeutung und zufriedene Mitarbeiter:innen sind zwei.
@i-am-the-slime
@i-am-the-slime Ай бұрын
Hat mir sehr gut gefallen. Ich habe es persönlich auch oft erlebt, dass man Agilität als Ausrede für das Ausbleiben von Planung heranzieht. Jetzt gucke ich das Video mit dem Fearless Change.
@EberhardWolff
@EberhardWolff Ай бұрын
Danke für das positive Feedback - freut mich sehr!
@aFrInaTiOn
@aFrInaTiOn 13 күн бұрын
Wait what?! War mir entfallen, dass Linda Rising als Gast bei Eberhard war - habe ihr Buch hier liegen & jetzt weiss ich was ich analog zu Dir tun werde, nämlich das andere Video zu schauen.. 😍
@EberhardWolff
@EberhardWolff 13 күн бұрын
@@aFrInaTiOn viel Spaß!
@morgadoapi4431
@morgadoapi4431 Ай бұрын
Perfekte zusammenfassung für Leute die ADHS haben
@Aalii6
@Aalii6 Ай бұрын
Vielen Dank! 👍👍
@VindicatorMorty
@VindicatorMorty Ай бұрын
Wie gehst du selbst vor um Entwurfsmuster oder Ansätze wie DDD oder auch CQS zu verstehen und auch erklären zu können? Setzt du dich auch mal hin und programmierst dir eine kleine Anwendung CQS folgend zusammen? Persönlich kann ich Muster erst richtig verinnerlichen samt AHA-Effekt wenn ich sie angewendet und den Mehrwert selbst erfahren habe.
@EberhardWolff
@EberhardWolff Ай бұрын
Ich baue zwar verschiedene Prototypen, aber ich muss nicht unbedingt alles selber implementiert haben. Ich finde es besonders spannend zu schauen, was man denn nun wirklich unter einem bestimmten Konzept versteht - dazu gibt es ja auch viele Beispiele im Stream. Als Berater sehe ich außerdem viele Projekte und die Erfahrungen, die sie gemacht haben. Das formt einen Eindruck von typischen Problemen und Lösungen.
@i-am-the-slime
@i-am-the-slime Ай бұрын
Vielen Dank! Ich bin gespannt, nach einem Master in Informatik und zehn Jahren Industrieerfahrung habe ich bisher noch keine Erklärung dafür erhalten. Funktionen sind leichter zu erklären!
@EberhardWolff
@EberhardWolff Ай бұрын
Interessant. Ich fand funktionale Programmierung immer weniger offensichtlich. Aber da kann man dann wohl verschiedener Meinung sein. Danke für das Feedback!
@i-am-the-slime
@i-am-the-slime Ай бұрын
​@@EberhardWolff Vielen, vielen Dank. Ich habe es gestern noch im Zug fertig schauen können. Funktionale Programmierung wird auch schnell verrückt (Category Theory, Recursion Schemes und Lenses lassen grüßen), das finde ich auch. Aber Funktionen selbst sind so schön einfach (man steckt was rein und es kommt bei gleichem Input immer das gleiche 'raus). Weil mir noch nie ein Video gemacht wurde möchte ich noch ein bisschen Feedback da lassen! Ich stimme dir, wenn ich mich recht entsinne, bei allem zu. Meine persönliche Theorie ist ja, dass das OOP-Konzept so populär geworden ist, weil es so intuitiv klingt (Animal -> Mammal -> Cat, Dog,...). Meistens kommt man dabei nicht zum Schnabeltier. Der generelle Konsens scheint ja sowieso zu sein, dass Vererbung eine schlechte Idee war, Interfaces (und Composition) aber super sind. Was dann für mich eben immer noch bleibt ist der veränderbare Zustand der Objekte. Der ist im Endeffekt in meinen Augen eine Performance-Optimierung ggü. von ,,immutablen" Objekten, die ja in vielen Business-Kontexten auch wieder vorzuziehen sind. Dieser State führt dann auch zu noch viel mehr "incidental complexity" wie "private/protected/public", "Getter" und "Setter". Meine große Frage bei dem allen ist das "wieso"? Was wird damit erreicht, das mit imperativer Programmierung schlechter ging? Und zu welchem Preis (s.o.)? Ich glaube WhatsApp hat ja bewiesen, dass es mit der richtigen VM in dem (von dir ausgeschlossenen) Netzwerk-Einsatzzweck ziemlich gut funktionieren kann. Gerade in großen Firmen ist ja OOP ziemlich beliebt. Du hast erwähnt, dass Java nicht die allerschönste Sprache ist. Glaubst du, dass es also so eine selbsterfüllende Prophezeiung ist nach dem Motto: - Viele Entwickler können Java, also nutzen wir in unserer Firma Java - Die Industrie nutzt Java, also lehren wir Java - Entwickler können Java, also bauen sie Bibliotheken in Java So, jetzt reicht's aber. Liebe Grüße aus Münster!
@EberhardWolff
@EberhardWolff Ай бұрын
@@i-am-the-slime Danke für das ausführliche Feedback! Zum „wieso“: Smalltalk, OO und GUIs gehören für mich zusammen und ich persönlich bin über GUI-Programmierung zu OO gekommen. Und IMHO passt OO da gut. Ansonsten denke ich - wie Du auch sagst - in einem sich verstärkenden Feedback-Zyklus für Sprachen wie Java oder JavaScript. Das ist meiner Wahrnehmung nach auch, was Nikolaus Wirth sagt.
@i-am-the-slime
@i-am-the-slime Ай бұрын
@@EberhardWolff Finde es total cool, was du hier machst. Gefällt mir sehr gut, dass du es auf Deutsch machst. Habe noch viel nachzuholen, was den Kanal angeht.
@EberhardWolff
@EberhardWolff Ай бұрын
@@i-am-the-slime Danke für das Feedback, freut mich sehr! 🙂
@cyrusol
@cyrusol Ай бұрын
Super Video
@aleksandernowak585
@aleksandernowak585 Ай бұрын
Es kommt oft vor, dass Klassen selbst Objekte sind. In Java gibt es die Klasse namens java.lang.Class. Da kann man dann Klassen zur Laufzeit analysieren. Also sich die Felder oder Methoden oder Konstruktoren etc. zurückgeben lassen. Und jedes Objekt hat die .getClass()-Methode, mit der man immer das Klassen-Objekt bekommt.
@EberhardWolff
@EberhardWolff Ай бұрын
Danke für den Hinweise - das hatte ich am Beispiel von Smalltalk IMHO auch im Stream gesagt, aber stimmt Java hat ähnliche Konzepte.
@marcm3623
@marcm3623 Ай бұрын
Schönes Wochenende. Danke für das video
@EberhardWolff
@EberhardWolff Ай бұрын
Dir auch ein schönes Wochenende!
@marcm3623
@marcm3623 Ай бұрын
45:58 bis 46:41 DDD ist explizit objektorientiert formuliert. Kannst du das heute nochmal in deinem Stream mit erwähnen? Sowie die Idee aus 45:10 ? Ich bin gespannt und absolut neugierig wie dein Steam heute wird. Viel Erfolg 😅🎉🎉
@EberhardWolff
@EberhardWolff Ай бұрын
Taktisches Design ist objektorientiert, richtig. Das hatten wir in Episode 214 software-architektur.tv/2024/05/03/folge214.html diskutiert. Damit ist die in dieser Episode vorgestellte Idee eine funktionale Alterantive zu taktischem Design. Die anderen Elemente von DDD sind davon unberührt.