{"id":231,"date":"2025-04-22T19:12:22","date_gmt":"2025-04-22T19:12:22","guid":{"rendered":"https:\/\/tbenninger.com\/?p=231"},"modified":"2025-04-28T19:41:55","modified_gmt":"2025-04-28T19:41:55","slug":"perfektionismus-als-gift","status":"publish","type":"post","link":"https:\/\/tbenninger.com\/en\/perfektionismus-als-gift\/","title":{"rendered":"Perfectionism as Poison"},"content":{"rendered":"\n<p>Vor einigen Jahren h\u00e4tte ich \u201cPerfektionismus\u201d wahrscheinlich noch als w\u00fcnschenswerte Eigenschaft f\u00fcr Entwickler angesehen. Mittlerweile wei\u00df ich, dass Perfektionismus l\u00e4hmend wirkt.<\/p>\n\n\n\n<p>Das hei\u00dft auch nicht, dass man das Gegenteil praktizieren soll und alles immer nur \u201cHusch-Pfusch\u201d erledigt. Vielmehr sollte man sich immer das viel zitierte Pareto-Prinzip vor Augen halten. Das Prinzip wurde nach dem italienischen \u00d6konomen <strong>Vilfredo Pareto<\/strong> benannt, der Anfang des 20. Jahrhunderts beobachtete, dass <strong>80 % des Landbesitzes in Italien im Besitz von 20 % der Bev\u00f6lkerung<\/strong> waren. Sp\u00e4ter wurde diese Beobachtung auf andere Lebensbereiche \u00fcbertragen, z.\u202fB.:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>80 % der Ergebnisse<\/strong> entstehen durch <strong>20 % des Aufwands.<\/strong><\/li>\n\n\n\n<li><strong>80 % der Beschwerden<\/strong> kommen von <strong>20 % der Kunden.<\/strong><\/li>\n\n\n\n<li><strong>80 % des Umsatzes<\/strong> stammen von <strong>20 % der Produkte.<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Es ist wichtig zu verstehen, dass die <strong>Verteilung nicht exakt 80\/20 sein muss<\/strong>. Der eigentliche Kern ist, dass <strong>ein kleiner Teil der Ursachen f\u00fcr einen Gro\u00dfteil der Wirkungen verantwortlich ist<\/strong> (Prinzip der <em>ungleichen Verteilung<\/em>).<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"Pareto-Prinzip-in-der-Softwareentwicklung\">Pareto-Prinzip in der Softwareentwicklung<\/h1>\n\n\n\n<p class=\"has-link-color wp-elements-0f7e6d3636b5e856b5d73e6c87eea9f9\">Mehrere Studien untermauern dieses Prinzip auch f\u00fcr die Softwareentwicklung. So untersuchte eine <a href=\"https:\/\/annals-csis.org\/proceedings\/2023\/pliks\/5221.pdf?utm_\">Studie von Szyma\u0144ski und Ochodek (2023)<\/a> das Wachstum von Open-Source-Code-Repositories und fand heraus, dass <strong>75\u202f% des finalen Codes innerhalb der ersten 25\u202f% der Projektlaufzeit erstellt<\/strong> wurden. Dies deutet auf eine ungleichm\u00e4\u00dfige Verteilung der Entwicklungsaktivit\u00e4t hin, die dem Pareto-Prinzip \u00e4hnelt.<\/p>\n\n\n\n<p class=\"has-link-color wp-elements-6758e7f76b540a024daaefe0ff2eba17\">Jeder kennt auch die Entwickler, die alles perfekt machen wollen und unbedingt noch dieses und jenes Feature implementieren wollen. Hierbei sollte man sich vor Augen halten, dass <a href=\"https:\/\/www.pendo.io\/resources\/the-2019-feature-adoption-report\/\" data-type=\"link\" data-id=\"https:\/\/www.pendo.io\/resources\/the-2019-feature-adoption-report\/\">80 Prozent der Features nie oder fast nie genutzt werden<\/a>.<\/p>\n\n\n\n<p class=\"has-link-color wp-elements-31f80e684eb665af314d6717dfd96958\">Aus diesem Grund wird in der \u201c<a href=\"https:\/\/www.thalia.at\/shop\/home\/artikeldetails\/A1035359172?ProvID=11010472&amp;gclid=a11b0a8540491ef82c3b6281ebdfc9e3&amp;gclsrc=3p.ds&amp;msclkid=a11b0a8540491ef82c3b6281ebdfc9e3&amp;utm_source=bing&amp;utm_medium=cpc&amp;utm_campaign=AT%20fremdsprachige%20B%C3%BCcher_DSA%20Pagefeed&amp;utm_term=B%C3%BCcher%3EFremdsprachige%20B%C3%BCcher&amp;utm_content=AT%20fremdsprachige%20B%C3%BCcher_DSA_Englisch\">Scrum-Bibel<\/a>\u201d empfohlen, alle m\u00f6glichen Features aufzuschreiben, dann auf Tasks herunterzubrechen und diese dann im Backlog nach Priorit\u00e4t zu ordnen. Danach werden die wichtigsten Features zuerst angegangen, um schnell zu einem <strong>Minimum Viable Product<\/strong> (<strong>MVP<\/strong>) zu gelangen. Ein MVP ist die kleinstm\u00f6gliche Version eines Produkts, die gerade genug Funktionen bietet, um den Kernnutzen zu liefern und Feedback von echten Nutzern zu sammeln. Ziel ist es, schnell zu validieren, ob ein Produktkonzept in der Praxis funktioniert, bevor viel Zeit und Geld in die vollst\u00e4ndige Entwicklung investiert wird.<\/p>\n\n\n\n<p>Aus der Erfahrung meiner T\u00e4tigkeit als CEO eines Softwareunternehmens empfehle ich dringend, sich immer diese Erkenntnisse vor Augen zu halten. Gerade zu Beginn meiner Karriere habe ich viel Energie in erweiterte Features gesteckt, zum Beispiel in besonders gutes Datenhandling oder tiefgehende Analysefunktionen f\u00fcr unsere Anlagen. Heute wei\u00df ich: F\u00fcr fast alle allt\u00e4glichen Analysen reichen die Basisfunktionen vollkommen aus. Und selbst wenn einmal eine erweiterte Analyse gebraucht wird, ist es oft so, dass der Standard-Anwender entweder vergessen hat, wie man das Feature benutzt, oder gar nicht mehr wei\u00df, dass es \u00fcberhaupt existiert. Ich w\u00fcrde das Pareto-Prinzip deshalb sogar etwas umformulieren:<\/p>\n\n\n\n<p><strong>\u201cWenn 80 Prozent des Umsatzes von 20 Prozent der Produkte kommen, hast du den Gro\u00dfteil deiner Zeit verbrannt\u201d.<\/strong><\/p>\n\n\n\n<p>Aber wie so oft im Leben, ist es einfacher, Dinge in der Theorie zu verstehen, als sie auch praktisch umzusetzen. Ich glaube, ein wesentlicher Punkt in der Umsetzung des Pareto-Prinzips, um Ressourcen nicht zu \u201cverbrennen\u201d, ist es, Perfektionismus gezielt zu reduzieren.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"Perfektionismus-vermeiden-und-\u201ceinfach-mal-machen\u201d\">Perfektionismus vermeiden und \u201ceinfach mal machen\u201d<\/h1>\n\n\n\n<p>Wenn man eine Firma aufbaut, muss man gewaltig viele Entscheidungen treffen. Im Falle von Unternehmen mit hohem Entwicklungsanteil fallen darunter folgende Entscheidungen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wie strukturieren wir unsere Zusammenarbeit? (Remote vs. Office, agile vs. klassisch)<\/li>\n\n\n\n<li>Welche internen Tools brauchen wir? (Projektmanagement, Doku, Kommunikation)<\/li>\n\n\n\n<li>Welche Kommunikationstools verwenden wir? (Slack, MS Teams, Discord)<\/li>\n\n\n\n<li>Welche Versionsverwaltung verwenden wir, und wo wird unser Code gehostet? (z.\u202fB. GitHub, GitLab, Bitbucket)<\/li>\n\n\n\n<li>Wie organisieren wir Codequalit\u00e4t, Testing, CI\/CD, Releases?<\/li>\n\n\n\n<li>Welcher Tech-Stack ist f\u00fcr unsere Anforderungen langfristig sinnvoll? (Frontend, Backend, Datenbank, Infrastruktur)<\/li>\n\n\n\n<li>Wie managen wir Abh\u00e4ngigkeiten und Paketversionen?<\/li>\n\n\n\n<li>Wie tracken und priorisieren wir Bugs und Features?<\/li>\n\n\n\n<li>Welche Coding-Standards und Code-Reviews etablieren wir?<\/li>\n\n\n\n<li>Wie dokumentieren wir unser Wissen? (Notion, Confluence, GitHub Wiki)<\/li>\n\n\n\n<li>Wie f\u00fchren wir neue Entwickler ins Projekt ein? (Onboarding-Doku, Mentoring, Setup-Skripte)<\/li>\n<\/ul>\n\n\n\n<p>Wenn man alle diese Fragen bis ins kleinste Detail analysieren will, um sie \u201coptimal\u201d zu beantworten, wird man vor einer Mammutaufgabe stehen. Vor allem gibt es bei den meisten dieser Fragen auch kein \u201crichtig\u201d oder \u201cfalsch\u201d, sondern manche Ans\u00e4tze sind mehr oder weniger f\u00fcrs eigene Vorhaben geeignet. Wenn man etwa nach Projektmanagement-Tools sucht, wird man davon Hunderte finden. Dazu tausende Blogartikel, Forum-Posts und Reviews. Jeweils mit anderen Schlussfolgerungen und Empfehlungen.<\/p>\n\n\n\n<p>Meine Empfehlung zu all diesen Fragen und Entscheidungen:<\/p>\n\n\n\n<p><strong>\u201cEinfach mal machen!\u201d<\/strong><\/p>\n\n\n\n<p>Ich w\u00fcrde jedem folgende Herangehensweise empfehlen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seine eigenen Anforderungen kurz niederschreiben<\/li>\n\n\n\n<li>Suchen, welche Tools diese erf\u00fcllen<\/li>\n\n\n\n<li>Hat man eines, bei dem die meisten Punkte erf\u00fcllt sind, gleich damit starten und nicht mehr nach einem noch besseren Tool suchen!<\/li>\n<\/ul>\n\n\n\n<p>Wie schon erw\u00e4hnt: In der Praxis nutzt man von den meisten Tools ohnehin nur einen Bruchteil der Features regelm\u00e4\u00dfig. Wenn ein Tool die Basics gut abdeckt, lohnt es sich kaum, Wochen mit der Suche nach einer vermeintlich noch besseren Alternative zu verbringen.<\/p>\n\n\n\n<p>Gerade in der Gr\u00fcndungsphase ist das ein entscheidender Vorteil gegen\u00fcber gro\u00dfen Unternehmen: <strong>Wir k\u00f6nnen schnell entscheiden \u2013 und sollten das auch tun.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Mut-zur-Entscheidung:-Geschwindigkeit-schl\u00e4gt-Perfektion\">Mut zur Entscheidung: Geschwindigkeit schl\u00e4gt Perfektion<\/h2>\n\n\n\n<p>Selbst wenn man mal eine falsche Entscheidung trifft, ist es viel weniger schwerwiegend als man denkt. Viel schwerwiegender sind langsame Entscheidungen. Und das sage nicht ich, sondern einer der erfolgreichsten Unternehmer \u00fcberhaupt: Jeff Bezos, der Gr\u00fcnder von Amazon. Dieser unterscheidet zwischen zwei Arten von Entscheidungen:\u200b<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-link-color wp-elements-53bc323bca6a4aee148cea2d09b0c20e\"><strong>Typ-1-Entscheidungen<\/strong>: Diese sind bedeutend und irreversibel \u2013 sogenannte \u201eEinbahnstra\u00dfen\u201c. Sie sollten sorgf\u00e4ltig, langsam und mit viel \u00dcberlegung getroffen werden. <a href=\"https:\/\/rufuspollock.com\/2020\/05\/18\/jeff-bezos-fast-high-quality-decision-making\/?utm_source=chatgpt.com\">[1]<\/a><\/li>\n\n\n\n<li class=\"has-link-color wp-elements-61bfbd10ca9669ce4c5998bc3c6dc4f9\"><strong>Typ-2-Entscheidungen<\/strong>: Diese sind reversibel \u2013 sogenannte \u201eZweibahnstra\u00dfen\u201c. Sie k\u00f6nnen schnell von Einzelpersonen oder kleinen Gruppen mit gutem Urteilsverm\u00f6gen getroffen werden. Wenn sich eine solche Entscheidung als suboptimal herausstellt, kann man sie leicht r\u00fcckg\u00e4ngig machen.\u200b <a href=\"https:\/\/rufuspollock.com\/2020\/05\/18\/jeff-bezos-fast-high-quality-decision-making\/?utm_source=chatgpt.com\">[1]<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"has-link-color wp-elements-daa2b080e1559aa1e68072b3d66cffde\">Bezos betont, dass die meisten Entscheidungen vom Typ 2 sind und daher z\u00fcgig getroffen werden sollten. Er warnt davor, in gro\u00dfen Organisationen alle Entscheidungen wie Typ-1-Entscheidungen zu behandeln, da dies zu Langsamkeit, \u00fcberm\u00e4\u00dfiger Risikovermeidung und mangelnder Innovation f\u00fchrt. \u200b<\/p>\n\n\n\n<p class=\"has-link-color wp-elements-6f4dfa2f1652188114f6fefa65ba5788\">In seinem Aktion\u00e4rsbrief von 2017 f\u00fchrt Bezos weiter aus, dass Entscheidungen oft mit etwa 70\u202f% der gew\u00fcnschten Informationen getroffen werden sollten. Wartet man auf 90\u202f%, ist man in den meisten F\u00e4llen wahrscheinlich zu langsam. Er betont, dass es wichtiger ist, schnell zu entscheiden und bei Bedarf Kurskorrekturen vorzunehmen, da Verz\u00f6gerungen teuer sein k\u00f6nnen. \u200b<a href=\"https:\/\/rufuspollock.com\/2020\/05\/18\/jeff-bezos-fast-high-quality-decision-making\/?utm_source=chatgpt.com\"><\/a><a href=\"https:\/\/rufuspollock.com\/2020\/05\/18\/jeff-bezos-fast-high-quality-decision-making\/?utm_source=chatgpt.com\">[1]<\/a><\/p>\n\n\n\n<p>[1] <a href=\"https:\/\/rufuspollock.com\/2020\/05\/18\/jeff-bezos-fast-high-quality-decision-making\/\">Jeff Bezos on Fast, High Quality Decision-Making \u00b7 Rufus Pollock Online<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Schnell-entscheiden,-sp\u00e4ter-korrigieren-\u2013-Beispiele-aus-meinem-Alltag\">Schnell entscheiden, sp\u00e4ter korrigieren \u2013 Beispiele aus meinem Alltag<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Wissensdatenbank\">Wissensdatenbank<\/h3>\n\n\n\n<p>Ab dem ersten Mitarbeiter war f\u00fcr mich klar: Eine Wissensdatenbank ist unabdingbar. Da wir mechatronische Systeme erst durch Software zum Leben erwecken, gibt es naturgem\u00e4\u00df unz\u00e4hlige Kleinigkeiten, die trivial erscheinen, aber einfach gewusst werden m\u00fcssen. Andernfalls verbrennt man enorm viel Zeit beim Entwickeln oder Debuggen. Dazu z\u00e4hlen etwa Konfigurationseinstellungen f\u00fcr Motion-Anwendungen, spezifische Hardware-Kombinationen oder Eigenheiten in der Ansteuerung.<\/p>\n\n\n\n<p>Reine Wissensdatenbank-Tools sind heute selten, meist sind sie Teil gr\u00f6\u00dferer Plattformen mit Projektmanagement, Git-Integration oder Time-Tracking.<\/p>\n\n\n\n<p>Auf Empfehlung meiner Frau probierte ich zuerst Easy Redmine aus, das sie von ihrem damaligen Arbeitgeber kannte. Zwei Tage sp\u00e4ter zeigte ich es einem Kollegen und wir konnten nicht mal die einfachsten Dinge darin anlegen. Der H\u00f6hepunkt war ein Anruf vom Anbieter, bei dem uns eine mehrt\u00e4gige Schulung angeboten wurde, um das Tool \u00fcberhaupt bedienen zu k\u00f6nnen.<br>F\u00fcr mich ein No-Go: Projektmanagement-Tools und Wissensdatenbanken sollen das Leben einfacher machen \u2013 nicht komplizierter. Wenn ich zuerst eine Schulung brauche, um ein Taskboard zu bedienen, erh\u00f6ht das nicht die Effizienz, sondern den Frust. Noch heute scherze ich mit meiner Frau \u00fcber &#8211; wie ich es nenne &#8211; \u201eHard Redmine\u201c.<\/p>\n\n\n\n<p>Danach testete ich Confluence von Atlassian. Es war sofort intuitiv zu bedienen, das Feature-Set schien umfangreich und zukunftssicher. Auch meine Kollegen kamen auf Anhieb damit klar. Damit war schnell klar: Wir nehmen die Atlassian-Welt. Somit hatten wir mit Jira auch gleich das Tool f\u00fcr das Projektmanagement und mit Bitbucket jenes f\u00fcr die Git-Verwaltung. Sofort f\u00fchrten wir alles ein, ohne weitere m\u00f6gliche Tools zu analysieren. Die Entscheidung hat sich bis heute als richtig erwiesen, vor allem da wir f\u00fcr das Time-Tracking sp\u00e4ter auf Tempo setzen konnten. Dies war m\u00f6glich, da Atlassian offene Schnittstellen f\u00fcr 3rd-Party-Plugins bietet.<\/p>\n\n\n\n<p>Trotzdem hatten wir anfangs gro\u00dfe Probleme mit unserer Wissensdatenbank \u2013 nicht wegen Confluence, sondern weil wir es falsch nutzten. Wir f\u00fchrten es ohne Plan ein und legten einfach alles an, was irgendwie nach \u201eWissen\u201c klang.<\/p>\n\n\n\n<p>In unseren fr\u00fchen \u201eKnowledge-Base\u201c-Spaces finden sich heute noch Ordner mit dem Titel \u201eLegacy\u201c, gef\u00fcllt mit v\u00f6llig unn\u00fctzem Zeug: Seiten voller Konfigurationen, die man mit einer Google-Suche sofort auf Beckhoff Infosys findet. Oder Notizen zu YouTube-Tutorials, von denen wir dachten, sie w\u00fcrden \u201enoch mal ultra wichtig\u201c. Spoiler: Wurden sie nicht.<\/p>\n\n\n\n<p>Heute halten wir uns an ein paar einfache Prinzipien f\u00fcr unsere Wissensdokumentation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dokumentiere nichts, was man nicht auch innerhalb k\u00fcrzester Zeit via Google oder ChatGPT nachsehen kann.<\/li>\n\n\n\n<li>So wenig wie m\u00f6glich, so viel wie n\u00f6tig.<\/li>\n\n\n\n<li>Verwendet vordefinierte Space-Templates.<\/li>\n\n\n\n<li>Je mehr Zeit eine Dokumentation einsparen kann, desto eher sollte man sie erstellen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Abh\u00e4ngigkeiten-und-Paketversionen\">Abh\u00e4ngigkeiten und Paketversionen<\/h3>\n\n\n\n<p>Wenn man, wie wir, Software komplett selbst entwickelt, steht man schnell vor der Frage, wie man eigene Libraries sinnvoll managt. In der klassischen PLC-Welt gibt es dazu leider kaum gute Vorbilder. Die wenigen, die es gab, warnten zu Recht vor einer \u201eDependency Hell\u201c.<br>Deshalb entwickelten wir parallel zum ersten Projekt eine eigene Standard-Library, in der wir all unsere Basisklassen b\u00fcndelten.<br>Leider schrieben wir zu diesem Zeitpunkt keine Unit-Tests. Entsprechend viele Bugs hatten wir. Mit M\u00fche und Not konnten wir unser erstes gr\u00f6\u00dferes Projekt mit TwinCAT gerade noch abschlie\u00dfen.<br>Eine echte \u201eDependency Hell\u201c hatten wir zwar nicht \u2013 wir hatten nur eine einzige Library, die alles enthielt. Aber daf\u00fcr war diese eine Library \u2026 \u201ehell\u201c genug.<\/p>\n\n\n\n<p>Die n\u00e4chsten beiden Projekte standen an. Beide mit knackigen Deadlines.<br>Uns war klar: Wir brauchen Libraries, die sauber getrennt sind und vor allem solche, die konsequent mit Unit-Tests abgesichert sind. Aber wie sollten wir das alles so schnell aufsetzen? Die Herausforderungen waren klar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wir brauchen eine PLC-Runtime \u2013 lokal und f\u00fcr automatisierte Tests.<\/li>\n\n\n\n<li>Bitbucket allein reicht nicht \u2013 wir brauchen zus\u00e4tzlich ein CI\/CD-System, das zu unserer TwinCAT-Welt passt.<\/li>\n\n\n\n<li>Wie releasen wir unsere Libraries? Jeden Tag eine neue Version rausschieben?<\/li>\n\n\n\n<li>Was passiert, wenn jemand w\u00e4hrend einer Inbetriebnahme kurzfristig die Library \u00e4ndern muss \u2013 sei es f\u00fcr einen Bugfix oder ein neues Feature?<\/li>\n<\/ul>\n\n\n\n<p>F\u00fcr all das war keine Zeit. Aber das Wichtigste konnten wir parallel zur Projektentwicklung einf\u00fchren: Unit-Tests.<br>Wir schrieben fast alles neu, aber diesmal in thematisch getrennten Libraries und sauber getestet.<br>Statt einer automatisierten Pipeline wusste einfach jeder:<strong> <\/strong>Bevor du \u00c4nderungen zum Mergen auf den Main-Branch freigibst, l\u00e4sst du alle Tests laufen. Punkt.<\/p>\n\n\n\n<p>In einem kleinen Team funktioniert das problemlos \u2013 mit unkomplizierter Kommunikation \u00fcber Teams oder direkt im B\u00fcro. Auch die Versionierung war einfach: War es eine wichtige \u00c4nderung, die Bugs korrigierte oder neue Features brachte, schrieb man in den daf\u00fcr vorgesehenen Teams-Chat. Nur selten gab es \u00c4nderungen, die z.\u202fB. die Signatur von Methoden betrafen und Auswirkungen auf bestehenden Code hatten. Auch das wurde kurz kommuniziert \u2013 und jeder updatete sein Programm entsprechend.<\/p>\n\n\n\n<p>Nat\u00fcrlich ist es sauberer, Libraries zu versionieren und bei Bedarf auf eine Version zu \u201cfreezen\u201d.<br>Aber was wir brauchten, war: <strong>\u201eausreichend sauber, aber verdammt schnell\u201c<\/strong>. Genau das haben wir mit unserer Methode erreicht. Die Abl\u00e4ufe waren manchmal chaotischer als n\u00f6tig, aber der Code war dieses Mal richtig sauber. Auch hier ist der Code sicherlich jenes \u201eFeature\u201c, dem gem\u00e4\u00df dem Pareto-Prinzip die meiste Aufmerksamkeit gewidmet werden sollte.<\/p>\n\n\n\n<p class=\"has-link-color wp-elements-25bb01786ffcfaa9d19f6485313e7fe9\"><strong>Fast Forward:<\/strong><br>Beide Projekte wurden mit Bravour gemeistert.<br><a href=\"https:\/\/www.autolab.at\/twincat-framework-entwicklung\/\" data-type=\"link\" data-id=\"https:\/\/www.autolab.at\/twincat-framework-entwicklung\/\">Unsere Libraries<\/a> haben wir mittlerweile \u2013 als <a href=\"https:\/\/www.beckhoff.com\/de-at\/support\/solution-provider-programm\/autolab-next-automation-gmbh.html\" data-type=\"link\" data-id=\"https:\/\/www.beckhoff.com\/de-at\/support\/solution-provider-programm\/autolab-next-automation-gmbh.html\"><strong>Beckhoff Solution Partner<\/strong><\/a> \u2013 per OEM-Lizenz herausgegeben. Jede Woche halten wir unser \u201eTwinCAT-Library\u201c-Meeting, in dem die neuesten Features und \u00c4nderungen besprochen werden, und mittlerweile erkennt jeder im Team schon an der Versionsnummer, welchen Grad an \u00c4nderung gemacht wurde.<\/p>\n\n\n\n<p>Auch hier zeigte sich mal wieder: einfach mal machen! Auch wenn es vielleicht nicht von Anfang an perfekt ist \u2013 perfekt werden kann es mit der Zeit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Meine-Tool-Favoriten-und-warum\">Meine Tool-Favoriten und warum<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Kommunikation-\u2013-Microsoft-Teams\">Kommunikation \u2013 Microsoft Teams<\/h3>\n\n\n\n<p>Mittlerweile ohnehin Standard.<br>Funktioniert einfach, ist weit verbreitet und reicht f\u00fcr unsere Anforderungen v\u00f6llig aus.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Projektmanagement-\u2013-JIRA\">Projektmanagement \u2013 JIRA<\/h3>\n\n\n\n<p class=\"has-link-color wp-elements-837a2919a48e4f4e7e038f17d34e2d3b\">Gerade weil ich mittlerweile auch sehr gerne agil arbeite.<br>In dem Zusammenhang kann ich \u00fcbrigens das <strong><a href=\"https:\/\/www.thalia.at\/shop\/home\/artikeldetails\/A1035359172?ProvID=11010472&amp;gclid=a11b0a8540491ef82c3b6281ebdfc9e3&amp;gclsrc=3p.ds&amp;msclkid=a11b0a8540491ef82c3b6281ebdfc9e3&amp;utm_source=bing&amp;utm_medium=cpc&amp;utm_campaign=AT%20fremdsprachige%20B%C3%BCcher_DSA%20Pagefeed&amp;utm_term=B%C3%BCcher%3EFremdsprachige%20B%C3%BCcher&amp;utm_content=AT%20fremdsprachige%20B%C3%BCcher_DSA_Englisch\" data-type=\"link\" data-id=\"https:\/\/www.thalia.at\/shop\/home\/artikeldetails\/A1035359172?ProvID=11010472&amp;gclid=a11b0a8540491ef82c3b6281ebdfc9e3&amp;gclsrc=3p.ds&amp;msclkid=a11b0a8540491ef82c3b6281ebdfc9e3&amp;utm_source=bing&amp;utm_medium=cpc&amp;utm_campaign=AT%20fremdsprachige%20B%C3%BCcher_DSA%20Pagefeed&amp;utm_term=B%C3%BCcher%3EFremdsprachige%20B%C3%BCcher&amp;utm_content=AT%20fremdsprachige%20B%C3%BCcher_DSA_Englisch\">Scrum-Buch<\/a><\/strong> empfehlen.<br>Nat\u00fcrlich machen wir auch hier nicht alles perfekt \u2013 aber wir probieren es zumindest ernsthaft.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Wissensdatenbank-\u2013-Confluence\">Wissensdatenbank \u2013 Confluence<\/h3>\n\n\n\n<p>Meiner Meinung nach extrem intuitiv, \u00fcbersichtlich und einfach zu bedienen.<br>Vor allem in Verbindung mit JIRA ideal \u2013 da es aus derselben Tool-Welt kommt und nahtlos integriert ist.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Versionsverwaltung-\u2013-Bitbucket\">Versionsverwaltung \u2013 Bitbucket<\/h3>\n\n\n\n<p>Git ist ohnehin gesetzt.<br>Wo genau die Repos gehostet werden, ist mir ehrlich gesagt nicht so wichtig \u2013<br>Bitbucket war einfach die logische Wahl in der Atlassian-Welt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Time-Tracking-\u2013-Tempo\">Time-Tracking \u2013 Tempo<\/h3>\n\n\n\n<p class=\"has-link-color wp-elements-b2861f26620010d3004c79bd388a5de5\">Die ideale 3rd-Party-Erg\u00e4nzung zu JIRA.<br>Bei uns muss jede einzelne Minute einem Projekt-, Entwicklungs- oder allgemeinen Task zugeordnet werden.<br>Ich halte das f\u00fcr extrem wichtig, vor allem wenn es um die Generierung von belastbaren Aufwandssch\u00e4tzungen geht.<br>Mehr dazu auch im <a href=\"https:\/\/tbenninger.com\/warum-die-besten-entwickler-oft-die-schlechtesten-schaetzer-sind\/\" data-type=\"link\" data-id=\"https:\/\/tbenninger.com\/warum-die-besten-entwickler-oft-die-schlechtesten-schaetzer-sind\/\">zweiten Blogpost<\/a>.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"Worauf-es-wirklich-ankommt\">Worauf es wirklich ankommt<\/h1>\n\n\n\n<p>Wenn ich heute zur\u00fcckblicke, waren nicht die perfekten Konzepte entscheidend \u2013 sondern die Entscheidungen selbst. Die Projekte, die funktioniert haben, waren nie von Anfang an ideal geplant. Aber sie wurden umgesetzt, getestet, angepasst.<\/p>\n\n\n\n<p>Perfektion ist kein Ziel, sondern ein Prozess. Wer st\u00e4ndig alles zerdenkt, verliert den Vorteil des Handelns.<\/p>\n\n\n\n<p>Deshalb mein Fazit \u2013 f\u00fcr alle, die mit Software, Teams oder Produkten starten:<br><strong>Trefft schnelle Entscheidungen. Lernt daraus. Verbessert euch.<\/strong><\/p>\n\n\n\n<p><em>Denn gute Systeme entstehen nicht durch Z\u00f6gern \u2013 sondern durchs Tun.<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vor einigen Jahren h\u00e4tte ich \u201cPerfektionismus\u201d wahrscheinlich noch als w\u00fcnschenswerte Eigenschaft f\u00fcr Entwickler angesehen. Mittlerweile wei\u00df ich, dass Perfektionismus l\u00e4hmend wirkt. Das hei\u00dft auch nicht, dass man das Gegenteil praktizieren soll und alles immer nur \u201cHusch-Pfusch\u201d erledigt. Vielmehr sollte man sich immer das viel zitierte Pareto-Prinzip vor Augen halten. Das Prinzip wurde nach dem italienischen [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[7,39,14],"class_list":["post-231","post","type-post","status-publish","format-standard","hentry","category-wirtschaft","tag-autolab","tag-projekt-management","tag-software-development"],"_links":{"self":[{"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/posts\/231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/comments?post=231"}],"version-history":[{"count":13,"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/posts\/231\/revisions"}],"predecessor-version":[{"id":250,"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/posts\/231\/revisions\/250"}],"wp:attachment":[{"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/media?parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/categories?post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tbenninger.com\/en\/wp-json\/wp\/v2\/tags?post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}