The Problem With Quick and Dirty

The last couple of weeks have been pretty busy. Privately our little daughter is rightfully consuming a lot of time and also we have been in the final phase of planning our big garden project which now will commence in May. For work, I’ve been traveling a fair bit being in the US now the second time in a month and on top of that was in Prague last week. Besides that, we are entering a time of change, which is good, but also intense.

I want to keep my schedule with posting something every Monday 6pm and really today I only will manage it with a cheat. I definitely missed German time 6pm, but I can still make Seattle time 6pm!

Recently on Twitter, I found this quote:

“The problem with quick and dirty is that the dirty remains long after the quick has been forgotten” – Steve C. McConnell

Steve McConnell is the author of Code Complete which you can order on Amazon (affiliate link)

It is a book full of wisdom for programmers and one of those books that I like to have a hard copy of. Its content remains true for a very long time.

Back to the quote: „Quick and Dirty“ is so appealing when you are acting under constant time pressure. Everybody seems to be happy at first. The developer can move on to the next task and the product owner gets the feature, extension, bug fix or what-so-ever quickly.

The problem is that just after delivering the item the next urgent thing is lurking around the corner and the quick win is soon to be forgotten. What remains, however, is the hack. Worst case it will cause a bug in future because of unconsidered use-cases or untested side-effects. Best case it will make your system less maintainable, less performant, less readable, less extensible, … the list could go on.

The collection of hacks that your system is built on over time when you have delivered too often „quick and dirty“ is going to make it harder and harder to maintain and extend the application. It will become more error-prone and you will deliver slower and slower until you eventually will have to go into a painful and resource consuming rewrite of large parts of your application.

Don’t be tempted by quick and dirty. Try to do things right and you will be faster in the long run. Constant investment into the architectural health of your system will pay off.

Advertisements

Photo Friday – March 23rd 2018

Bild

I decided to post one of my photos every Friday 6pm GMT+1. I hope you like what I’m sharing!

IMG_8128

The picture was taken not too far away from my house. I saw a nice group of trees during a short hike through the local forest. I pointed the camera straight up and then merely converted to black/white in Lightroom.

Canon 5D Mark III – Canon 16-35mm F/4 L

F/11 – 1/250sec – ISO 100

Einfach mal ausprobieren: Das Canon 16-35mm F/4 L via Zoomyrentals

Für unseren Urlaub auf Borkum habe ich mir das Canon 16-35mm F/4 IS USM bei Zoomyrentals ausgeliehen.

Reserviert habe ich das Objektiv ca. 4 Wochen vor unserem Urlaub.  Geliefert wurde pünktlich zu Mietbeginn per DHL Express. Das Paket wird auch wieder vom selben Dienst abgeholt. Eingepackt war alles in einem schaumstoffbestückten Karton.

Im Lieferumgfang enthalten ist das Objektiv an sich,  ein Walimex UV-Filter, die passende Gegenlichtblende und der orignal Canon Packbeutel. Der UV-Filter war leider nicht nutzbar, da total zerkratzt. Betätigt man den Zoom-Ring hört man reibende Geräusche aus dem Inneren des Objektivs bei dem es einem eiskalt den Rücken runterläuft. Die Funktion des Objektivs wurde dadruch glücklicherweise nicht eingeschränkt wie sich später gezeigt hat.

Foto 16.03.18, 15 59 18

Insgesamt stimmen Preis / Leistung bei Zoomyrentals. Das Objektiv kostet für 10 Tage lediglich gut 100€. Das ist günstiger als bei vielen anderen Anbietern und lässt mich über einen zerkratzten Filter und das reibende Geräusch bei Betätigung des Zoom-Rings hinwegsehen. Wenn ich mit Fotografie mein Geld verdienen würde, wüsste ich allerdings nicht, ob ich nochmal bei Zoomyrentals leihen würde. Für den Privat-Gebrauch ist der Service vollkommen ausreichend.

Das Objektiv an sich ist der Knaller. Knackig Scharf, schönes Boket, gewohnt gute Canon L-Qualität. Wens interessiert kann sich die ausführliche Review von Traumflieger durchlesen. Von Canon gibt es noch ein zweites 16-35mm L-Objektiv mit F/2.8er Blende. Ich habe mich für das F/4er entschieden, weil es den gleichen Filterdurchmesser (77mm) wie mein Standardzoom hat (Canon 24-105mm F/4 L) und weil ich nicht vor hatte den Sternenhimmel oder Indoor zu fotografieren. In beiden Fällen wäre die offenere Blende hilfreich gewesen, aber für ganz normale Landschaften ist das F/4er die bessere Wahl. Es ist zudem auch leichter und kleiner und somit einfacher zu transportieren.

Wir sind die Herren unserer eigenen Zukunft

Ende Februar habe ich den folgenden Artikel auf Spiegel.de gelesen: Firma bietet Flüge an, ohne Abzuheben

firstairlines-spiegel

Zusammenfassend geht es darum, dass eine Japanische Firma Personen mit wenig Zeit und / oder wenig Geld einen Städtetrip innerhalb von zwei Stunden für 50$ anbietet. D.h. es wird ein Hin- und Rückflug simuliert und dazwischen eine virtuelle 360°-Stadtführung angeboten.

Nichts daran ist irgendwie schlimm. Das Angebot erscheint lediglich etwas skuriel und ist ansonsten wohl vollkommen harmlos. Ich konnte mich allerdings nicht dagegen wehren an Filme wie Bladerunner und Total Recall zu denken in denen durch den Einsatz von Gentechnolgie, Gedankenmanipulation, Virtuelle Realität, Identitätsfälschung, Bionik, etc.  eher düstere Zukunftsvisionen gezeichnet werden.

blade-runner

Während in den 80er Jahren viele dieser Technologien und Denkansätze sehr futuristisch wirkten, hat sich das meiner Meinung nach mittlerweile sehr geändert. Vieles ist ansatzweise machbar. Noch mehr ist denkbar.

Der Fortschritt der Technik wird sich nicht verhindern lassen. Vielleicht wird er durch Krisen verlangsamt, kaum aber wird er aufgehalten. Krisen könnten so machen Fortschritt gar beschleunigen.

Wenn sich der Fortschritt also nicht aufhalten lässt, was trennt uns von einer düsteren, post-apokalyptischen Zukunft? Wir. Der Mensch. Unser Umgang mit Technologien jeglicher Art wird unsere Zukunft bestimmen. Werden wir es lernen verantwortungsvoll mit der Macht umgehen die wir besitzen oder werden wir weiter versuchen Gott zu spielen und zwangsläufig damit scheitern?

 

The MVP approach sucks – sometimes.

Defining an MVP is a great approach to deliver value quickly to your customers and also to get good feedback on functionality very early in the development process so that you can base future decisions on that feedback.

Let’s start with a definition. What is an MVP? Here is the definition from Wikipedia:

A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development.

And another definition from the book The Lean Startup:

Version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.

To me the two key goals of a Minimum Viable Product are

  • be quick to market
  • get early feedback for future iterations

So why does the title of this blog say that MVPs suck sometimes? It’s when we deploy an MVP into production and then never listen to the feedback and never invest in future iterations.

In that case, the only value we will get out of an MVP is being quick to market. And of course that in itself is a value but you are risking to get unhappy customers because sure enough by delivering an MVP you are setting the expectation that feedback will be evaluated and eventually the piece of functionality will evolve into something fully featured.

Many of you probably know this picture comparing an MVP to a classic iterative approach.

mvp

I fully agree with the second row of the picture, but the important piece here is that the product evolves over time from a skateboard (something minimal to get from A to B) to a car (something pretty efficient and comfortable to get from A to B)! If you keep the skateboard for years without improving it you will end up with unhappy and frustrated customers.

Also, …. the agile teams who worked on the MVP will be disappointed that they cannot iterate on the product. It feels like an unfinished job. You might think that this is unimportant detail, but the contrary is true. It directly impacts the motivation and the engagement of the team. More about that topic in my post about what employees really motivates.

Of course, sometimes it is just fine to stop after the MVP is delivered.

  • You might decide that the skateboard is just fine and customers are actually happy with the MVP for long-term… in that case: awesome; job done!
  • You might learn that no customer actually wanted the skateboard and you retire it. Stop selling it. That is also a perfectly legit approach.

Getting feedback from the market and not iterating on it because you are already asking teams to work on the next top priority is what will hunt you down at some point future and has a negative impact on team morale.

So what’s the alternative? I think there are two, but really there is only one. And also…  maybe there are some that did not come to my mind …

  1. Stop defining MVPs, deliver a fully featured product (how again do I know  what fully featured means??!)
  2. Start focusing and embrace the MVP approach.

In my opinion, only #2 is the only long-term sustainable way to go. Everybody involved in the process of delivering software to customers should push for this. It is not easy because there are always so many important things that one could work on, but it will pay off over time because it allows for focus and the customer feels heard.

I’d love to hear your opinion on the topic!

Geld sparen für Kinder – Was tun?

Seit August letzten Jahres sind wir eine kleine Familie. Zur Geburt unserer Tochter gab es viele Geschenke unter anderem von den nächsten Verwanden auch Geldgeschenke. Es stellte sich also recht schnell die Frage wohin mit dem Geld. Bei den aktuellen Sparzinsen keine leichte Frage.

Der erste Gedanke war ein Sparbuch bei der lokalen Sparkasse. Wir konnten uns beide noch an das gute alte Sparbuch aus unserer Kindheit erinnern. Für ein Sparbuch gibt es aber aktuel (Februar 2018) genau 0,01% Zinsen.

Ein wenig googlen führte mich auf Sparkonto.org. Eine ebenso informative wie ernüchternde Seite: Bei Sparkonten für Kinder gibt es genauso wenig Zinsen wir bei uns Erwachsenen. Möchte man eine etwas höhere Rendite gibt es verschiedene Aktien-, Fond- und ETF-Sparmöglichkeiten. Das alles ist natürlich wenig überraschend aber ich hatte die Hoffnung, dass es für den Nachwuchs, bei kleinen Einlagen, vielleicht die ein oder andere Attraktive Anlagemöglichkeit gibt.

Auf ein weiteres, wie auch immer geartetes, Aktiendepot hatten wir schlicht keine Lust. Also haben wir uns zunächst dazu entschieden einfach garnichts zu machen und das Geld lediglich „virtuel“ in einer Excel-Tabelle zu verwalten. So lange sich hier keine hohen Summen ansammeln war das für uns die einfachste Möglichkeit.

Nachdem wir einige Wochen mit diesem Model unterwegs waren hat sich meine Freundin, komplett unabhängig von den obigen Gedanken, beim HiPP Babyclub angemeldet. Man bekommt dann Produktproben (Brei, etc.) und Gutscheine. Anmeldung und Mitgliedschaft kosten nichts. Man kann also nichts verlieren. Der ersten Post von HiPP lag ein Info-Flyer des Commerzbank HiPP Babysparbuches bei. Zur Zeit gibt es dort 0,55% p.a. Zinsen und ein 20€ Startguthaben. Die Konditionen zur Verfügbarkeit des Geldes, Einlagensicherheit, Kündigungsfristen etc sind unserer Ansicht nach auch gut.

Wir werden die ersten Ersparnisse unserer Kleinen wohl zunächst mal bei der Commerzbank verwalten. Für welche Sparmöglichkeit habt ihr euch entschieden?

Deutsch oder English als Blog-Sprache?

See for English language below….

Deutsch

Dem wiederkehrenden Besucher wird auffallen, dass manche Artikel in Englisch, andere wiederum auf Deutsch veröffentlicht werden.

Warum?

Der Hauptgrund ist meine eigene Faulheit die Optimierung meiner eigenen Zeit. Ich schreibe in der Sprache, in der ich am besten über das gegebene Thema schreiben kann. Für Themen die sich auf irgendeine Weise auf meinen Beruf beziehen, fällt es mir leichter auf Englisch zu schreiben, da das die Sprache ich die ich beruflich zu 95% einsetze. Artikel über Hobbies fallen mir leichter auf Deutsch. Darüber hinaus ergibt es auch wenig Sinn über z.B. MyPoster.de auf Englisch zu schreiben.

Wird sich das unter Umständen ändern? Vielleicht… „Nothing is as constant as change“. Das aktuelle Ziel ist zunächst einmal jede Woche einen Artikel zu veröffentlichen und ein paar Besucher zu bekommen.

Vielen Dank fürs Lesen!

English

The returning visitor might have noticed that some articles are published in English and some are published in German.

Why?

The main reason is my laziness my attempt to optimize my own time. I always write in the language in which I can express myself the best on a given topic. On topics that are somehow related to my job I’ll always use English as that is the language that I use 95% in my day to day job. Posts about my hobbies are easier for me to write in German. Furthermore it doesn’t make a lot of sense to write an article about MyPoster.de in English.

Will this change eventually? Maybe… „Nothing is as constant as change“. The current goal is to publish a post per week and to get actually some visitors.

So thanks for reading this!