am 30. Oktober 2009
Heute mache ich mir es sehr einfach. Da ich heute Abend nach London fliege (ein wenig angeben muss sein), hab ich einfach einen Artikel genommen, den ich schon vor einer ganzen Weile geschrieben habe, der es aber nie in den Blog geschafft hat. Also ein wenig Rücksicht …
Heute mal wieder ein Schwank aus meiner Jugend. Naja vielleicht nicht ganz so lange her, trotzdem interessant. Es geht um den Umgang mit neuen Features oder Bugfixes. Man steht meistens vor der gleichen Entscheidung, die es zu treffen gilt. Mache ich es Quick and Dirty oder lasse ich mich auf eine schöne Lösung ein, die ich dann einfach pflegen kann. Der zweite Ansatz ist dann wohl Slow and Clean.
Eigentlich ist es ja ganz klar. Slow and Clean sollte es sein. Aber wenn man mit seinem Chef redet, dann fällt die Wahl doch häufig auf die erste schnelle Alternative. Aber was macht Quick and Dirty so interessant? Ganz klar ist wohl ein Pluspunkt, dass es schnell geht. Und dirty … naja wenn man sich an Christinas Aguileras Dirty Video erinnern, dann kann das ja gar nicht so schlecht sein. Obwohl … das schreibt man mit zwei R. Also doch nur einen Pluspunkt, es ist schnell.
Was natürlich am besten wäre, ist eine Lösung zu finden, die gleichzeitig schnell implementiert ist und trotzdem architektonisch einwandfrei ist. Mein Ansatz, mit dem ich in letzter Zeit immer gut gefahren bin ist “Think big, act small”. Wir suchen uns einfach eine Lösung, die alles abdeckt, was wir zur Zeit an Anforderungen haben, denken aber schon einen Schritt weiter. Was könnte in kurz- bis mittelfristig nötig sein. Was könnte uns das Leben erleichtern. Wir definieren uns also die denkbar beste Lösung, die alles abdeckt, was man braucht.
Jetzt wo ihr das Ziel skizziert habt, baut ihr einfach eine Lösung, die alle derzeitigen Anforderungen löst, aber keine der zukünftigen Anpassen verbaut. Wir bewegen uns also in die richtige Richtung, haben aber eine Lösung, die nicht over-engineered ist und nicht wirklich mehr Zeit benötigt, als die Quick and Dirty Lösung. Wenn man dann mal Zeit hat die große Lösung auszubauen, dann ist alles vorbereitet und das Refaktoring sollte nur minimal ausfallen. Sollte so auch um einiges einfacher sein es seinem Chef zu verkaufen. Think big, act small.