Managest du noch oder führst du schon? – Eine Urlaubsimpression

Im Bregenzerwald habe ich gesehen, was Führung ist. Und was Management ist. Die Erkenntnis, nein, eher die Bestätigung einer Erkenntnis, die ich schon hatte, lag, nein, lief vor mir auf der Straße. Mehrfach war ich während des Urlaubs nämlich Zeuge eines Almabtriebs: Die Kühe werden im Herbst von den Almen, wo sie den Sommer über […]

weiterlesen

Making Productivity Tangible

It’s no small wonder customers, managers of software development, and even developers themselves, I guess, are so focused on code functionality and code efficiency (e.g. performance, scalability, usability, security). Both represent what’s tangible to them. Both are a software’s runtime qualities. They are what’s valuable to users. Functionality and efficiency are what customers are paying […]

weiterlesen

Magically Predictable Software Production

Here’s a story, or a thought experiment, of you like: Imagine you as a Product Owner (PO) find a black box which magically transforms written requirements into high quality executable code. You just need to hook-up the black box to a GitHub repository. Once that’s done, the rest is easy: you feed it requirements as […]

weiterlesen

Two Problem Solving Approaches

Solving a problem can be hard at times. What I’ve found helpful then is to distinguish between two different approaches to tackle the problem. Without distinguishing them I’m prone to use an unsuitable approach and make things harder than they actually are. Here’s a sample problem: Write a bash/console program to convert roman numbers entered […]

weiterlesen

TDD – How It Can Be Done Right

TDD has gone wrong. It was well intentioned and is a great technique, but many developers who are trying it are not experiencing the promised benefits. How come? This question was asked and answered by Ian Cooper in a DevTernity talk in 2017. Watch the video here, if you like. It’s worth pretty much all […]

weiterlesen

Koordinieren ist nicht Führen

Über Führung wird ja dieser Tage viel sinniert. Neulich war ich bei einem Meetup, in dem Liberating Structures geübt werden sollten – und selbst dort war das Übungsthema Führung. Eigentlich ists ja schön, wenn nun darüber so breit diskutiert wird, es gibt vieles bei Führung zu verbessern – doch über eines stolpere ich dabei immer […]

weiterlesen

Dependencies Flow Down Abstractions

Dependencies are the bane of software development. They make code rigid, difficult to understand, and hard to test. If we want to do better we need to deal better with dependencies. Of course quite some efforts have been made in this direction. The SOLID principles are trying to give good advice: Use the Dependency Inversion […]

weiterlesen

When to Turn to Microservices for Help

Microservice architectures seem to be the latest craze. When in doubt, bet your software architecture on microservices. They sure will deliver everything but the kitchen sink. Or maybe think twice? Because microservices like all technologies and paradigms come with a price. And this price is not cheap – especially if you haven’t dealt with distributed […]

weiterlesen

Do You Want to Stay Productive?

What’s the question to which clean code development is the answer? I think it is: Do you want to stay productive? I mean, indefinitely. I mean, being productive in a sustainable way. That means, clean code development is not the answer to questions regarding runtime efficiency like scalability or performance or security or usability. Look […]

weiterlesen

Hütest du noch oder führst du schon?

Die zentralen Aufgaben von Führung aus meiner Sicht habe ich schon früher beschrieben: Abgrenzen Zusammenführen (Kohäsion) Ausrichten (Kohärenz) Führung stellt eine Gemeinschaft her, um einen Zweck zu verfolgen, wo es allein schwer bis unmöglich wäre. Wie viel Führung dafür leisten muss, hängt davon ab, wie schwer es ist, die Menschen zu einer Gemeinschaft zusammen zu […]

weiterlesen