| 

.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

11

Konsequente Verlässlichkeit - Promise Like a Pro

Die grundlegenden Kompetenzen, die jeder Softwareentwickler haben sollte sind nach Joel Spolsky: Smart, and Get things done. Dem kann ich nur zustimmen. Und nicht nur für Softwareentwickler gilt dies, würde ich sagen. Es sind die Voraussetzungen für jeden “Wissensarbeiter”, egal ob Programmierer, Tester, Product Owner, Softwarearchitekt, Entwicklungsleiter usw. Wie ...
kritisch-gesehen vorgehen-bei-der-entwicklung
13.04.2015 | 36 0
12

Die IODA Architektur

Über die Jahre haben einige grundlegende Architektmodelle um unsere Gunst gekämpft. Mir fallen ein in chronologischer Reihenfolge ein: MVC (Ja, das rechne ich zu Architekturmodellen, weil es Leute gibt die sagen, "Unsere Software hat eine MVC-Architektur.) das Schichtenmodell Pat Hellands Executants, Emissaries und Fiefdoms Alistair Cockburnss Hexagonal ...
.net agile csharp lean softwarearchitektur
11.04.2015 | 47 0
11

Die Selbstlern-Challenge - Retrospektive

Zehn Wochen sind wie im Flug vergangen, seit ich zur Teilnahme an einer Selbstlern-Challenge eingeladen hatte. Das Angebot Die Herausforderung war, sich selbstständig über einen Zeitraum von 10 Wochen in das Thema Flow Design & Co einzuarbeiten. Einzige Bedingung: Als Dokumentation des Dranbleibens am Thema sollte mir jede Woche eine Frage per Email geschickt werden - die ...
ausbildung
10.04.2015 | 36 0
7

Entwickeln im Uhrzeigersinn

Was ist der Unterschied zwischen Software Craftsman und Software Engineer? Darüber kann man natürlich lang und trefflich debattieren. Doch mit den von mir vorgestellten Arbeitsweisen, ist die Unterscheidung einfach und augenfällig, glaube ich. Wie beschrieben, arbeiten wir als Softwareentwickler sowohl als Handwerker (H) wie als Ingenieure (I) und auch als Forscher ...
.net agile csharp lean softwarearchitektur
06.04.2015 | 30 0
6

Unschätzbare Arbeitsweisen

Wer über das Thema Schätzen reden will, muss zunächst eine klare Vorstellung davon haben, was denn da eigentlich geschätzt werden soll. Das ist interessanterweise aber nicht der Fall. Viel wird über Anforderungen gesprochen. Aber wenig über die Arbeit, die die Anforderungen in lauffähigen Code transformieren soll. Das scheint nicht nötig, weil es doch sonnenklar ist: das ...
kritisch-gesehen vorgehen-bei-der-entwicklung
04.04.2015 | 38 0
12

Co-location als kontraproduktiv erachtet

Wo ein Entwicklungsteam noch an einem Ort sitzt, sollte es verteilt werden. Entwicklungsteams, die gebildet werden sollen, fangen am besten gar nicht erst an, sich an einem Ort zu versammeln. Verteilte Teams sollten der Default sein. Die Sonne lacht in Hamburg, ein frischer Wind weht an der Alster. Ein guter Tag, um sich unbeliebt zu machen :-) Deshalb diese Vorschläge. ...
kritisch-gesehen vorgehen-bei-der-entwicklung
08.02.2015 | 54 0
9

Bessere Resultate ohne Abhängigkeit

Wie arbeiten Sie am liebsten, wenn Sie etwas schaffen wollen oder müssen? Was fördert Ihre Konzentration? Die Menschen sind ja verschieden. Der eine möchte Ruhe haben, die andere Musik hören, der nächste ein Räucherstäbchen anzünden… Fenster auf, Fenster zu, mehr Licht, weniger Licht… Man kann es kaum allen recht machen, oder? Eine Konstante gibt es jedoch hinter all dieser ...
kritisch-gesehen
05.02.2015 | 52 0
8

Die Selbstlern-Challenge - Mitmachen und gewinnen!

... Ingesamt jedenfalls. Die bin ich bereit, als “Preisgeld” auszusetzen für diejenigen, die erfolgreich mitmachen. Die Herausforderung Ich suche 10 Freiwillige, die bereit sind, 10 Wochen lang sich im Selbststudium mit Flow Design auseinanderzusetzen. Das habe ich in einigen Büchern und vielen Blog-Artikeln ausführlich beschrieben. Dazu gehören Themen wie: Radikale
ausbildung clean-code-developer flow-design
27.01.2015 | 56 0
8

Die Nachwuchskatastrophe - 0% der Mädchen wollen in die Softwareentwicklung

Der Nachwuchs für die Softwareentwicklung ist männlich. Zu 100%. So scheint es derzeit nach einer Umfrage des Allensbach-Instituts. 0% der befragten Mädchen zeigte Interesse daran, einen Beruf im “Computer, IT-Bereich” zu wählen. Das betrifft auch die Softwareentwicklung. Das ist eine Katastrophe! Gründe zur Sorge Warum ist das eine Katastrophe? Ich sehe da mindestens ...
.net agile csharp lean softwarearchitektur
29.11.2014 | 89 0
9

Praktische Führung

Es wird ja viel über Führung und Management geschrieben. Die einen sind dafür, die anderen dagegen. Aber was ist eigentlich die Aufgabe von Führungspersonen? Eine sehr gute Erklärung liefert aus meiner Sicht Reinhard K. Sprengers Buch “Radikal führen”. Danach hat Führung fünf Kernaufgaben: Zusammenarbeit organisieren - Klar, das ist der Ausgangspunkt. Verschiedene ...
produktivitaet theory-of-constraints
23.11.2014 | 69 0
5

Hacker-Tool für Gedanken

Wie soll ich wissen, was ich denke, solange ich es nicht aufgeschrieben habe? So geht es mir oft. Deshalb schreibe ich Blog-Postings und Zeitschriftenartikel und auch Bücher. Das Schreiben hilft mir beim Denken. Aber welches Werkzeug benutzen für das Schreiben? Für den Zeitschriftenartikel ist MS Word der Standard. Aber muss das so sein? Wie könnten Redaktion und Autor ...
produktivitaet
21.11.2014 | 68 0
8

Wunderlist für Personal Kanban

Ein Tool ist kein Selbstzweck, sondern soll dienlich sein. Das trifft auf Software zu wie auf Methoden. Um meine Arbeit zu organisieren, wenn es mal wieder etwas mehr wird, habe ich vor einiger Zeit Personal Kanban eingeführt. Naja, “einführen” kann man da nicht viel ;-) Ich habe also angefangen, nicht nur eine Aufgabenliste zu führen, sondern die Aufgaben über ein Brett zu ...
produktivitaet tools
14.11.2014 | 109 0
8

Die vielen Gesichter des Product Ownership

Wie sollte, wie kann Product Ownership aussehen? Stefan Rook hat dazu einen Vortrag gehalten: Product Ownership hat also viele Gesichter. Diese Botschaft hat mir an dem Vortrag gefallen. Mir hat allerdings auch etwas gefehlt. Nämlich die Abstraktion. Was ist das Muster? Worum geht es im Kern? Mag sein, dass das schon allen klar ist. Meine Erfahrung ist jedoch, dass die meisten ...
theory-of-constraints vorgehen-bei-der-entwicklung
11.11.2014 | 72 0
11

Regelmäßiges Lernen - Meine Retrospektive

Ende Juni 2014 hatte ich versprochen, ich würde nun auch noch expliziter das Lernen in meine Arbeitszeit einbauen. Zwar besteht mein Job als Berater, Trainer, Autor zu einem großen Teil ohnehin aus Lernen, doch das hat eine andere Qualität als das, was ich meinen Seminarteilnehmern und Kunden nahelege. Mein Job ist Lernen, deren Job ist es nicht.1 Wenn ich Softwareentwickler ...
ausbildung ccd-school
03.10.2014 | 80 0
7

Responsibilities zählen

Das Single Responsibility Principle (SRP) ist eine Säule sauberer Softwareentwicklung für hohe Wandelbarkeit. Nicht umsonst macht es auch den Anfang bei den SOLID Prinzipien, würde ich sagen. Aber: Wie finden Sie denn heraus, wieviele Responsibilities (Verantwortlichkeiten) eine Methode oder Klasse hat? "Naja, das sieht man halt", scheint mir ein zu schwammiges ...
clean-code-developer
02.10.2014 | 88 0
11

Von Startup-Krautern lernen

Crowdfunfing ist in. Ich habe auch schon mehrfach gesponsort, gefundet, gespendet. Es ist einfach schön, motivierten Menschen unkompliziert ein bisschen helfen zu können - wenn mich die Idee begeistert. So war es auch bei den Krautreportern. Ihre Vision hat mir in Zeiten des hypebasierten Einheitsjournalismus und der undurchsichtigen Verbindungen zwischen ...
kritisch-gesehen vorgehen-bei-der-entwicklung
28.09.2014 | 65 0
5

Vom Problemtrichter zum Lösungsbaum

Software soll doch einfach nur laufen. Das wünscht sich der Kunde und meint damit, dass sie ein bestimmtes Verhalten zeigen soll. Sie soll gewünschte Funktionalität in bestimmter Qualität bieten, also z.B. rechnen, aber schnell, oder überweisen, aber sicher, oder Videos zeigen, aber für Millionen Benutzer gleichzeitig. Verhalten wird hergestellt durch Logik. So nenne ich ...
vorgehen-bei-der-entwicklung
20.09.2014 | 95 0
10

Konstruktivistische Softwareentwicklung für mehr Wandelbarkeit

Code sei ein Mittel, um die Realität abzubilden. Zumindest scheint mir das ein wesentlicher Antrieb hinter der Objektorientierung zu sein. Mit Objekten sollte es endlich möglich sein, Dinge und Verhältnisse der Welt möglichst 1:1 in Code zu fassen. Das ist eine platonische Sichtweise der Welt. Sie geht davon aus, dass es etwas unabhängig von Code gibt, das irgendwie ist. Und ...
architektur event-sourcing softwarephilosophie
20.08.2014 | 95 0
5

Warnung vor dem Microservice – Versuch einer Definition

Services sind wieder im Trend. Jetzt unter der Bezeichnung Microservice oder kurz: µService. Das empfinde ich grundsätzlich als Fortschritt. Schon vor einer “Moore-Periode” :-) (also 18 Monaten) habe ich das als konsequente Entwicklung beschrieben unter dem Titel “Software als Web of Services”. Und noch weiter zurück, im Jahr 2005, hatte ich mir in einer Artikelserie unter ...
.net agile csharp lean softwarearchitektur
17.08.2014 | 135 0
8

Software systematisch wachsen lassen

Mir gefällt die Metapher von der “wachsenden Software”. Ein schöner bildlicher Gegenentwurf zur Hausbaumetapher. Aber bisher hat mir dabei immer etwas gefehlt. Wie funktioniert denn das mit dem Wachsen genau? Software wächst ja nicht von allein, sondern durch unseren Eingriff von außen. Das Buch “Growing Object-Oriented Software Guided by Tests” (GOOS) hat versucht, ...
architektur vorgehen-bei-der-entwicklung
14.08.2014 | 109 0
7

Zeitmanagement für Softwareentwickler

Warum kommt Clean Code oft gar nicht oder nur mit Mühe im Tagesgeschäft von Entwicklerteams an? Warum fühlen sich Entwickler oft überlastet? Abgesehen von fachlichen Problemen liegt das, so scheint mir, häufig an einer gut gemeinten, aber unsystematischen Arbeitsweise. Selbst wo man schon an Agilität geschnuppert hat, ist das persönliche Zeitmanagement weithin ...
produktivitaet
21.07.2014 | 124 0
9

Erfolgreich in der Unvorhersagbarkeit, oder: Softwareglück ohne Schätzungen

Bahnfahren erinnert mich an Softwareentwicklung: Regelmäßig werden Versprechen nicht eingehalten. Der ICE von Hamburg nach Wien hat schon beim Start 6 Minuten Verspätung. Daraus werden 10 bis Würzburg. Das sind ca. 5% Verzug und hört sich nicht viel an. Nur verpasse ich dadurch meinen Anschlusszug. Ich muss 45 Minuten warten - und komme mit 60 Minuten Verspätung am Ziel an. Der ...
.net agile csharp lean softwarearchitektur
09.07.2014 | 118 0
11

Regelmäßiges Lernen - Mein Commitment

Gute Softwareentwicklung gibt es nicht ohne regelmäßiges Lernen. Technologisch bleibt man sonst immer weiter zurück. Aber auch neue Methoden können sonst nicht wirklich eingeführt werden. TDD, Clean Code, NoSql, Reactive Programming, F# oder was sich sonst noch nützlich auf die Softwareproduktion auswirken könnte, kann man nicht im Kopf anschalten. Dafür braucht es ...
.net agile csharp lean softwarearchitektur
28.06.2014 | 147 0
5

Die wichtigste Rolle in der Softwareentwicklung

Natürlich ist Softwareentwicklung eine Tätigkeit, an der viele beteiligt sind. Alle Rollen sind wichtig. Und doch… ich glaube, es gibt eine Rolle, die ist wichtiger als andere. Sozusagen erste unter gleichen. Das ist die Rolle des Product Owner (PO). Nicht die Programmierer sind die Wichtigsten, nicht die Qualitätssicherer, sondern der PO. Das stürzt hoffentlich niemanden ...
kritisch-gesehen vorgehen-bei-der-entwicklung
09.06.2014 | 128 0
6

Klein ist ökonomisch

Es kommt auf die Größe an – zumindest bei der Wartbarkeit (oder besser: Evolvierbarkeit). Über Helge Nowaks Präsentation bin ich auf diesen Text gestoßen und darüber dann auf einen Video-Vortrag: Viktigste faktorer for a redusere teknisk gjeld - Dag Sjøberg from Smidigkonferansen on Vimeo. Keine Angst, Sie müssen nun nicht Ihr Norwegisch abstauben. Ich denke, interessante ...
architektur
03.06.2014 | 128 0
12345...7