Why customizations destroy software projects!

  Рет қаралды 16,098

David Tielke

David Tielke

Күн бұрын

Пікірлер: 175
@synthomat
@synthomat 3 күн бұрын
"Potenzieller Kunde sagt, wenn wir in unsere _Standardsoftware_ noch DAS für ihn einbauen, dann kauft er es ga-ran-tiert!" - Vertriebler. Immer.
@JanBebendorf
@JanBebendorf 4 күн бұрын
Genau so ein Projekt habe ich auch verzapft, aber ohne Druck von nem C-Level und mit Anlauf :D Wir haben das Projekt von Anfang an so designed, dass wir damit diverse Fälle abdecken können (Input-Module mit Flags, geteilte Logik mit wenigen Settings, Output-Module mit Flags), aber mit jedem weiteren Fall kamen auch einige Sonderfälle mit rein, die wir dann versucht haben in unser modulares System rein zu quetschen. Das ist aber ein generelles Problem bei vielen Projekten. Die Domäne des Kunden lernt man erst über die Zeit wirklich kennen und in dem Moment wo man diese vollständig durchblickt hat, ist es oftmals schon viel zu spät, deswegen ist gutes Anforderungsmanagement das wichtigste und muss aktiv passieren, denn der Kunde hat in den allermeisten Fällen selbst keine Ahnung was er will, das fällt ihm ein wenn das Projekt abgeschlossen ist.
@ro-kg5vb
@ro-kg5vb 3 күн бұрын
Oh ja mit Anforderungsmanagement haben wir total gute Erfahrungen gemacht. Da wurde extra ein Anforderungsanalytiker eingestellt. Der hat dann die Aufgabe bekommen, zu analysieren, ob wir die Anforderungen erfüllen. Hat dann etliche Monate damit verbracht, die (Tausenden) Anforderungen einfach als Frage zu formulieren. Also so richtig stur durchgezogen, zb die Anforderung "Dateisysteme müssen ein Journal verwenden" wurde dann "verwenden Dateisysteme ein Journal?" Also, natürlich erst noch mal ganz ernst und nachdenklich kucken und dann erst aufschreiben. Das hat er über ein Jahr lang gemacht, dann fertig gemeldet. Alle haben sich auf die Schulter geklopft dass wir endlich das Anforderungsmanagement im Griff haben 😂 Die offenen Fragen (also alle Tausende) sollten dann nur noch vom Entwickler eben beantwortet werden 😂
@JanBebendorf
@JanBebendorf 3 күн бұрын
Das nennt man dann wohl Bottom-Up Requirements Engineering und reiht sich neben dem Obstkorb in der flachen Hierarchie ein :D Das passiert wenn man auf solche Positionen Leute setzt, die eigentlich keine Ahnung haben, was ihre Aufgabe ist und diese sich dann ne Beschäftigung ausdenken. Besonders gut finde ich Consultants, die ohne Berufserfahrung oder sonstige Qualifikation frisch aus dem Studium kommen und dann Leute mit deutlich mehr Berufserfahrung beraten sollen oder Strukturen & Prozesse aufbauen sollen, die sie selbst noch nie gelebt haben.
@frankyboy4409
@frankyboy4409 3 күн бұрын
Hui ja mir kommt da auch ein Projekt in meiner Ex-Firma in Erinnerung. YAGNI haben sie dort nie gehört, alles auf maximale Flexibilität und Anpassbarkeit designed ohne guten Grund und es war dann ein wahnsinniger Krampf, irgendwas sinnvolles damit zu machen.
@MasterBoyZs
@MasterBoyZs 3 күн бұрын
@@JanBebendorf das sind auch die, die es nie besser konnten und dann oben sitzen und keine Ahnung in echt haben. Aber es gibt auch die laten hasen, die Ahnung haben. Und irgendwann schläg die eigene Uhr 12 und man sitzt auf den Stuhl in der mitte... Erfahrungen sich nacher, die zählen und die Rechnungen zahlen. Wissen ist relativ...
@pneupra7100
@pneupra7100 4 күн бұрын
Hallo David, vielen Dank für das Video. Was mich interessieren würde, wie konntet ihr das Problem lösen? Mich würde ebenfalls interessieren, wie du die Analyse und die Ergebnisse dem Kunden aufbereitest hast? Vielen Dank fürs teilen.
@clumsyjester459
@clumsyjester459 4 күн бұрын
Das größte Problem ist, wenn die Anwendung ein großer amorpher Haufen ist. Wenn ich 1000 konfigurierbare Optionen habe, die sich potentiell alle gegenseitig beeinflussen können, ist das Projekt tot. Wenn ich aber 32 klar voneinander getrennte orthogonale Komponenten mit je 32 konfigurierbaren Optionen habe, dann ist das zwar auch schon sehr komplex, aber durchaus noch managebar.
@programmieren3197
@programmieren3197 4 күн бұрын
Ich denke, dass Software sogar besser werden kann, dadurch, dass man sie anpassen kann. Man muss das dann halt alles mit sehr wenig Kopplung arbeiten. Das bedeutet führt dann natürlich zu mehr Arbeitsaufwand beim Testen aber man muss sich das halt sehr gut bezahlen lassen.
@343max
@343max 3 күн бұрын
Die 32 Komponenten muss man aber auch erst mal planen und implementieren, es ist ein Kampf Abhängigkeiten zu verhindern und am Ende hat man wenn man nicht höllisch aufpasst doch nur wieder ein Wollkneul von Abhängigkeiten.Und außerdem hat man dann eh nicht 32 Komponenten mit 32 Optionen, sondern eine Komponente mit 900 Optionen und 24 mit null.
@joergfoerster8043
@joergfoerster8043 3 күн бұрын
Meistens ist leider zu Anfang nicht absehbar, welche Varianten man brauchen wird. Oft werden im Lauf der Zeit auch Änderungen durch Rechtsverordnungen o.ä. erforderlich.
@clumsyjester459
@clumsyjester459 3 күн бұрын
@@343max Dass alle einzelnen Komponenten exakt gleich viele Abhängigkeiten haben, ist natürlich sehr unwahrscheinlich. Es wird sich ziemlich sicher eine Pareto-Verteilung ergeben. Aber auch dann gilt: wenn die Config-Optionen sich über die Interfacegrenzen hinaus auswirken, müssen benachbarte Komponenten theoretisch auch immer mit jeder Kombination an Optionen integrativ getestet werden. Das wird sehr sehr schnell zu aufwändig. Wenn Config-Optionen nur einen lokalen Effekt haben, reichen "Unit Tests" für die Komponenten und sehr wenige integrative Smoke-Tests, die sicherstellen, dass die Interfaces nicht auseinanderdriften. Und man muss nicht alles an Tag 1 planen. Man muss nur genügend erfahrene Leute im Team haben, die es rechtzeitig erkennen und laut schreien, wenn Dinge zu stark gekoppelt sind. Und dann muss man diesen Leuten die Zeit geben, aufzuräumen und Sachen wieder zu entwirren. Und wenn man das lange genug nicht macht, hat man irgendwann so viele Edge cases und hacky Features eingebaut, für die sich immer jeweils exakt 1 Kunde finden lässt, für den das unverzichtbar ist, dass man es nie wieder aufgeräumt bekommt.
@kj4derEchte
@kj4derEchte 4 күн бұрын
Branch pro Kunde, und es wurde Cherry Picking betrieben
@DavidTielke
@DavidTielke 4 күн бұрын
Auch schon erlebt... :D
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
In welche Branche nutzt man multiple branches?
@elmarnooth1942
@elmarnooth1942 4 күн бұрын
@@MasterBoyZs ... Sondermaschinenbau
@hansdietrich1496
@hansdietrich1496 4 күн бұрын
Und dann ewig rebases ... auch nicht die Lösung. Besser ein vernünftig modulares Pluginsystem.
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
@@hansdietrich1496 oh je da sollte man wirklich mal überlegen, ob man mit Zinnsoldaten oder mit Drohnen in die Schlacht zieht...
@goaserer
@goaserer 4 күн бұрын
Super Video, werd das mit verlinken wenn ich den nächsten Changerequest ablehne 😀
@theWSt
@theWSt 4 күн бұрын
Verückterweise kenne ich das Problem aus der umgekehrten Perspektive. Ich bin ein "normaler" Entwickler und hatte zeitweise die Angewohnheit, Konfigurationseinstellungen hinzuzufügen, die einfach unnötig waren, ungefähr nach dem Motto "wenn man das einstellen kann, brauchen wir nachher kein Update/Release, wenn wir das ändern wollen". Es war dann der Architekt, der gemeint hat, das brauchen wir nicht, setz einen default Wert und entferne die Konfiguration. Zum Glück hatten es diese unnötigen Änderungen (fast) nie über einen orphaned feature branch hinaus geschafft. 😅
@DerTaran
@DerTaran 4 күн бұрын
Ich bin der Meinung, dass das Problem bei dem Design und der Architektur liegt. Wenn das Hauptunterscheidungsmerkmal die Konfigurierbarkeit ist, dann muss die Software das unterstützen. Ich vermute aber, dass die Konfigurierbarkeit kein ursprüngliches Feature war, sonder erst nach und nach dazu gebaut wurde.
@DavidTielke
@DavidTielke 4 күн бұрын
Jain, wie im Video gesagt gibt es natürlich architekturelle Mittel um das abzufedern, aber das hat halt alles seine Grenzen - ein System was nur darauf aufbaut, ist fast unmöglich über lange zeit wirtschaftlich zu betreiben.
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
das geht dann so weit, das man sagt, kannst du lieber ganz neu und dann richtig machen.
@DerTaran
@DerTaran 4 күн бұрын
@@MasterBoyZs wenn Konfiguration als Geschäftsmodell wichtig ist, dann ist das sicher die beste Entscheidung.
@DerTaran
@DerTaran 4 күн бұрын
@@DavidTielke Lösungen wie SAP und andere ERP/CRM Lösungen usw. beweisen durchaus, dass Software konfigurierbar programmiert werden kann, wenn man sie dafür auslegt.
@thomaseichinger1717
@thomaseichinger1717 4 күн бұрын
Ich glaub auch. Allerdings muss man diese Art der Programmierung und Architektur usw erst mal kennen und dann auch noch können. Ich kann ein wenig fühlen wie man das machen könnte aber wenn ich die herkömmliche Programmierung hernehme dann sollte es sehr schwer bzw. fast unmöglich sein komplexe Konfigurierungen mittels DEV umzusetzen. Vl. ein wenig Described programming mit Function programming gemixt. dann könnte es vl. gut gehen.
@unkaputtbar3976
@unkaputtbar3976 3 күн бұрын
Ich würd ja glatt sagen Du warst bei mir in der Firma, aber wir haben keinen Architekten. Die Prämisse meiner Firma ist, der Kunde ist König und es wird jede gewünschte Anpassung umgesetzt. Ergebnis kann man sich denken 😄
@marcusreinicke
@marcusreinicke 4 күн бұрын
Du David, bist Du gerade in der Firma, in der ich arbeite? Das kommt mir so bekannt vor.
@DavidTielke
@DavidTielke 4 күн бұрын
Wenn ich letzte Woche Montag bis Mittwoch bei euch im Haus war, könnte das sein... :D
@marcusreinicke
@marcusreinicke 4 күн бұрын
@ lach, na ich bin zu 100% im HO, und bei uns wirst Du leider nicht gewesen sein. Aber diese Story passt leider. Ich kämpfe die ganze Zeit für Besserung. Aber immer kommen die gleichen Antworten👍👍
@TheVertical92
@TheVertical92 4 күн бұрын
Wir haben genau dieses problem und es treibt mich noch in den Wahnsinn. Nicht nur ist der branch für den wichtigsten kunden komplett nicht mehr ohne bestimmte daten vom kunden in der datenbank testbar, sondern es wurden hunderte changes auf dem production server gemacht die nicht commited wurden. Und wie auch in dem video besprochen wurden dutzende konfigurierbare features rein gepackt die dann nur für den kunden aktiviert werden. Das arbeiten an dieser Software ist der reinste alptraum...
@DavidTielke
@DavidTielke 4 күн бұрын
Tut mir (wirklich) leid das zu hören....
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
das kommt davon wenn man programmieren sagt, weil software entwicklen, etwas anderes ist. Das sollte man richtig machen oder es in andere Hände geben lassen.
@noreading
@noreading 4 күн бұрын
Ich fühle 100% mit dir. Wir haben im vergangenen Jahr eine Umstellung auf AWS gemacht, nachdem es vorher viele einzelne Installationen waren, bei denen es auch Sonderlösungen in Unterordnern und "Spezialeinträge" in der Datenbank gab. Ich würde sagen wir haben so 95% davon eliminiert und der Rest kommt sicher irgendwann noch als Zombie hoch, wenn jemand den falschen Knopf drückt. Es ist mühselig ... sehr mühselig soetwas aufzuräumen ... aber ich verspreche dir es lohnt sich. Es ist ein gutes Gefühl, wenn man so einen Dämon bezwingen kann, auch wenn man dafür eine dicke Rüstung und viel Ausdauer benötigt. Ich drücke die Daumen, dass ihr das in dem Projekt noch in den Griff bekommt. :)
@MSchubert-lt6so
@MSchubert-lt6so 4 күн бұрын
Trigger auf der Datenbank, die dann Felder missbrauchen, sind auch spitze. Oder Erweiterungen von Datenbanken um Felder, die nur der Projektierer kennt. Auch die Projektierung kann Software zum Platzen bringen und für Service wie auch Entwicklung nicht nachvollziehbares Verhalten erzeugen.
@TheVertical92
@TheVertical92 4 күн бұрын
@@MasterBoyZs Ja, irgendwann wird der große Knall kommen. Vielleicht merkt die Firma ja dann mal dass es so nicht weiter gehen kann. Aber am Ende leiden vermutlich wieder die Entwickler darunter...
@yoknom
@yoknom 4 күн бұрын
Interessant, was du hier erzählst, trifft genau die Probleme in dem letzten Projekt, in dem ich gearbeitet habe. Da frage ich mich nun, auf wie viele Projekte genau dieses Problem anteilsmäßig zutrifft.
@DavidTielke
@DavidTielke 4 күн бұрын
Das kommt drauf wie genau du die Projekte definierst, es ist ja nicht jedes Projekt finanziell so stark von Anpassungen und konfiguration abhängig. Aber sobald Anpassungen und Konfiguration reinkommen, wächst diese gefährliche Komponente.
@noreading
@noreading 4 күн бұрын
Ich habe in den letzten 10 Jahren in verschiedenen SaaS-Unternehmen gearbeitet, die alle auch vorher das alte Lizenzmodell gefahren haben und zumindest für diesen Unternehmenstyp würde ich die Quote auf 80% oder mehr schätzen. Bei Unternehmen die als SaaS gestartet sind, gibt es das Problem auch, aber in meinen persönlichen Erfahrungen nicht so krass. Dort wird oft von Anfang an mehr Zeit in Schulung investiert, so dass der Kunde teilweise auch seine Prozesse an die Software anpasst und nicht nur umgekehrt.
@michaeltage9088
@michaeltage9088 3 күн бұрын
Die Komplexität entsteht ja durch die Kombinatorik. Um diese einigermaßen in den Griff zu bekommen haben wir uns dazu entschieden eine Art Präprozessor einzusetzen der im Build integriert ist. Im Quellcode sind dann alle Varianten enthalten, aber nicht mehr alle Kombinationen möglich. Unerlaubte Kombinationen fallen sofort beim Build auf (fail early) und nicht erst beim Kunden. Dies hilft schon viel auch wenn der Quellcode unübersichtlicher bleibt und der Build aufwändiger wird, aber diese Nachteile wachsen nun linear und nicht exponentiell. Wünschte dies wäre nativ in die Programmiersprache und Compiler (bei uns Java und Kotlin) integriert.
@svenbuckbesch3959
@svenbuckbesch3959 4 күн бұрын
Das Problem hatten wir auch vor ca. 5 Jahren (die Software ist ca. 20 Jahre alt). Mittlerweile haben das Problem sehr gut in den Griff bekommen. 1. durch automatisierte Testsysteme beim Kunden, damit der Kunde oder Consultant Test's erstellen und damit auch das Release welches eingespielt werden sollte vorher getestet werden kann. Bei einem Kunden sind es sogar ca. 1,5 Millionen Integrationstests. 2. durch ca. tausend UnitTests in der CI/CD in der Entwicklung, da das aber aber nicht gereicht hatte wurden noch 3. IntegrationsTest die Nächtlich auf den 3 wichtigen Branch'n laufen. 4. Wir haben nach und nach Features die Entwickler mal eingebaut zurück gebaut und Migrationen machen müssen.
@31redorange08
@31redorange08 4 күн бұрын
Herzlichen Glückwunsch an euren Vertrieb, dass euer Kunde eure Arbeit übernimmt. Aber wie erstellt man 1,5 Millionen Tests in fünf Jahren?
@svenbuckbesch3959
@svenbuckbesch3959 3 күн бұрын
@31redorange08 der Vertrieb hat dieses Test-Feature sogar verkauft, 1 Jahr später war es natürlich Kostenlos. Denn der Kunde konnte damit die Software und ihren Output selber testen. Zur deiner Frage: die Software hat Dokumente für z.b. ein Auftragsdokument, Fertigungsdokument oder Maschinendaten erzeugt. Das hab ich einfach als PDF in einer Datenbank abgespeichert und danach dann in nächtlichen Lauf erneut erstellt und gegen das Original mittels PDF Vergleich abgeglichen. Von diesen Daten hat der Kunde dank kleinem Tool ca. 26 Tausend generiert. Als nächstes kann die App Bilder generieren, also wurden auch hier Bilder einfach in einer Datenbank abgespeichert und mittels Bildvergleich kann dann abgeglichen werden, ob es noch genauso ist wie vorher. Das sind aktuell ca. 4 Tausend Tests. Merkmalsvergleich ca. 5 Tausend Test, RestApi sage und schreibe 7 Tests und dann kommt noch der Stammdaten Test. Der Kunde hat in seiner Datenbank Daten. Bewegungsdaten sowie Stammdaten z.b. ein Artikel. Belege sind erstmal egal. Aber Stammdaten wie z.B. Artikel, Gruppen, etc. kann man super testen und damit kommen die restlichen Tests zustande. z.B. ein einfacher Test war: hat der Artikel eine korrekte ArtikelNr, oder eine deutsche Beschreibung. Dann kommt man schnell auf solche Zahlen.
@ArneChristianRosenfeldt
@ArneChristianRosenfeldt 3 күн бұрын
@@31redorange08vielleicht greift dir DSVGO nicht, und man lässt einfach die Historie immer wieder durch laufen? Aber alle 5 Jahre im Schnitt ändern sich ja die gewünschten Testresultate .
@alex0kai
@alex0kai 3 күн бұрын
@@svenbuckbesch3959 1. Schreibe schlechte Software, damit der Kunde genervt davon ist 2. Verkaufe teure Test-Software zu deiner schlechten Software, um die schlechte Software vom Kunden testen zu lassen => Profit
@halllo54321
@halllo54321 2 күн бұрын
Wie lange laufen die Pipelines nachts ?
@m.k.3370
@m.k.3370 4 күн бұрын
Ein Problem entsteht doch erst, wenn man 3-10 Consultants braucht, weil keiner allein mehr alle Customizingmöglichkeiten überblickt. Klassische ERP Software halt und umgekehrt scheint es ja eine Art Jobmotor zu sein :)
@derpinguin8307
@derpinguin8307 2 күн бұрын
Man muss zu einem Kunden auch mal nein sagen können. Es gibt Kunden, auf deren Umsätze ich im Nachhinein verzichten würde, nur wegen des angerichteten Chaos. Heute lehne ich alles ab, was nicht auch für alle anderen Kunden einen Mehrwert hat. Damit bin ich unterm Strich weitaus erfolgreicher.
@chrimu
@chrimu Сағат бұрын
Oder zumindest einen Kompromiss vorschlagen, damit man selbst auch davon profitiert.
@bProLikeMe
@bProLikeMe 3 күн бұрын
Das Video würde ich gern an unseren Kunden schicken, dass das Problem nicht nur bei SAP Projekten existieren, sondern bei allen Software Produkten.
@subbamaggus1
@subbamaggus1 4 күн бұрын
Wo ich ergänzen würde: Transparenz seitens der Entwicklung, was ein neues Feature wirklich kostet (Wartung, Erweiterung, längerfristige Kosten) ist nicht gerade einfach. Hier liegt wahrscheinlich der Hund begraben. Mit genug Transparenz könnte korrekt gesteuert werden. Nur kann die keiner liefern. Support weiss nicht, wieviel mehr Bugs reinkommen. Vertrieb weiss nicht wieviel mehr support gebraucht wird. usw... denke die Kette lässt sich ganz schön weit fortführen. Erfahrung kann hier etwas helfen, aber eben nicht komplett abdecken. Metriken wären da toll. Aber welche ist die Richitge, und wird sie richtig gefüttert? Das klingt für mich nach einem spannenden Gespräch!
@DavidTielke
@DavidTielke 4 күн бұрын
Ja da ist schon etwas wahres dran, aber als Architekt sollte ich bei der menge des Anpassung schon Aussagen treffen können, was das für die Qualitätsattribute bedeutet, die ich zu verantworten habe.
@subbamaggus1
@subbamaggus1 3 күн бұрын
@@DavidTielke hm... wenn man als Architekt aber in die Rolle "gerutscht" ist, dann klappt das nicht so. vor allem bei über Jahre gewachsenen Teams. Ich bin gerade dran bei meinem Chef ein Coaching von dir für ihn zu bekommen. Mal schauen ob ich genug Überzeugungsarbeit leisten kann. ;-)
@toerti9589
@toerti9589 3 күн бұрын
Transparenz kann nicht nur keiner liefern, die will auch keiner hören. Da stellst du ja direkt das ganze business model der Firma in Frage wenn du mit realistischen zahlen kommst.
@mudi2000a
@mudi2000a Күн бұрын
David, das kommt mir alles so bekannt vor. In der Vergangenheit war bei uns dann die Lösung, dass man den Kunden dann gleich noch Consulting mit verkaufen kann, das das Produkt dann konfiguriert. Da skaliert dann aber irgendwann nicht mehr, da schließlich die Anzahl der Consultants begrenzt ist. So 100%ig hat man auch leider nicht daraus gelernt. Es wird aber heute mehr einheitliche Konfiguration verwendet. Das “Lustige” ist, ich habe von Bekannten gehört, dass die Konkurrenzprodukte wohl noch schlimmer sind, so dass wir tatsächlich gar nicht so schlecht dastehen.
@dasvh
@dasvh 4 күн бұрын
Bitte mal erklären was es für Lösungen gibt für solche Software. Also was gibt es jetzt für Möglichkeiten? Vielen Dank! Für deine Videos.
@axelneumann8443
@axelneumann8443 3 күн бұрын
Es gibt sehr anpassungsfähige Software, zum Beispiel: Betriebssysteme und Hardware: Treiber sind eine Art Plugin Linux Distributionen: User Interface kann aus verschiedenen Bausteinen kombiniert werden, aber der Linux Kernel ist derselbe Excel: Mehrere mehr oder weniger kleine Programmiersprachen für Erweiterungen Wenn das Management oder der Vertrieb solche Software kennt hilft das auch bei der Kommunikation.
@DynoosHD
@DynoosHD Күн бұрын
Die Geschäftsführung muss die Interessen von Vertrieb, Design, Entwickler, Management, ... gegeneinander abwägen, sodass am Ende alle klar kommen und Gewinn erwirtschaftet wird. Hier wurde eindeutig Vertrieb zu sehr priorisiert, zum Nachteil von allen anderen.
@kleinstewerkstatt
@kleinstewerkstatt 3 күн бұрын
Sehr gutes Video. Werde ich demnächst mal meinen Kollegen schicken, wenn sie wieder die nächste Spezial-Konfiguration einführen wollen... :-) Ich kämpfe tatsächlich schon lange darum, genau diese Probleme zu vermeiden, und stoße dabei nicht selten auf totales Unverständnis.
@TheXiron
@TheXiron 4 күн бұрын
Meistens ist der Vertriebler näher an der Geschäftsführung als die Entwicklung. Das schlimmste was ich mal erlebt habe war dass die Entwickler anfingen für jede Kundenanpassung einen eigenen Branch zu machen und man aus den Branches dann die Deployments gebaut hat. Natürlich wurden die Branches dann irgendwann nicht mehr in den master zurückgeführt weil die Mergeaufwände zu hoch wurden. So hatte man dann irgendwann x Stände von der Software und jede etwas anders. War dann bei der Versionierung die Hölle. Weil Version 1.0.5 bei Kunde X war halt nicht Version 1.0.5 bei Kunde Y :D. Herrlich war das.
@UploaderAMVz
@UploaderAMVz 3 күн бұрын
Starkes Video! Extrem verständlich erklärt und sehr nachvollziehbar. Welche architekturellen Mittel und Frameworks meinst du bei 11:43 um solche hoch konfigurierbaren Anwendungen einigermaßen stabil zu halten?
@hans_f7791
@hans_f7791 4 күн бұрын
Das Problem beginnt wenn einer sagt „da muss man doch nur…“
@lifeispscprc
@lifeispscprc 4 күн бұрын
Mein Chef sagt immer dem Kunden das haben wir fertig in der Schublade das sind wenige Mausklicks 😂
@31redorange08
@31redorange08 4 күн бұрын
Es beginnt da nur, wenn der Satz von einem Entwickler kommt.
@xX--patte--Xx
@xX--patte--Xx 3 күн бұрын
Mach doch 'mal eben' - redflag
@DerHouy
@DerHouy 3 күн бұрын
@@31redorange08 nö, es gibt Personen, die setzen sich da einfach durch, egal was vom Fach aus kommt und gesagt wird.
@hennga2053
@hennga2053 4 күн бұрын
Folgekosten lassen sich wunderbar über Jahre vergraben oder einzelnen Mitarbeitern in die Schuhe schieben.
@DavidTielke
@DavidTielke 4 күн бұрын
Dann muss aber schon einiges im Argen sein :)
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
Stell Dir vor die stecken dich in ein Projekt rein, das seit ihren schon in einer Sackgasse steckt und du darfst das wieder gerade biegen und aber es fehlen dazu die Mittel... Wenn es dann am Ende doch läuft, das merkt dann keiner mehr, aber wenn etwas nicht so toll läuft wird bemerkt.
@nertsam
@nertsam Күн бұрын
was wären denn gute architekturmittel um dieses problem zu lösen ? Kennt ihr da gute Bücher?
@FTropper
@FTropper Күн бұрын
Ich glaube eins der größten Probleme ist ist in der Tat das Leute nicht die waren Kosten von Softwareentwicklung sehen. Software Entwicklung ist teuer. Aber die Leute denken immer man setzt da einen Code Monkey hin der drei Zeilen Code schreibt und dann rollt der Rubel mit der Software. Fertig! Das man den ganzen Kappes nun für die nächsten 20 Jahre am Leben halten muss wird halt nicht gesehen. Übrigens hab ich schon oft erlebt das aus Entwicklersicht sehr fragwürdige Features nachher der totale Knaller waren und Features die Entwicklung super wichtig fanden beim Kunden ein Rohrkrepierer waren. Aber was ich sehr selten sehe ist, das ein Feature was kaum einer benutzt wieder ausgebaut wird. Das dies auf Dauer eigentlich billiger wäre als es drin zu lassen versteht aber kein Manager.
@jerrybodensky9679
@jerrybodensky9679 4 күн бұрын
Das einzige Projekt wo ich KEINE Probleme mit Konfigurations-Chaos hatte, war ein Projekt für einen öffentlichen Auftraggeber. Da war alles bereits vorher schon so komplex und schräg konzipiert, dass man es mit ca. 1000 Zeilen voll mit if-else/ else-if/ switch case etc.. Konstrukten bequem programmieren und testen konnte. Der Gesetzgeber hat es so vorgesehen, also wurde das dann genau so gemacht. Ich habe bis heute nicht verstanden, wozu die vielen sich teilweise überschneidenden Fallunterscheidungen eigentlich gut waren. Meinem fachlichen Ansprechpartner bei der Landebehörde ging es aber genauso, von daher gab es bei der Zusammenarbeit und Abnahme keine Probleme.🙂
@christianibendorf9086
@christianibendorf9086 3 күн бұрын
Zum Glück ändern sich Gesetze nie … 😁
@MatrixQ
@MatrixQ 4 күн бұрын
Ah, und ich dachte das wäre hier bei uns besonders kurios. Scheint also ein weit verbreitetes Problem zu sein. :D
@thianinfio5998
@thianinfio5998 3 күн бұрын
Ich empfehle: Konsolidierung der config und die toggles wieder ausbauen, wenn xie configuration lange nicht gewechselt wurde oder 80/90% identisch ist..
@noreading
@noreading 4 күн бұрын
Zitat aus einem Meeting mit dem Vertrieb "Aber der eine Schalter kann doch jetzt nicht das ganze Projekt kaputtmachen." Dass die Software vorher schon zig Mal aufgrund der bereits vorhandenen 500 Checkboxen gestorben ist, die sich gegenseitig überschreiben, das wird dabei gerne ausgeblendet. Das Problem der Fehlersuche, bei der schon der Support verzweifelt raten muss, wie zum Teufel der Kunde genau diesen oder jenen Fehler produziert hat, begnet mir in der Tat häufig. Und das Argument vom Vertrieb ist natürlich immer, dass es mehr Geld bringt ... aber wie du sagst wird nicht über die Folgekosten nachgedacht. Bei externen Services geht es dann auch so weiter. Ob 5 oder 10 APIs angebunden werden ... das ist doch das Gleiche oder? ;-) Ich bin gespannt wann für Vertriebler von Lizenz- und SaaS-Software ein Grundkurs in Programmierung zur Pflicht wird. Selbst einfache Basics und das eigene Erleben von Komplexität könnten sicher helfen, an der ein oder anderen Stelle mehr Verständnis zu haben und strategisch bessere Entscheidungen zu treffen.
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
Der Trend geht zu Softwarevertriebsingenieur, also man muss alles etwas studiert haben...
@noreading
@noreading 4 күн бұрын
@@MasterBoyZs Nicht alles, aber sie sollten zumindest die Basics kennen und mal selbst etwas gebaut haben. Das geht wunderbar auch mit 2-3 Tagen Schulung und schafft schon enorm viel mehr Verständnis.
@MasterBoyZs
@MasterBoyZs 4 күн бұрын
@@noreading oh ha wenn ich zum Leergang ging, bauchte das nur gelächter, aber wen nich paar Monate was bewegte dann brachte das Aerkennung. naja lass mal gut sein die Vertriebler sind die geilsten, für wenig vents und Hirnmassen aber viel blas viel Kohle...
@HHHamiller
@HHHamiller 3 күн бұрын
Bitte keine Grundkurse für Vertriebler, da schlägt der Dunning-Kruger-Effekt zu. Ich hatte schon Kunden und Vertriebler, die meinten, weil sie Grundkenntnisse in Programmierung hatten, abschätzen zu können, dass das auch in einem komplexen Projekt nicht so lange dauern kann. Im Grundkurs fehlen einfach die zusätzlichen Wechselwirkung und die Komplexität von echten produktiven Software-Projekten.
@hans_f7791
@hans_f7791 3 күн бұрын
Noch ein schmaler Grat ist die Entscheidung, wo sich der Kunde mit seinen Prozessen sich besser an die gewählte SW anpasst und wo sich besser die SW an den Kunden anpasst.
@saschafrankel9220
@saschafrankel9220 2 күн бұрын
Vielen Dank für dieses großartige Video. Ich muss an der Stelle aber auch meistens von Kunden- oder Anwendersicht problematisch, wenn man eine Software bedienen muss, die nicht wirklich zu dem passt, was man eigentlich braucht und man bestimmte Workarounts benötigt. Da ist es oft verständlich, dass der Vertrieb besonders auf Kundenwünsche Wert legt. Vor der Seite aus betrachtet ist das Problem oft eigentlich sogar noch größer.
@MarvinDuck
@MarvinDuck 2 күн бұрын
Das Problem ist, dass du eine perfekte Software nur für einem Kunden schreiben kannst. Danach ist alles nur noch ein Kompromiss. Jeder Mensch/Kunde hat andere Vorlieben. Wenn du Glück als Entwickler hast, ist ein Großteil der Funktionalität beim Beginn der Entwicklung klar. Sonst wird es meistens lustig. Als User und Kunde weißt du nicht was technisch möglich ist. Wenn es der Vertrieb es auch nicht weiß, und ohne Rückfrage entscheidet, wird es lustig. Häufig gibt es bei Scrum ein Kontakt zwischen Kunde und Entwickler, wenn das bestellte Feature in der Entwicklung ist. Aber da ist es schon lange zu spät, weil man besser das Feature nie an den Kunde verkauft hätte. Softwareentwicklung ist wie ein Hausbau. Nur das die Planung und Vertrieb von Fachfremden durchgeführt werden. Da wird bildliche eine Tiefgarage im Dachgeschoss geplant, und die Zufahrt soll durch das Wohnzimmer oder durch das Badezimmer. Am besten konfigurierbar. Der nächste Kund möchte gerne eine normale Gerage, welche über das Dach erreichbar ist. Optional soll es aber eine Tiefgarage sein. Wobei das Wohnzimmer nur eine Tür haben darf. Da das Entwicklerteam meist nicht über alles Bescheid weißt, fängt es einfach an. Am Anfang ist alles rosa rot, aber auch jeder Entwickler hat seine Vorstellung, wie der Code auszusehen hat. Wenn die Entwickler dann noch Fälle abfangen, die nie bestellt werden, wird es lustig. Und am besten alles mit minimaler Dokumentation. Den Rest kannst du dir vorstellen. Als Kunde sieht man nur die Fassade. Aber häufig entwickeln sich Projekte zum Albtraum für alle Beteiligten. Und irgendwann kann die Fassade nicht mehr alle Katastrophen perfekt abdecken.
@saschafrankel9220
@saschafrankel9220 2 күн бұрын
@MarvinDuck Vielen Dank für die Erklärung. Das ist mir soweit auch klar. Ich denke hier geht es um das Problem, dass man ein Produkt hat, dass für mehrere Kunden konzipiert ist. Und es klingt für mich so, als wollte man die Software so flexibel halten, dass jeder seine Wunschsoftware bekommt. Ich verstehe total, warum das schief gehen musste, muss aber auch sagen, dass es als Kunde mit unter ein Problem ist, wenn es nicht so ist. Für mich ist dieser Kompromiss, das das Softwareunternehmen da machen muss, ein Dilemma. Das natürlich noch weitere Dinge reinkommen, wie zusätzliche Features oder Minimaldokumentation, kommt ja noch zusätzlich hinzu.
@MarvinDuck
@MarvinDuck 20 сағат бұрын
@@saschafrankel9220 Der Kunde ist normalerweise kein Teil der Firma. Es ist Auflage des Vertrieb nicht nur zu verkaufen, sondern es muss auch geklärt werden, was die Entwickler leisten können. Schon das funktioniert meist nicht. Aber auch die meisten Entwickler entwickeln meist ohne Absprache vor sich her. Und zusätzlicher Zeitdruck, verhindert spätere Korrekturen im Code. Srum ist dafür berühmt. Aber das meiste ist kein Problem. Aber wenn wegen den ganzen Ungewissheiten noch Angst dazu kommt, wird es toxisch. Wenn das Team, die Software neu entwickelt, wird es meist besser. Die Entwickler und alle anderen anderen wissen, was sie machen müssen. Aber wenn die ersten neuen Feature kommen fängt der Kreislauf wieder an. Und die Angst kommt zurück. Es gibt auch Ausnahmen, aber tritt zu häufig auf.
@DagarCoH
@DagarCoH 4 күн бұрын
Ich denke (aber so ein Projekt hatte ich noch nicht), dass Metriken der Nutzung bei den Kunden wichtig wären, um zu wissen, welche Konfigurationsmöglichkeiten überhaupt genutzt werden und welche man zurückbauen kann. Außerdem würde ich versuchen, Konfigurationen, die exklusiv oder fast exklusiv zusammen genutzt werden, auch im Cluster zu testen. Aber ja, 'nein' sagen wäre eine gute Prävention.
@emgalaxy6576
@emgalaxy6576 Күн бұрын
Anforderungen ändern sich über die Zeit. Sobald man merkt dass man mit der Software nur noch mühsam voran kommt, muss man parallel die Entwicklung des Nachfolgers beginnen. Durch die Erfahrungen und Lektionen aus der vorherigen Entwicklung und den Einsatz neuer Technologien kommt man auch sehr viel schneller voran als man denkt. Vorhandener Programmcode ist nicht so wertvoll wie oft gedacht wird. Ich habe es bisher nie bereut Dinge nochmals programmiert zu haben, weil die neue Implementierung immer besser war als die vorherige. Recycling von Programmcode bedeutet das man in der Gestaltung von Anfang an eingeschränkt ist.
@simonverwaltungsrat5445
@simonverwaltungsrat5445 4 күн бұрын
Spannend! Danke
@thomaseichinger1717
@thomaseichinger1717 4 күн бұрын
David, du hast die ganze Zeit nur von Developern und Architekten usw gesprochen. Wo ist eigentlich der Projektingenieur? Der schaut ja dass die Prozess und Businesslogik passt und schaut dadurch auch was nun technisch bzw. prozessmäßig, also im Business, realisiert wird. Ich komme immer mehr drauf dass immer weniger in der Technik und viel mehr in der Domäne geplant werden muss!
@TecSanento
@TecSanento Күн бұрын
Also wir haben eine Software as a Service Plattform - und uns leider nie so wirklich mit Tests beschäftigt. Allerdings ist dafür dass deployment und auch die Fehlersuche einfach weil ich mich einfach als derjenige Kunden Nutzer anmelden den Fehler nachstellen und auch selbst schauen kann ob er es behoben ist Punkt und generell designen wir jede Anpassung so, als wäre sie ein Feature für alle Nutzer
@thomaseichinger1717
@thomaseichinger1717 4 күн бұрын
Ich liebe deine Weltuntergangsvideos 😂😂
@Bugrick92
@Bugrick92 4 күн бұрын
Ich hätte das Video gerne bei uns geteilt aber sicher nicht mit dem unseriösen Thumbnail als ersten Eindruck. Ich verstehe nicht warum du einmal mehr ein so schreckliches AI generiertes Bild wählst, schade :(
@ZerberusVII
@ZerberusVII 3 күн бұрын
Dem kann ich nur zustimmen, der AI generierte Quatsch an sich und in dem Fall auch das konkrete Bild.
@JohnKerbaugh
@JohnKerbaugh 2 күн бұрын
Dependency injection or event & mutator pattern could be helpful when customizing for specific clients. Having hooks into a system and never modifying tor a single configuration but instead inserting the ability to modify the behavior then implementing the customization in independent modules. Perhaps look at complex open source software like Drupal that only exists as customized configurable instances.
@lambda-dev
@lambda-dev 2 күн бұрын
Hier stellt sich mir die Frage, wo fängt die Standardsoftware an und wo hört sie auf? Customizing sollte von der Produktentwicklung getrennt sein, auch technisch. D.h. es werden nur Features engebaut, die auch wirklich von allen genutzt werden können. Langfristig führen Feature-Flags zu einer zu hohen Komplexität. Wenn dann, sollten diese auch innerhalb der Anwendung aktivierbar sein, um nur ein Deployment-Artefakt für alle Kunden zu haben. Das Customizing könnte auch als ein Service angeboten werden, bei dem der Kunde diese selbst vornimmt. D.h. es braucht Schnittstellen oder eine Standard-Library, die erweitert werden kann. Das kann man dann auch als Abo-Modell fahren.
@Life4YourGames
@Life4YourGames 3 күн бұрын
Selbst der Vertrieb weis doch am Ende gar nicht mehr, was die Software alles kann 😂
@christophhenninger6440
@christophhenninger6440 3 күн бұрын
Kenne zwei solche Projekte. Eins auf Access-Basis und eins auf Lotus, IBM, whatever gerade Notes-Basis. Und ich spüre schon wieder den Schreikrampf näherkommen wenn ich nur daran denke.
@joergfoerster8043
@joergfoerster8043 3 күн бұрын
Man müsste erfassen können, welche Konfigurationen tatsächlich wie häufig vorkommen. So könnte man Prioritäten setzen.
@MarkusBurrer
@MarkusBurrer 20 сағат бұрын
Bei dem ganzen "spezial" und "sonder" musste ich an Justus Jonas von den drei ??? Denken. "Das ist wirklich ein spezial gelagerter Sonderfall" 😂
@sLiv256
@sLiv256 4 күн бұрын
Kommunikation ist alles.
@DavidTielke
@DavidTielke 4 күн бұрын
und ab und zu "Nein" sagen ebenfalls!
@alexich963
@alexich963 Күн бұрын
Ich sitze auf Kundenseite der die Anpassungen fordert! 😁
@peterxxl1244
@peterxxl1244 14 сағат бұрын
Warum wurde die Software denn nicht modular strukturiert? Dann wäre es doch durchaus möglich, Bausteine hinzuzufügen, auszutauschen oder zu entfernen (und zwar bis auf Codeebene hinunter), ohne die eigentliche Arbeitsmaschinerie (der Code, der die Grundfunktionen steuert und die Inputs orchestriert) anzutasten. Ich stimme aber zu, dass das grösste Problem einfach das Agreement mit der Kundschaft ist. Wenn man von Anfang an klar macht, dass gewisse Modifikationen einfach nicht drin sind, während man bezüglich des GUI ein gewisses Variationsspektrum einplant, ist das oft (auch wenn erst nach einigem Verhandeln) akzeptabel.
@mikelinsi
@mikelinsi 3 күн бұрын
was ich schon erlebt habt: 💣
@TMaierhofer
@TMaierhofer 3 күн бұрын
Na gut dass der Architekt verzweifelt, normalerweise verzweifeln die Entwicker...
@criminalsympathy6013
@criminalsympathy6013 Күн бұрын
SaaS Architekt hier: Wir machen keine Kundenhacks. Entweder es wird ein normales Feature oder es existiert nicht.
@leander9263
@leander9263 Күн бұрын
I love this thumbnail it is awesome
@anticoxchange7698
@anticoxchange7698 17 сағат бұрын
Wäre nicht eine Möglichkeit, das Problem grundsätzlich zu vermeiden, individuelle Kundenanpassungen nur auf Kundenseite durch Berater oderso zu machen und nicht alles in die Code base aufzunehmen?
@chrimu
@chrimu Сағат бұрын
Nennt sich Schnittstellen 😅
@SunSailor
@SunSailor 4 күн бұрын
Klingt nach meinem ehemaligen Arbeitgeber im Bereich Warenwirtschaft- und Kassensysteme in Osthessen...
@MarvinDuck
@MarvinDuck 2 күн бұрын
Den Arbeitgeber kannst du frei wählen, alles was schiefgehen kann, findest in den meisten IT-Firmen auch. Leider.
@SunSailor
@SunSailor 2 күн бұрын
@MarvinDuck Na, so wie da sicher nicht bzw. das wäre inzwischen für mich eine Red-Flag weiter zu ziehen, leider war ich damals drauf angewiesen. Als ich 2012 da angefangen habe, hat eine Abteilung noch die "Versionsverwaltung" beim Teamleiter auf dem Rechner gemacht, indem die Änderungen auf Diskette übergeben wurden. Das Kassensystem war vollgewurstet mit "#if Kunde == 'xyz'" und die Businesslogik der Warenwirtschaft war vollständig in T-SQL auf dem Server implementiert. So einen Saftladen habe ich in meiner Karriere weder davor, noch danach erlebt.
@MarvinDuck
@MarvinDuck 2 күн бұрын
@@SunSailor Das hört sich schon sehr wüst aus.
@SunSailor
@SunSailor 2 күн бұрын
@MarvinDuck Sag ich ja.
@MarvinDuck
@MarvinDuck 2 күн бұрын
@@SunSailor 😂 Habe schon alles erlebt. Nicht alles auf einmal, aber es reicht für mehre lustige Abende. Da ich Projektarbeit mache, rechne ich einfach mit allem. Hat mir schon mehrfach eine praktikable Lösung ermöglicht. Aber manchmal kannst du nur zu schauen, und dir einen neuen Kunden suchen. Sonst treibst du dich auf.
@chrimu
@chrimu Сағат бұрын
Ein Ansatz ist modular vorzugehen. Nicht im Sinne von modularer Erweiterbarkeit. Sondern im Sinne von, nach Jahren bleibt eh nur noch neu machen. Dann muss weniger auf einmal neu gemacht werden.😂
@scoutman99
@scoutman99 4 күн бұрын
🤣🤣🤣 Ah verrückt du bist bei uns in der Firma für Beratung? Wir hätte noch das Problem, dass unser Vertrieb Funktionen verkauft welche wir überhaupt noch nicht haben bzw. auch nicht umsetzbar sind. Kläre das doch bitte denen ab 😉
@hubertbeham3148
@hubertbeham3148 4 күн бұрын
Wir hatten da immer drei Versionen, eine die der Vertriebler dem Kunden verkaufte, eine die, die GF glaubte das wir haben und eine die es wirklich gab. ;-)
@17plus9
@17plus9 4 күн бұрын
Solche Software-Buden, deren Geschäftsmodell auf Anhäufen technischer Schulden beruht, kenne ich nur zu gut. Am Ende gehen die wirtschaftlich immer pleite.
@MarvinDuck
@MarvinDuck 3 күн бұрын
Leider nein, ich kenne auch ein paar sehr erfolgreiche Firmen, welche das mit Wonne praktizieren. Solange das Geld reicht, wird es auch verbrannt.
@343max
@343max 3 күн бұрын
Jede zusätzliche Checkbox, jede zusätzliche Konfiguration verdoppelt die Komplexität der Software. Sehr sehr oft entstehen solche Konfigurationen nur aus der Angst eine Entscheidung zu treffen: machen wir es blau oder machen wir es rot? Ich habs, wir machen es Konfigurierbar! Dem Vertrieb ist die zusätzliche Komplexität komplett egal, gerade wenn man damit wirbt eine extrem anpassbare Software zu haben hat der Vertrieb null Incentives dem Kunden nicht das blaue vom Himmel zu versprechen und das Problem auf die Entwickler abzuwälzen.
@samsgala4416
@samsgala4416 4 күн бұрын
Ich kann diese Meinung nur bedingt teilen. Es ist doch klar das eine Software immer erweitert werden muss, schließlich kann man die nicht einfach so lassen und hoffen das man die 30 Jahre verkauft. Und deshalb bekommt jede Software zusätzliche Features und wird komplexer und bringt diese Probleme mit sich. Ob das jetzt ein Feature ist das sich der Kunde gewünscht hat oder eins das man sich selbst ausgedacht hat, spielt dabei keine Rolle. Kundenfeatures werden nur halt gerne gemacht, weil da direkt auch gleich die Entwicklungskosten abgedeckt sind während andere Features zwar oft auch auf Feedback der Kunden basieren aber meist nicht extra bezahlt werden.
@xPliCt86
@xPliCt86 2 күн бұрын
Geht nicht unbedingt um weitere Features sondern darum, dass bestehende Features unterschiedlich ausgeführt werden, sodass man teilweise bei einem anderen Feature null erahnen kann, was das für Folgen haben kann. Kenne das auch von einem Produktpartner mit dem wir zusammenarbeiten. Wenn da etwas im Kern angepasst wird, kann es sein, dass das ungeahnte Folgen in einem Kunden-Aufsatz hat (und mit Kunden-Aufsatz ist ein customizing für >100.000 Anwender gemeint).
@samsgala4416
@samsgala4416 2 күн бұрын
@@xPliCt86 Ich sehe da keinen Unterschied. Jedes neue Feature birgt die Gefahr von Seiteneffekten. Und wenn eine bestehendes Feature anderes ausgeführt ist es auch nichts anderes als ein neues Feature. Und wenn man das vermeiden will, bleibt als Konsequenz nur das die Software nicht weiter entwickelt wird und das kann nicht die Lösung sein.
@saschafrankel9220
@saschafrankel9220 2 күн бұрын
@@samsgala4416 Ich denke, dass hängt auch sehr stark vom Produkt ab. Wenn es nur um die Farbe der Schrift geht, die bei jedem Kunden anders sein, dann dürfte das nicht das größte Problem sein, wenn man das nicht total übertreibt, wenn aber sich die Prozesslogik bei jedem Kunden individuell ändern lässt, dann wird das ganze recht schnell so unübersichtlich, dass da keiner mehr neue Features einfügen kann ohne einige Konstelationen zu schrotten. Wobei ich mich dann auch frage, ob das manchmal nicht auch an einer falschen Architektur liegen kann.
@chrimu
@chrimu Сағат бұрын
Dann muss man ab und an mal Cleanup und Refactoring betreiben. Und ja, sonst landet man am Ende dort...
@k.m.a.286
@k.m.a.286 3 күн бұрын
In kleiner Form ist mir das bei Windows auch schon passiert.
@k.a.3276
@k.a.3276 4 күн бұрын
Nur Mietmöglichkeit (Abo) Nutzung ist Shit... Abhänig vom Anbieter ob nicht nach x Monaten einfach die Lizenz geändert wird zum Nachteil vom Kunden oder Massiv die Preise erhöht werden.... Darauf die Firma bzw Einkommen Abhängig zu machen ist schon sehr Riskant wie manche Firmen merken mussten.... Alleine mal des Projekt Sichern und nach x Jahren neu einspielen ggfs in einer VM und oh Software ist "Abgelaufen".... kein Nutzen/Zugriff mehr so möglich.... und für eine Alte Software macht auch nicht jeder Hersteller dann nen neue Lizenz falls die Firma noch Vorhanden ist.....
@deineroehre
@deineroehre Күн бұрын
Leistungsloses Einkommen per Abo war ja durchaus mal eine Methode Geld zu verdienen, und für Startups, die in den ersten 2 Jahren die Investorengelder verbrannt haben, ist das auch sinnvoll. Richtige Firmen, die von echten Unternehmern und nicht "Managern" geführt werden, sind aber nachhaltig am Markt und da ist ein Einmalkauf die sinnvollere Variante - sehr zum Leidwesen der Softwareanbieter, die schon gute Argumente für den Versionswechsel haben müssen - für die Softwarepflege gibt es ja Maintenanceverträge. Aber den Mist mit Abo und keinen Zugriff auf Daten ohne Abo oder bei Pleite des Anbieters haben wir als massives Risiko erkannt und entsprechend andere Anbieter eingeführt.
@toerti9589
@toerti9589 3 күн бұрын
Man baut halt was grundsätzlich anderes. Man baut eben dann keine Fachanwendung für bspw. Warenwirtschaft sondern eine Anwendung deren (hauptsächliche) Fachlichkeit die Konfigurierbarkeit ist.
@frankklemm1471
@frankklemm1471 4 күн бұрын
Konfigurationsdaten sollten vor allem nicht turing-vollständig sein und die Endungen .cs, .cpp, .js oder .py haben.
@tomw0815
@tomw0815 2 күн бұрын
Ok, aber die Abgrenzung von SaaS Angeboten zum Lizenzgeschäft kann ich absolut nicht nachvollziehen. Ich kenne keinen SaaS-Service mit breiter fachlicher Funktionalität, der mit wenig Kunden-Parametrisierbarkeit auskommt. Unabhängig vom Lizenzmodell bekommt man keine neuen Kunden, wenn die Anpassungen an Kundenbedarfe nur minimal bis gar nicht möglich sind. Das Hauptproblem hast Du ja benannt: dass neue Parametriesierungsmöglichkeiten zu einem nicht kostendeckenden Preis verkauft werden. Natürlich ist das Testen von Kundenspezifika nicht trivial aber halt auch Teil des Produkt-Business. Mein Anti-Pattern: Parameter implementieren, wenn ich noch keinen konkreten Anwendungsfall für mindestens eine zweite oder dritte Parameterausprägung kenne.
@hanswurschtms
@hanswurschtms 4 күн бұрын
Es gibt kein Unternehmen, welches nicht in diese Probleme rennt. Ich habe ein paar Arbeitgeber durch und es wird immer schlimmer. Als Entwickler weiß man so lange auf die Probleme hin, bis am aufgeben muss. Somit geht Wissen für das Unternehmen flöten. Tja, Pech gehabt.
@a.b.4317
@a.b.4317 4 күн бұрын
Unabhängig vom super vorgetragenen Thema -- du hast ständig die Hände vorm Gesicht, das irritiert total....
@DavidTielke
@DavidTielke 4 күн бұрын
danke - ja ist mir auch aufgefallen, die Kamera war leider zu niedrig eingestellt :(
@JacquesMartini
@JacquesMartini 4 күн бұрын
"sehr, sehr viele Restfehler", klingt nach grünen Bananen!!! 😂
@DavidTielke
@DavidTielke 4 күн бұрын
Genau das ist das Thema nächste Woche :D
@Akki_Ke
@Akki_Ke Күн бұрын
Hört sich an wie unsere Software 😂. Hersteller wurde von den Amis gekauft und jetzt muessen wir alle Umlaute loeschen.
@dragoran149
@dragoran149 3 күн бұрын
Ja das ist leider die heutige Inkompetenz der Softwarearchitekten. Leider wird es im Studium gar nicht mehr richtig beigebracht. Stattdessen soll man das neuste Framework nutzen, bla bla bla. Hohe testbarkeit, Abstraktion und das umsetzen von klassischen Prinzipien helfen bei der impl der Software. Auch im Nachhinein oder wenn noch gar nicht alle usecases bekannt sind.
@gg86
@gg86 3 күн бұрын
hört sich nach DATEV an... xD
@saschiiiiii
@saschiiiiii 3 күн бұрын
Sehr gutes Video, sehr grausames Thumbnail.
@Henry-sv3wv
@Henry-sv3wv 4 күн бұрын
Die Software war 80% yaml und 20% Code XD
@killererbse3185
@killererbse3185 3 күн бұрын
Was denkst du über das aktuelle Chat GPT o1 ?
@pram2000
@pram2000 2 күн бұрын
if ($kunde == "Abc") machDies; else machDas
@thomasg.5990
@thomasg.5990 2 күн бұрын
Du sprichst anfangs von GUI Konfig Kram und erweckst den Eindruck, dass dies nicht lange in Indien entwickelt wird. Weed und Kaffee ist keine gute Kombi 😂
@rottenlettus
@rottenlettus 4 күн бұрын
Am besten Packt man in die Konfiguration auch noch Code rein. 🤮😭
@HHHamiller
@HHHamiller 3 күн бұрын
Das hatten wir bei einer Firma, wo ich war. Da konnte man bei einigen Konfigurationsvariablen Funktionsaufrufe reinschreiben. Beim Debuggen hat man sich dann von Code in Konfigurationsdateien und von dort in anderen Code gehangelt.
@markusriedl9203
@markusriedl9203 3 күн бұрын
Da war doch was vor nicht all zu langer Zeit bei Java ...
Das PROBLEM bei älteren Softwareentwicklern
20:35
David Tielke
Рет қаралды 78 М.
Lasst Euch nicht alles gefallen
20:51
David Tielke
Рет қаралды 30 М.
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 13 МЛН
УДИВИЛ ВСЕХ СВОИМ УХОДОМ!😳 #shorts
00:49
Правильный подход к детям
00:18
Beatrise
Рет қаралды 10 МЛН
Die Haftung für SOFTWARE-BUGS kommt!
24:58
The Morpheus Tutorials
Рет қаралды 58 М.
Warum ich heute über KI in der Entwicklung anders denke
18:16
David Tielke
Рет қаралды 19 М.
Größte Fehler der Softwareentwicklung den viele machen!
19:29
David Tielke
Рет қаралды 186 М.
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 679 М.
Warum Softwareentwickler immer schuld sind
13:35
David Tielke
Рет қаралды 31 М.
Meine ständige ANGST in der Softwareentwicklung
12:06
David Tielke
Рет қаралды 9 М.
Why More People Dont Use Linux
18:51
ThePrimeTime
Рет қаралды 330 М.
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 13 МЛН