| 

.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 clean-code-developer coding-dojo csharp einfacher-programmieren english-postings event-based-components flow-design gastbeitrag gesetze-der-softwareentwicklung kritisch-gesehen lean produktivitaet publikationen samples software-als-system softwarearchitektur softwareentwurf softwarephilosophie testen theory-of-constraints tools video vorgehen-bei-der-entwicklung
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

10

Gewinnen durch Vorläufigkeit

Warum soll im Business eigentlich immer alles perfekt sein? Oder, nein, nicht perfekt, aber "effizient". Ein Beispiel dafür ist mir gerade im Rahmen eines Hobbyprojekts untergekommen: der hey! publishing Verlag. Eine befreundete Autorin hat dort einen Roman veröffentlicht, "Die Martinis": Der ist als eBook erschienen. Und das war s. Weiter ist nichts geschehen (Stand ...
kritisch-gesehen
14.05.2013 | 26 0
6

Mehr verdienen durch Experiment

Könnten Sie oder die Firma, für die Sie arbeiten, mehr verdienen? Ja? Wunderbar, dann los! Nein? Warum nicht? Woher weiß man das? Auf diese Frage bin ich neulich bei einem Aufenthalt im Marriott Hotel in Zürich gestoßen. Dort fand ich nämlich dieses Angebot vor: Zum Verkauf auf dem Zimmer standen solche 1 Liter Flaschen Wasser für 8,00 CHF (ca. 6,50 EUR) das Stück. Ein stolzer ...
kritisch-gesehen
07.05.2013 | 31 0
7

Software fraktal - Funktionale Abhängigkeit entschärfen

Wir kommen nicht wirklich raus aus der funktionalen Abhängigkeit. Was aber können wir dann gegen ihre Probleme tun? Neulich habe ich gezeigt, wie Sie funktionale Abhängigkeiten auflösen. Dabei bleibe ich auch. Funktionseinheiten - Methode oder Klasse - sollten für ihre Spezifikationen selbst verantwortlich sein. Soweit möglich. Doch damit wird das Problem der ...
clean-code-developer flow-design vorgehen-bei-der-entwicklung
28.04.2013 | 31 0
7

Selbstorganisation persönlich definiert

Was hat Agilität mit Selbstorganisation zu tun? Diese Frage stellte sich gerade in einem kleinen Twittergespräch mit Michel Löhr aka @1ohr. Mein Standpunkt: Agilität und Selbstorganisation sind orthogonal. Selbstorganisation hat etwas mit der Führung einer Organisation zu tun. Agilität hat etwas mit Art der Herstellung von etwas zu tun. Agil ist die Herstellung für mich, ...
.net agile csharp lean softwarearchitektur
25.04.2013 | 42 0
8

Raus aus der funktionalen Abhängigkeit

Wenn funktionale Abhängigkeiten so problematisch sind, wie können wir sie denn vermeiden? Ich denke, die Antwort ist ganz einfach: Wir sollten einfach keine funktionalen Abhängigkeiten mehr eingehen. Funktion c() wie Client sollte sich nicht mehr an eine Funktion s() wie Service binden. Denn wenn sie das tut, wenn sie nicht mehr delegiert, dann kann sie sich endlich ...
clean-code-developer flow-design
24.04.2013 | 62 0
8

Warnung vor der funktionalen Abhängigkeit

Immer noch bin ich dem Gefühl auf der Spur, warum funktionale Abhängigkeiten "böse" sind. Sie sind so natürlich, so naheliegend - und doch beschleicht mich immer wieder Unwohlsein. Ich versuche schon lange, sie zu vermeiden. Deshalb betreibe ich Flow-Design. Doch einem Gefühl allein will ich mich da eigentlich nicht hingeben. Es mag als Auslöser für eine Veränderung alter ...
clean-code-developer kritisch-gesehen
21.04.2013 | 36 0
8

Clean Code Development anders lernen

Ich hatte einen Traum. Den erfülle ich mir nun. Zusammen mit Stefan Lieser eröffne ich die Clean Code Developer School (CCDS): Mein Traum war schon vor Jahren, Softwareentwicklung entspannter und nachhaltiger für die Teilnehmer zu unterrichten. Zunächst hatten Stefan und ich das mit den CCD Camps versucht, deren Trainings bis zu 14 Tage gedauert haben. Da hat uns dann aber ...
ausbildung clean-code-developer
03.04.2013 | 59 0
6

Ab auf die Walz – Software Craftsmanship ernst genommen

Jetzt will ich es endlich tun. Ich will auf die Walz gehen. Schon länger hatte ich mit dem Gedanken gespielt – doch mehr als der prio walk mit Stefan Lieser von München nach Nürnberg ist bisher nicht draus geworden. Nun möchte ich des Rest aber nachholen. Gewandert bin ich genug. Jetzt möchte ich mitmachen. An verschiedenen Stationen möchte ich Teamkulturen kennenlernen, indem ...
clean-code-developer
29.03.2013 | 55 0
5

Entwerfen fürs Schreiben

Gerade merke ich es am eigenen Leibe, wie wichtig Entwurf ist. Nein, Software entwickle ich gerade nicht. Ich schreibe Texte. Aber ich erlaube mir, meine Erfahrungen dort auf die Softwareentwicklung zu übertragen. Dass ich viel schreibe, ist ja nichts Neues. Warum fällt mir das Thema Entwurf dazu gerade jetzt ein? Weil ich anders schreibe als sonst. Normalerweise sind meine ...
vorgehen-bei-der-entwicklung
26.03.2013 | 69 0
9

Softwareentwurf als ökonomische Notwendigkeit

Softwareentwurf ist selbstverständlich kein neues Thema. Früher war Softwareentwurf als der Codierung vorgelagerte Tätigkeit sogar ein zentraler Punkt jeder Informatikerausbildung. Das war dem Mangel an Prozessorkapazität und Speicher geschuldet. Die Turnaround-Zeiten bei der Codierung waren so lang, dass man sich besser gut überlegte, was man schreibt und dann der ...
flow-design kritisch-gesehen theory-of-constraints vorgehen-bei-der-entwicklung
21.03.2013 | 41 0
5

Wider den sprachlichen Plattform Lock-In

One platform to rule them all – so könnte wohl das Motto vieler Softwareunternehmen/-abteilungen lauten. Man ist ein Java-Shop oder eine .NET-Bude oder eine Ruby-Schmiede usw. Hier und da machen einige Entwickler vielleicht einen Ausflug in andere Gefilde, doch das Hauptprodukt wird auf einer Entwicklungsplattform hergestellt. Das ist kein Zufall. Das ist gewollt. Das ...
kritisch-gesehen vorgehen-bei-der-entwicklung
13.03.2013 | 70 0
9

Software als Web of Services

Für mehr Evolvierbarkeit von Software wie Team müssen wir Software grundsätzlich anders aufgebaut denken, glaube ich. Derzeit stehen Objekte im Vordergrund. Das halte ich für eine überholte Sichtweise. Sie entstammt einer Zeit, da Software weniger umfangreich war und nur mit knappen Ressourcen betrieben wurde. Historisch hat alles mit einem bunten Gemisch von ...
architektur
06.03.2013 | 80 0
10

TDD ohne Zauberei und Überraschung

TDD bleibt für mich aktuell, auch wenn es ein alter Hut ist. Das liegt einfach daran, dass TDD landauf, landab nicht das liefert, was es verspricht. Wenn gewöhnliche Entwickler nur nach monatelangem Studium in Klausur die TDD-Weihen empfangen können, dann liegt etwas im Argen. In der dotnetpro stelle ich daher meine Gedanken zu einer Version 2.0 von TDD vor (Ausgaben 3/2013 und ...
kritisch-gesehen testen vorgehen-bei-der-entwicklung
24.02.2013 | 84 0
8

Vorzeitige Optimierung durch Monolithen

Softwareentwicklung ist historisch ein Geschäft der knappen Ressourcen. Speicher war knapp, Speicher war langsam, die Prozessorgeschwindigkeit war gering, die Prozessorverfügbarkeit war niedrig und die Kommunikation zwischen Prozessoren/Maschinen war unmöglich bis schwierig. Ich glaube, diese jahrzehntelange Not ist zum Bestandteil der Kultur der ...
architektur
21.02.2013 | 50 0
13

Bessere Prozesse für den Rest von uns

Die “Gurus” können es. Die können ihr TDD, OOP, XP, Scrum usw. Aber was ist mit dem Rest der Entwicklergemeinde? In den meisten Teams gibt es auch einen, der es kann. Einen der ansagt. Aber was ist, wenn der mal ausfällt? Was ist mit dem Rest des Teams. Mein Eindruck ist, wir verlassen uns noch zu sehr auf “Gurus”, “Meister” und “starke Persönlichkeiten”. Die bestimmen unsere Arbeit. ...
kritisch-gesehen
19.02.2013 | 59 0
11

Experiment Selbstverlag - Mein erstes Kindle-Buch

Mein neues Buch ist endlich erschienen: Systematisch produktiver und zufriedener Pragmatische Schritte raus aus der Überlastung am Arbeitsplatz Als Kindle-Buch bei amazon. Hurra, geschafft, endlich, nach ein paar Anläufen. Vor Jahren hatte ich ja schon einige Bücher geschrieben, Bücher auf Papier, pBooks. Da gab es allenfalls zaghafte Versuche, die auch mal in PDF ...
publikationen
14.02.2013 | 66 0
12

Wenn Agilität abhebt

Ich bin ja ein großer Freund von agilem und schlankem Vorgehen in der Softwareentwicklung. Aber derzeit scheint mir die Agilität ein bisschen unbescheiden. Sie hebt immer mal wieder ab. So auch in diesem Artikel von Henrik Kniberg (meine Hervorhebung): Was soll das denn? Vor 2000 wussten Softwareunternehmen nicht, wie man Software ausliefert? Ja, ist das so gewesen? Und vor ...
kritisch-gesehen
12.02.2013 | 76 0
4

Performance vom Schwanz her aufzäumen

Wer ist es eigentlich, der höhere Performance fordert? Der Kunde, ist doch klar. Den meine ich aber nicht. Mir geht es um etwas Grundlegenderes. Wenn wir über Performance reden, dann haben wir ein Delta im Hinterkopf, eine Dauer zwischen zwei Ereignissen. Es geht um ein auslösendes Ereignis, an dem Input hängt, und ein abschließendes Ereignis, an dem Output hängt. Das kann die ...
kritisch-gesehen
07.02.2013 | 141 0
7

Softwareentwurf in der hohlen Hand

Gerade komme ich wieder von drei Trainingstagen zum Thema agiler Softwareentwurf. Ein inhouse Training für ehemalige C bzw. C Entwickler, die sich noch an .NET gewöhnen müssen. Aber es hat vielleicht gerade deshalb besonders Spaß gemacht, weil sie noch nicht so “objektorientiert verdorben” sind. Ihnen steckt vor allem die C-Praxis in den Knochen, die sie anscheinend offen ...
flow-design
01.02.2013 | 110 0
6

Softwareentwurf als Video – Ein Experiment

Wie entwirft man Software? Wie kann man über Softwarestrukturen nachdenken und reden, ohne am Code zu kleben? Dazu entwickeln Stefan Lieser und ich als die Clean Code Advisors seit Jahren einen Ansatz unter wechselndem Namen: alles begann mit Softwarezellen, dann kamen Feature Streams dazu, die haben Event-Based Components auf den Kopf gestellt und im Augenblick steht im ...
video vorgehen-bei-der-entwicklung
26.01.2013 | 86 0
3

Objektorientierung an der Quelle

Was viele Entwickler so jeden Tag betreiben, soll ja Objektorientierung sein. Java, C#, C und einige Sprachen mehr firmieren als objektorientiert. Sogar F# sucht den Anschluss als hybride Sprache. Und wenn es dann in diesen Sprachen Klassen gibt, aus denen zur Laufzeit Objekte gemacht werden, dann ist das doch auch richtig – oder? Natürlich kann jeder unter ...
kritisch-gesehen
07.01.2013 | 130 0
13

Beispielhafte Nichtbeachtung

Wie könnte eine Anwendung aussehen, die dem Prinzip der gegenseitigen Nichtbeachtung folgt? Ich versuche das mal anhand eines simplen Szenarios im Kontrast zu einer mehrschichtigen Anwendung darzustellen. Das Beispielszenario Eine Anwendung soll den Index aller Worte in Dokumenten aufbauen. Die Dokumente sind Textdateien (Endung auf .txt) unterhalb eines ...
architektur flow-design
03.01.2013 | 128 0
11

Prinzip der gegenseitigen Nichtbeachtung

Mehrschichtigkeit ist immer noch tief in den Köpfen verankert. Und wenn nicht in den Köpfen, dann im Code. Übel daran ist nicht nur, dass Mehrschichtigkeit viele Fragen weder beantwortet noch stellt, sondern dass damit Abhängigkeiten geschaffen werden. Code der einen Schicht hängt irgendwie von Code der anderen ab. Die eine Schicht braucht die andere. Aber welche Schicht ...
.net agile csharp lean softwarearchitektur
31.12.2012 | 135 0
5

Der Feind des Besseren ist der heutige Erfolg

Eigentlich soll ja alles immer besser werden, oder? Die Prozessoren der nächsten Jahre sollen auf die eine oder andere Weise besser sein als die heutigen – so wie die heutigen besser sind als die der 1990er und die wiederum besser als die der 1980er usw. Auch unsere Autos sollen immer besser werden – so wie sie seit mehr 125 Jahren immer besser geworden sind. Das selbe gilt für ...
kritisch-gesehen
28.12.2012 | 103 0
10

Verteilte Weihnacht mit der Flow Runtime

Für die Freunde des Flow-Design s hier zu Weihnachten eine kleine Überraschung: Flows verteilen mit der Flow Runtime einfach gemacht. Als Beispiel soll Bestellung und "Aufbau eines Weihnachtsbaums dienen. Wer kennt das nicht: Vor lauter Weihnachtsfeier- und Jahresendprojektstress wird der Kauf eines Weihnachtsbaums bis zum letzten Tag verschoben. Und dann muss man ...
flow-design
21.12.2012 | 135 0