| 

.NET C# Java Javascript Exception

One Man Think Tank

Praktisches, konzeptionelles und manchmal auch philosophisches rund um die Softwareentwicklung vor allem auf der .NET Plattform.

Fokusthemen sind Softwareentwurf/Softwarearchitektur, Agilität, Lean Software Development und ein effizienter Softwareproduktionsprozess. Und meistens geht es darum, Softwareentwicklung bewusster und systematischer zu betreiben.
Über den Autor
Ralf Westphal ist langjähriger Autor der dotnetpro, regelmäßiger Referent auf Entwicklerveranstaltungen sowie Berater und Trainer im Bereich Softwareentwurf.

Er ist seit 2005 Microsoft MVP und hat zusammen mit Stefan Lieser die Softwarequalitätsinitiative Clean Code Developer ins Leben gerufen.
Webseite des Autors Themen des Autors
.net agile architektur asynchronizitaet ausbildung ccd-school clean-code-developer coding-dojo csharp ddd einfacher-programmieren english-postings event-based-components event-sourcing flow-design gastbeitrag gesetze-der-softwareentwicklung intuitives-datenmodell kritisch-gesehen lean produktivitaet publikationen samples software-als-system softwarearchitektur softwareentwurf softwarephilosophie testen theory-of-constraints tools video vorgehen-bei-der-entwicklung zum-lesen-empfohlen
Auf codekicker News finden Programmierer redaktionell vorausgewählte und daher hochwertige Artikel zu verschiedenen, auswählbaren Themen. Auch dieser Autor veröffentlicht seine Artikel auf codekicker News.

» News weiterer Autoren
» Auch Autor werden


News und Artikel von One Man Think Tank

6

Wichtiges verlässlich erledigt kriegen

Erledigt wird nur, was dringend ist. Ich denke, darin stimmen wir überein. Aber es gibt Wichtiges und es gibt Dringendes. Beides muss erledigt werden – nur schiebt sich das Dringende scheinbar oft, allzu oft vor das Wichtige. Das Wichtige Das ist misslich und früher oder später gefährlich, denn das Wichtige ist ja das, was getan werden muss. Das macht seine Definition aus: Was bei ...
produktivitaet
09.04.2014 | 23 0
7

Arbeitszeiteinteilung für Veränderung

Der Wunsch, irgendwie besser Software zu entwickeln, ist weit verbreitet. Irgendwas stört in jedem Projekt. Irgendwie hakt es in jedem Team. Viele leiden unter der Last von Legacy Code. Andere kämpfen mit Qualitätsproblemen oder unzuverlässiger Lieferung. Zur Verbesserung der Situation lässt sich dann natürlich allerlei raten. Mehr Clean Code, konsequentere Agilität, ...
kritisch-gesehen produktivitaet
07.04.2014 | 30 0
13

Attrappen gestütztes Nachdenken

Wie viel Design vor dem Codieren darf es denn sein? Diese Frage erhitzt immer wieder die Gemüter. Neulich auch das von Robert C. Martin. Der reagierte nämlich sehr barsch auf einen Blogartikel von Justin Searl. Martin sieht nun einen Unterschied in der Notwendigkeit zu entwerfen zwischen größeren Strukturen und kleineren. Für die einen sollte man explizit entwerfen, für die ...
softwareentwurf testen
10.03.2014 | 41 0
14

Vertragsstrafe einmal anders

Wer einen Vertrag verletzt, der wird bestraft – auf die eine oder andere Weise. Ohne Konsequenzen wären Verträge so nützlich, wie elterliche Ermahnungen an schreiende Kinder vor dem Süßigkeitenregal im Supermarkt, wenn am Ende doch der Schokoriegel gekauft wird, damit endlich, endlich Ruhe ist. Ob Verträge schriftlich sind oder nicht, ist unerheblich. Sie entstehen schon ...
kritisch-gesehen
01.03.2014 | 151 0
10

Rekursive Produktivität

Das drängendste Problem der Softwareentwicklung heute scheint mir Unzuverlässigkeit. Darin unterscheidet sie sich nicht von der Deutschen Bahn. Nicht Performance oder Skalierbarkeit oder Sicherheit oder Usability oder ein Mangel an Kunststücken sind das Problem. Allermeistens kann Technologie das, was gebraucht wird, um die nicht-funktionalen Anforderungen zu ...
theory-of-constraints vorgehen-bei-der-entwicklung
13.01.2014 | 65 0
6

Eklektische Programmierung

Jetzt hab ich genug. Mir hängt das ganze Gerede über Für und Wider von Objektorientierter Programmierung (OOP) und Funktionaler Programmierung (FP) zum Hals raus. Ich mag nicht mehr. Es ist zwar nicht egal, ob OOP oder FP. Der eine Ansatz hat für manche Szenarien Stärken, der andere Ansatz für manche Szenarien Stärken. Und? Warum sollte ich mich deshalb entscheiden müssen? ...
kritisch-gesehen
03.01.2014 | 74 0
8

Unordnung muss sein

Neulich habe ich mit meiner Freundin geheimwerkert. Sie wollte ihr Wohnzimmer mit einigen Fotos in selbstgebastelten Bilderrahmen anreichern. Holzprofile zuschneiden und zusammensetzen zu Rahmen, war eine Sache. Eine andere, die Bilderleiste im Wohnzimmer anzubringen, an der die Rahmen aufgehängt werden können. (Eine Bilderleiste statt Nägeln in der Wand für jeden ...
clean-code-developer
01.01.2014 | 68 0
7

Was ist Zug?

Druck ist unökonomisch auf längere Sicht. Druck ist in den meisten Fällen kontraproduktiv. Der Schaden, den Druck erzeugt, besteht in Halden, die Kapital binden oder gar verbrennen, und in Verformungen von Ressourcen, die deren Leistungsfähigkeit schrittweise reduzieren. Darüber habe ich im vorherigen Posting geschrieben. Bewegung in Richtung eines Ziels kann aber ...
.net agile csharp lean softwarearchitektur
28.12.2013 | 102 0
8

Was ist Druck?

Zug ist ökonomischer als Druck. Davon bin ich überzeugt. Aber was ist denn Zug? Wie kann man Zug (pull) von Druck (push) unterscheiden? Die Antwort bin ich noch Kommentator Mike M schuldig. Bisher schien es mir einfach, Zug zu erkennen. Liegt der denn nicht auf der Hand, wenn er vorhanden ist? Aber Mikes Nachfrage hat mich widererwarten ein bisschen ins Schwitzen gebracht. “Ich ...
.net agile csharp lean softwarearchitektur
23.12.2013 | 92 0
6

Vergleich von Flow-Designs für Kata Ordered Jobs

So unterschiedlich können Flow-Design s sein. Ich hatte es schon geahnt, doch nun ... es öffentlich. Am 1.11.2013 hatte ich ermuntert, Flow-Design s für die Kata Ordered Jobs “einzureichen”. Auslöser dahinter war ein Flow-Design , dass Entwickler eines Kunden von mir in einem ... sich erarbeitet hatten. Sie wollten einfach Flow-Design üben. Das sah so aus, als sie mich schließlich ...
flow-design
10.12.2013 | 83 0
9

Bitte raustreten für besseren Fluss

Am Flughafen kann man lernen, Fluss herzustellen. So geschehen, als ich gestern von Hamburg nach Köln geflogen bin. Und gleich wird es wohl wieder geschehen, wenn ich zurückfliege. Beim Boarding sollen ja in kürzester Zeit hunderte Passagiere durch ein Nadelöhr in die Maschine fließen. Da Nadelöhr ist die Prüfung der Bordkarte. Heute passiert das durch assistiertes Scannen. ...
vorgehen-bei-der-entwicklung
07.12.2013 | 89 0
3

Zug ist ökonomischer

Dieses Arrangement fand sich neulich auf dem Wohnzimmertisch meiner Freundin. Noch nicht weihnachtlich – es ist ja erst Mitte November – aber trotzdem hübsch und Gemütlichkeit verbreitend so mit den Kerzen und ein bisschen Obst. Nur leider war es mir im Weg. Ich wollte an dem Tisch mit meinem ebenfalls hübschen und vor allem ungemein praktischen neuen MacBook Pro nämlich ...
vorgehen-bei-der-entwicklung
29.11.2013 | 95 0
11

eBook-Veröffentlichung im Fluss

Bücher veröffentlichen ist heute ganz einfach. Eigentlich. Denn ein bisschen Tüfteln muss noch sein, um den Prozess flüssig hinzubekommen. Aber ich denke, jetzt habe ich das im Griff. Ein Gespräch mit einem Lektor eines deutsches Fachbuchverlags neulich auf einer Konferenz hatte mich motiviert, es nochmal zu versuchen. Wir hatten darüber nachgedacht, was gerade ...
publikationen
22.11.2013 | 89 0
5

Investitionssicherheit – Meine Definition

Investitionssicherheit scheint keine Definition zu haben. Wikipedia schweigt. Der Duden schweigt. Kaum zu glauben. Der Begriff wird zwar benutzt – Google findet knapp 290.000 Seiten dazu –, doch alle scheinen eine Definition vorauszusetzen – die ich leider nicht finde. Und das, wo es mir doch so wichtig geworden ist als eines der anzustrebenden Ziele in der ...
kritisch-gesehen vorgehen-bei-der-entwicklung
19.11.2013 | 83 0
5

Keine Veränderung ohne echten Stakeholder

Das größte Problem von Unternehmen heute scheint mir ein Mangel an Stakeholdern. An echten Stakeholdern. Denn ohne echte Stakeholder bleiben Veränderungen stecken. Für mich ist ein Stakeholder zunächst einmal jemand, der etwas haben will. So sieht Wikipedia das auch - nur viel ausführlicher. Sie werden jetzt denken, “Daran mangelt es doch aber gar nicht. Alle möglichen ...
kritisch-gesehen
04.11.2013 | 73 0
7

Mitmachen: Flow-Designs gesucht

Für Programmieraufgaben gibt es ja nicht nur eine Lösung. Aber wie bunt die Lösungswelt ist, ist andererseits auch nicht ganz klar. Deshalb würde ich mich freuen, wenn Sie mitmachen würden bei der Sammlung von Lösungen. Zu einem kleinen Programmierproblem möchte ich Lösungen in Form einer kleinen Bilderausstellung veröffentlichen. Dann können wir darüber diskutieren. ...
coding-dojo flow-design
01.11.2013 | 89 0
11

Knapp daneben macht auch nicht zufrieden

Software macht dem Kunden Spaß, wenn seine Anforderungen erfüllt werden. Dafür ist er bereit, Geld auszugeben. Und was sind seine Anforderungen? Für mich gibt es drei Säulen, auf denen zufriedenstellende Software ruht: Funktionalität Primäre Qualität Investitionssicherheit Dass Software funktional ihren Dienst erfüllen muss, um zufrieden zu stellen, liegt auf der ...
kritisch-gesehen
28.10.2013 | 99 0
8

Wann tut Veränderung Not?

Als Berater und Trainer für Softwareprojekte stelle ich mir immer wieder die Frage, wann eine Organisation eigentlich Hilfe benötigt? Wann sollte sie sich verändern? Mit meiner Hilfe oder auch einfach durch Eigenleistung. Ich komme gern in jedes Projekt und gebe einen Impuls oder begleite eine Veränderung des Produktionsprozesses oder der Architektur. Das macht mir Spaß, ...
kritisch-gesehen
21.10.2013 | 123 0
8

Bye, bye, function. Hello, transformer!

Funktionen sollten nicht länger die kleinsten Bausteine unseres Codes sein. Sie vermengen nämlich zwei Aspekte: Kontrollfluss und Datenfluss. Wenn eine Funktion die Kontrolle aufgibt, dann fließen Daten aus ihr heraus. Sie kann danach die Kontrolle nicht zurückbekommen. Erst ein erneuter Aufruf überträgt Kontrolle wieder an sie. Wenn Daten aus einer Funktion fließen ...
flow-design
24.09.2013 | 105 0
8

Nie mehr ohne – Das Kondom fürs iPhone

Einer der letzten Smartphone-freien Orte war bisher die Dusche. Das ist nun vorbei. Denn jetzt gibt es das Kondom fürs iPhone von Avery. Ich habe es von einer wohlmeinenden Freundin geschenkt bekommen; leider finde ich es nun nicht als Produkt im Internet. Nichtsdestotrotz funktioniert es! Heute habe ich das erste Mal mit Musik geduscht. Der Überzieher hält dicht. Soweit die ...
.net agile csharp lean softwarearchitektur
22.09.2013 | 104 0
11

Kinderleicht eine Programmiersprache lernen – Das Nostalgie-eBook

Ich hatte das Buch echt vergessen, das ich 1985 geschrieben hatte. Jetzt ist es mir beim Ausmisten meiner Regale in die Hand gefallen. 220 Manuskriptseiten ausgedruckt auf einem Nadeldrucker. Wahnsinn! Damals war ich noch beseelt vom Informatikunterricht in der Schule, den ich zwei Jahre zuvor mit dem Abi hinter mir gelassen hatte. Und seitdem war ich mächtig auf einem Apple II ...
zum-lesen-empfohlen
22.08.2013 | 110 0
6

Vom Nutzen und Nachteil (technischer) Schulden

Gerade habe ich einen Beitrag von Norbert Eder zum Thema “Technische Schulden” (technical debt) gelesen. Er fragt, wer denn schuld sei an den Schulden. Sich darüber Gedanken zu machen, finde ich nicht falsch. Aber wie bei anderen Artikeln zum Thema erscheint mir die Darstellung leider einseitig. Vielleicht entspricht das der aktuellen Stimmung im Land, die vieles was mit ...
clean-code-developer kritisch-gesehen
14.08.2013 | 110 0
13

30 day challenge – Dem Neuen eine Chance

Lohnt sich eine Veränderung? Funktioniert ein Ansatz wirklich? Das können wir oft nicht durch bloßes Nachdenken herausfinden. Attraktivität und Plausibilität sind nett, gar notwendig - aber hinreichend sind sie nicht, damit wir Aufwand für etwas Neues treiben. Deshalb bleibt so manches eine interessante Idee und der Rest einfach beim Alten. Das ist schade, oder? Denn damit ...
vorgehen-bei-der-entwicklung
06.08.2013 | 111 0
12

Was ist eine Entität?

Im Zuge meiner Beschäftigung mit CQRS und Event Sourcing habe ich mir wieder die Frage gestellt, was denn eigentlich eine DDD Entität sei? Nun hab ich endlich für mich eine ganz einfache Definition gefunden: Eine Entität ist ein Dictionary mit unwandelbarer Id [1]. Eine Entität ist ein Sammlung von Schlüssel-Wert-Paar als Zeichenfolgen mit unwandelbarer Id [1]. Jup. Das ...
ddd event-sourcing
01.08.2013 | 140 0
5

Was der Softwarekunde will

Wer Software kauft, kauft ein Werkzeug. Das tut er, weil er die Effizienz des Anwenders steigern will. Alles, was Software tut, kann auch ohne Software getan werden. Wir brauchen Software also nicht für ihre funktionalen Eigenschaften. Stoffe wurden ohne Software gewoben, Logarithmen wurden ohne Software berechnet, Auktionen ohne Software durchgeführt, Rechnungen ohne ...
.net agile csharp lean softwarearchitektur
30.07.2013 | 119 0
12345...6