Mehr von Jürgen Gutsch

Mehr von Jürgen Gutsch

Empfehlungen von Jürgen Gutsch

Blog-Empfehlungen von Jürgen Gutsch

Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Jürgen Gutsch

ASP.NET und mehr...
Gedankenspiel: Softwareentwicklung als Handwerkskunst

Ob das folgende Gedankenspiel der Software-Craftsmanship-Bewegung entspricht weis ich nicht, damit habe ich mich nicht wirklich ausführlich beschäftigt. Im Gegenteil empfinde ich die Bewegung vorerst – mit ihrem Manifesto und dem ganzen Drumherum – als etwas zu extrem.

Aber ich fand alleine schon die Idee, Softwareentwicklung als Handwerkskunst zu sehen, nicht nur interessant, sonder sehe auch parallelen zu meinem Werdegang und zur Softwareentwicklung allgemein. Man muss nicht viel nachdenken um Parallelen zu entdecken.

Ich selber…

… hatte die große Ehre, bei der Firma K&K Internet GmbH in Radolfzell-Böhringen meine Ausbildung zum Fachinformatiker für Softwareanwendungsentwicklung zu machen und das Softwarehandwerk zu erlernen. Mein Gesellenstück, ein Dokumenten Management System für das CMS add.min, war damals der Höhepunkt, auf das ich auch heute noch mit Stolz zurückblicken kann. Seit dem Ende der Ausbildung 2004 konnte ich als Geselle meine Techniken verfeinern und mein Wissen vergrößern und kann jetzt – ebenfalls mit Stolz – auf eine sechsjährige Karriere als Geselle zurückblicken.

(Klingt ein wenig hochtrabend, gell? Ist aber nun mal eine Kurzfassung meiner Sicht auf die vergangenen Jahre als Softwarehandwerker.)

Und weitere Parallelen?

Außer meiner Laufbahn als Softwarehandwerker, gibt es natürlich eine ganze Reihe weiterer Parallelen, von denen ich hier die offensichtlichen mal kurz anreiße. Zum einen tue ich das um eine Diskussionsgrundlage zu schaffen, zum anderen um einen Denkanstoß zu geben und die Dinge mal von einer anderen Seite aus zu betrachten aber eigentlich schreibe ich das nur um das mal geschrieben zu haben, bevor ich den ganzen Kram nicht mehr in Worte fassen kann oder wieder vergesse. ;-)

Parallele: Werkzeuge

Für einen Schreiner ist es enorm wichtig seine Werkzeuge zu beherrschen: Nur wenn er die Hobelmaschine bedienen kann schafft er es eine gerade Tischoberfläche hinzubekommen.

Für einen Schreiner ist es wichtig, die neuesten Werkzeuge zu nutzen: Ein Hobel ist gut, aber eine Hobelmaschine ist genauer und schneller. Feile und ein Stechbeitel können eventuell das selbe wie eine Fräse, aber um einiges langsamer und ungenauer.

Die IDE und die Programmiersprache sind die wichtigsten Werkzeuge für einen Softwareentwickler. Diese sollte er bestens beherrschen können um Hochwertige Software zu entwickeln. Im Beitrag Gemeine Kenntnislücken beschreibt Ralf Westphal wieso man auf dem neuesten Stand bleiben und im Beitrag Lesen heute für Softwareentwickler wie man dazu kommt.

Auch die weiteren Werkzeuge und Hilfsmittel sind wichtig. Auf der Keynote der See# Party beschrieb Golo Roden, das man dafür sorgen muss die besten Werkzeuge zu nutzen die man für Geld kaufen kann. Und vor allem sollte man nicht nur bekannte Werkzeuge verwenden, sondern auch mal schauen was sich woanders bewährt hat.

Parallele: Prinzipien und Praktiken

Auch der Handwerker lernt Prinzipien, die ihm gewisse Handgriffe erleichtern und auch Praktiken die ihm sagen, wie man das Werkstück bearbeiten sollte. Der Handwerker hat seine Handbuch, seine Fibel in der Vorgehensweisen und bestimmte Konstanten beschrieben sind.

In der Softwareentwicklung haben Ralf Westphal und Stefan Lieser Prinzipien und Praktiken auf der clean-code-developer.de zusammengetragen. Dieses Werk ist ein wichtiger Schritt. Es bleibt jedem selber überlassen, wie er diese Prinzipien und Praktiken anwendet. Wichtig ist nur, dass sie überhaupt beachtet und angewendet werde.
Aber das alleine reicht noch nicht. Was in der Softwareentwicklung fehlt ist ein umfassendes kleines Handbuch, dass sowohl Prinzipien und Praktiken beinhaltet, als auch allgemeine Techniken und Design Patterns. Ein Buch das in jeder Gesäßtasche eines Softwarehandwerkers stecken sollte.

Parallele: Qualitätsdenken

In der Regel gibt ein Handwerker sein Produkt erst raus, wenn es seinen Qualitätsansprüchen genügt. Bei einem Tisch ist es nicht anders möglich, es ist etwas greifbares, das der Kunde berühren kann. Mängel sind sichtbar. Anders leider bei Software. Welcher Softwareentwickler kann – ganz ehrlich - von sich behaupten eine 100% hochqualitative Software an den Kunden herausgegeben zu haben? Damit meine ich nicht nur Qualität im Code, sondern auch bei der Usability.

Aber es geht auch anders:
In der letzten Ausgabe des .NET-Magazins habe ich ausführlich ein Buch vorgestellt, dass ich auch schon hier im Blog erwähnt habe: Why Software Sucks… ist ein Buch von David S. Platt das dem Softwareentwickler und dem Softwareanwender eine andere andere Sichtweise nahe bringt und auf diese Art Mängel in der Software sichtbar macht. Keiner sagt einem auf eine so ehrlich brutale Art was man die letzten Jahre falsch gemacht hat.
Zumindest offensichtliche Mängel können so schnell gefunden und beseitigt werden.

Parallele: Stolz

Die letzte Parallelität ist die Eigenschaft, auf die in der Softwareentwicklung – aus meiner Sicht – am wenigsten Wert gelegt wird. Die fast am unwichtigsten scheint. Aber die größten Probleme bereiten könnte. Was passiert mit einem, wenn man ständig ein Produkt rausgeben muss, auf das man nicht Stolz sein kann? Man verliert den Spaß an der Arbeit und den Spaß daran sich weiter zu entwickeln.

Ich weiß aus meinen kurzen Erfahrungen in der (richtigen) Handwerksarbeit (Schreiner, Gärtner und Kunststoffschlosser) das es ein unglaublich tolles Gefühl ist, seine hochwertige, fertige Arbeit in den Händen des zufriedenen Kunden zu sehen. Andersherum habe ich als Softwareentwickler zur Genüge die Erfahrung gemacht, aus Zeitdruck und Druck von oben, eine schnell zusammengebastelte Anwendung an einen zufriedenen Kunden herauszugeben und zu wissen, dass die Zufriedenheit nicht von langer Dauer ist. Der Job als Gärtner macht so – ehrlich gesagt – mehr Spaß.

Aber auch der Softwareentwickler sollte Stolz auf seine Arbeit sein können. Das geht natürlich nur, wenn die ersten drei parallelen Eigenschaften auch umgesetzt werden. Erst wenn die Werkzeuge stimmen, bestimmte Werte eingehalten werden und ein Qualitätsbewusstsein existiert, kann man eine Software bauen auf die man Stolz sein kann.

Fazit

Frage: Ist es wichtig, dass sich Softwareentwickler als Handwerker sehen?
Antwort: Nein, ich denke nicht!

Es wäre eventuell hilfreich, um auf die richtigen Werkzeuge und den Umgang damit zu beachten. Es wäre Hilfreich, um Prinzipien und Praktiken ernst zu nehmen. Es wäre eventuell Hilfreich, um ein Qualitätsdenken zu entwickeln, um dann mit Stolz auf seine Arbeit schauen zu können.

Aber letzten Endes ist es völlig egal, ob man sich als Handwerker, Architekt oder Pfarrer sieht. (Nur als Fließbandarbeiter sollte man sich nicht sehen *g*) Wichtig ist, dass man bestimmt Werte entwickelt und diese Konsequent umsetzt. Wichtig ist, dass man am Ende des Tages auf seine Arbeit stolz sein kann, dass mal alles dafür getan hat um eine höchstmögliche Qualität zu erreichen.

DotNetKicks-DE Image
Posted: Freitag, 24. September 2010 15:57 von Jürgen Gutsch

Kommentare

dotnet-kicks.de sagte:

Sie wurden gekickt (eine gute Sache) - Trackback von dotnet-kicks.de

# September 24, 2010 16:27

ralfw sagte:

Ich find den Vergleich mit dem Handwerk nicht schlecht. Ein Blick über den Tellerrand kann nie schaden.

Aber die Parallelen die du aufzeigst, find ich nicht so charakteristisch. Es wäre schade, wenn Ingenieure (die sich, so denke ich, ausdrücklich nicht als Handwerker verstehen) ihre Tools nicht verstehen würden (vom Schweißgerät bis zum Oszilloskop), keinen Stolz empfänden und kein Qualitätsdenken hätten.

Was also sind Paralleln zum Handwerk, die uns vom Ingenieurswesen absetzen?

-Ralf Westphal

# September 24, 2010 18:02

Jürgen Gutsch sagte:

Hallo Ralf,

danke für deinen Kommentar :-)

Was also sind Paralleln zum Handwerk, die uns vom Ingenieurswesen absetzen?

Wie das so bei einfachen Gedankenspielen ist, ist dieser natürlich unvollständig. Die Abgrenzung zu den Ingenieuren habe ich nicht bedacht. Möglicherweise deshalb, da ich nie studiert habe und Ingenieure nicht so ausführlich kenne wie Handwerker und mich nicht in deren Art zu arbeiten versetzen kann.

Aber ich werde mir auf jeden Fall Gedanken über eine Abgrenzung zu den Ingenieuren machen. Allerdings bezweifle ich, dass das wirklich Sinn macht. Genauso wie man mit Zahlenspielen eine ganze Menge Unbeweisbares beweisen kann. Kan man mit Gedankenspielen eine ganze Menge vergleichen.

Braucht es denn eine Abgrenzung?

Wenn Ingenieure die gleichen Werte aufweisen können, ist das doch gut.

Ich habe hier Parallelitäten zwischen Handwerker und Softwareentwickler gesehen. Andere sehen Parallelen zwischen Ingenieuren und Softwareentwicklern. Völlig egal. Wichtig ist IMO das Resultat:

"Wichtig ist, dass man am Ende des Tages auf seine Arbeit stolz sein kann, dass mal alles dafür getan hat um eine höchstmögliche Qualität zu erreichen."

# September 24, 2010 18:42

ralfw sagte:

Es ist ja nicht falsch, dass Softwareentwickler wie Handwerker Werkzeuge benutzen. Nur, was bringt es, das hervorzuheben? Was lässt sich daraus lernen? Die Hervorhebung selbst suggeriert, dass das etwas Besonderes bei den Handwerkern sei und die Parallele uns daher etwas geben kann.

Wenn nun aber auch Ingenieure Werkzeuge benutzen, dann ist es eben nichts Besonderes mehr.

Wer benutzt denn keine Werkzeuge? Buchhalter benutzen auch Werkzeuge, die sie beherrschen sollten. Ebenso Reinigungspersonal. Und auch Priester benutzen Werkzeuge.

Ich finde nicht, dass also diese Parallele viel bringt, auch wenn es eine Parallele ist. Es sei denn: irgendwas ist beim Handwerk mit seinen Werkzeugen anders als bei Buchhaltern und Ingenieure, aber eben ähnlich wie bei der Softwareentwicklung. Ist das so?

Ich sehe da nichts in dieser Richtung.

Für mich besteht der Unterschied zwischen Handwerk, Buchhaltern und Ingenieuren deshalb nicht in den Werkzeugen oder im Qualitätsdenken (auch Buchhalter haben das) oder im Stolz (auch Ingenieure haben den), sondern in anderen Aspekten von Kultur und Tradition. Und die manifestieren sich vor allem im Lernen. Handwerker lernen anders als Ingenieure und Buchhalter.

Spannend wäre also zu fragen, ob der Lernansatz der Handwerker, ihr Weg zu Kompetenz und deren Erhalt, ob da etwas drin ist, von dem wir was abschauen können, die wir eher ingenieursmäßig ausgebildet werden.

# September 25, 2010 10:58

ilkerde sagte:

Ich gebe Dir in Deinem Resumee recht. Es kommt natürlich darauf an, dass man stolz auf sich und seine Arbeit sein kann und von sich behaupten kann: "Ich habe mein bestes gegeben".

Aber ein wenig schade finde ich es, dass es Dir nicht so wichtig erscheint, welches Selbstbildnis für den jeweiligen Entwickler herrscht. Ein Handwerker ist kein Ingenieur, ein Pfarrer kein Koch.

Es ist bei weitem nicht so, dass ich irgendwie ein "Kastensystem" oder eine Kategorisierung von Entwickler möchte. Keinesfalls. Vielmehr geht es um das Selbstverständnis und die Art und Weise des Entwickelns.

Ich persönlich sehe Software-Entwicklung als eine gleichermaßen kreative und konstruktive Aufgabe. Soll heißen: Ein kreatives, ja in Extremfällen sogar künstlerisches Handwerk. Aber auch eine solide und harte geistige "Knochenarbeit".

Ich habe vor über einem Jahr schon einen Blog über den Software-Craftsman geschrieben (http://www.gmbsg.com/die-kunst-der-software-entwicklung/). Ich kann mich mit der Software-Craftsmanship-Bewegung insofern identifizieren, als dass es explizit auf sauberes, praktisch "meisterhaftes" Handwerken eingeht. Es lässt die "handwerkliche" Komponente nicht außen vor, beschränkt die Entwicklung aber eben nicht nur auf diese.

Besonders wichtig denke ich ist es, sich mit der Ethik des "Craftsman", wie es von Uncle Bob geschildert wird, genauer auseinanderzusetzen. Eine einfache Übersetzung von "Craftsman" nach "Handwerker" genügt da leider nicht vollständig. Überdies wird die Craftsmanship oft misinterpretiert. So kommt es oft genug vor, dass "Craftsman" als "Schnörkler" und "Qualitätsfetischisten" beäugelt werden.

Für mich ist ein echter Craftsman eben das nicht. Er ist qualitätsbewußt, aber in gleichem Maße auch realitätsnah. Soll heißen: bei aller Liebe zu Qualität & Eleganz gibt es für den Craftsman auch noch eine Welt drumherum. Es gibt Geld, Zeit, Fähigkeiten, Ziele, Politik, Mentoren, Lehrlinge, Freizeit, Freude und noch vieles mehr.

Uncle Bob hat einen schönen Blog-Beitrag dazu geschrieben: http://thecleancoder.blogspot.com/2010/09/hacker-novice-artist-and-craftsman.html

Er beschreibt darin meines Erachtens nach ziemlich treffend, welche "Strömungen" von Programmierstilen es gibt. Man kann und soll das nicht festzurren. Es gibt meiner Meinung nach nicht *den* Craftsman, oder *den* Hacker. Jeder von uns ist irgendwie ein Novice, aber gleichzeitig auch mal Hacker. Es geht mehr um die Gewichtung. Es geht darum, ein Selbstbindnis zu haben und zu sagen: Ich sehe mich als X als strebe ich nach X.

Das ist im Übrigen alles nichts neues. Vor 30 Jahren hat ein Vordenker der Informatik dieses Bild in einen einzigen Satz gepackt:

"Programmieren ist konstruktive Kunst"

--- Niklaus Wirth

# September 25, 2010 11:09

Rainer Hilmer sagte:

Ich hatte diesen Blogpost mit dieser Beschreibung gekickt:

"Sollte das was Jürgen Gutsch hier beschreibt nicht selbstverständlich sein? Es war wohl Wunschdenken von mir, oder?"

Was ich damit sagen wollte war der Eindruck von einem Umkehrschluß, der sich mir automatisch aufdrängte. Ich fragte mich, "warum beschreibt Jürgen das"? Gibt es Situationen in denen man als Entwickler eben NICHT mit den aktuellen Werkzeugen arbeitet und NICHT stolz auf seine Arbeit sein kann, weil man KEINE Qualität liefern kann/darf?

Wenn ich so überlege, kann ich mich tatsächlich an einen Fall erinnern.

# September 25, 2010 13:41

Stefan Falz sagte:

@Rainer

> Gibt es Situationen in denen man als Entwickler eben

> NICHT mit den aktuellen Werkzeugen arbeitet und NICHT

> stolz auf seine Arbeit sein kann, weil man KEINE

> Qualität liefern kann/darf?

Es gibt zumindest Projekte, in denen einen als Entwickler ein solches Gefühl überkommt.

(Eigentlich) Veraltete Technologien, wobei modernes mit der "Begründung": "<Produkt> ist wenigstens ausgereift" nicht zugelassen wird, da mag das Zeug noch so buggy sein und den Entwickler sehr viele Nerven kosten.

Strikte Vorgaben, die bis runter auf die Implementierungsebene gehen. Freiheiten gibt es da keine. (Nein, damit meine ich keine Guidelines oder ähnliches, die sind sinnvoll und notwendig). Hier werden die Lösungswege vorgegeben und selbst wenn es doch erheblich bessere/effizientere Wege gäbe, wird das als böse[TM] abgetan.

Ich für meinen Teil freue mich dann, dass ich mir sowas nicht antun muss. Aber ich kenne die andere Seite halt leider auch.

# September 25, 2010 13:51

Jürgen Gutsch sagte:

Hallo Ralf, Hallo Ilker,

erst mal vielen Dank für Eure Kommentare :-)

Ich glaube ihr stellt beide zu hohe Ansprüche an mich und meinen Beitrag... ;-)

Eure Überlegungen und Einwände sind alle richtig und gut. Nur war der Sinn meines Beitrages keine philosophische Überlegung, sondern nur das Aufzeigen von gewissen Prallelen, die ich generell sehe und die ich an mir sehe. Ich bin nicht der Typ für Philosophische und Theoretische Abhandlungen. Ich gehe hier nur von mir und meiner Sicht aus, das kann natürlich nicht die Allgemeinheit abbilden. Das kann auch keine allgemeingültige Formel sein. Dazu bin ich viel zu pragmatisch. Golo Roden hat mir auch mal indirekt vorgeworfen zu technisch zu sein. Und ich bin auch wirklich zu technisch um bei einer philosophischen Überlegung zu bleiben. Jede Idee wird im Gedanken umgesetzt und mit technischen Problemen konfrontiert. Ich bin kein Ingenieure, kein Wissenschaftler und kein Philosoph, sondern ganz einfach nur ein pragmatischer, technisch denkender Softwarehandwerker.

Aus diesem Grund winde ich mich hiermit aus diese Diskussion, da ich bei Euch beiden eh nicht so einfach mithalten kann und mir auch bisher über diese Frage noch gar keine ernsthaften Gedanken gemacht habe.

Das heißt nicht, dass ich Aufgeben werde, sondern dass ich mich mit Euren Anregungen und Einwänden weiter beschäftigen werde, genauso wie mit der Software-Crafsmanship-Bewegung. Ganz sicher wird es dazu auch weitere Blogeinträge geben.

# September 25, 2010 14:05

Jürgen Gutsch sagte:

Hallo Rainer,

Ich fragte mich, "warum beschreibt Jürgen das"? Gibt es Situationen in denen man als Entwickler eben NICHT mit den aktuellen Werkzeugen arbeitet und NICHT stolz auf seine Arbeit sein kann, weil man KEINE Qualität liefern kann/darf?

Leider gibt es diese Situation wirklich und genau deshalb beschreibe ich das auch. Kunden- und Feature-getriebene-Entwicklung hat z. B: oft zur Folge, dass dem Entwickler nicht genügend Zeit gelassen wird, seinen Code wirklich fertig zu "gestalten", daran zu feilen. Natürlich wird der Code am Ende irgendwie Funktionieren. Werkzeuge und Praktiken werden gestrichen, da sie Geld und Zeit kosten. Kunden- und Feature-getriebene-Entwicklung geht es darum, dass so viele Projekte wie möglich abgearbeitet werden, das so viele Kunden wie möglich "abgefertigt" werden. Der Entwickler und seine Werkzeuge sind denn Nebensache. Der Entwickler wird zu einem Fließbandarbeiter ("CodeMonkey")

Solange der Entwickler auch von der Chefetage als Handwerker oder als Ingenieur angesehen wird, hat er auch den Respekt von der Chefetage und wird als der Spezialist behandelt, der er eigentlich ist und als der er eingestellt wurde. Und genau das fehlt leider sehr oft.

Handwerker oder Ingenieur ist völlig egal, solange der Entwickler als mündiger Spezialist angesehen wird. Nur dann weiß er dass er alles machen kann was in seiner Macht steht um seine Arbeit für sich zufriedenstellend zu erledigen.

# September 25, 2010 14:20

Rainer Hilmer sagte:

@Jürgen: Was du beschreibst, habe ich auch kennen gelernt. Ich denke dieses Problem entsteht dann, wenn der Chef selber kein Entwickler ist, nie eine Zeile Code geschrieben hat. Wenn dann ein Teil läuft, ist er zufrieden und kann gar nicht verstehen warum wir von Prototyping und Refactoring reden. Der "Duct Tape Programmer" oder auch "Cowboy Programmer" ist für ihn das Ideal. Dass später ein böses Erwachen folgen kann, ist uns allen klar - aber dem Chef nicht. Wenn dann die Erweiterungs- und Änderungswünsche kommen und wir uns mit widerspenstigem Legacy Code herumschlagen müssen, heißt es dann wohl eher, "warum habt ihr/du das nicht gleich "vernünftig" gemacht?".

Darum fordere ich neben den üblichen Managerseminaren auch dass diese Leute zumindest mal einen Grundkurs in Softwareentwicklung machen. Das muss keine mehrjährige Ausbildung sein. Eine Woche würde reichen um denen zu zeigen was es heißt, aus nebulösen Anforderungen ("Weiß ich auch nicht so genau. Sie sind doch der Profi!") qualitativ hochwertige Software zu machen - und das ohne Kristallkugel! Wenn denen am Ende der Kopf raucht und sie gar nichts mehr verstehen, bekommen sie vielleicht mehr Respekt vor unserer Leistung. >:-)

http://www.infoq.com/presentations/TDD-Managers-Nicolette-Scotland

# September 25, 2010 20:27

Rainer Hilmer sagte:

Vergesst den Link. Ich habe mir gerade die erste 1/4 Stunde angeschaut und bin enttäuscht. Die Jungs sollten mal ein paar Lehrstunden bei Steve Balmer nehmen. Auch inhaltlich kam es nicht gut rüber. Mit den Augen eines Managers hätte ich mich gefragt, "warum schreibt er das Makro nicht gleich korrekt? Er verschwendet wertvolle Zeit!". Diese Ansicht war auch aus den Kommentaren der Zuschauer zu erkennen.

# September 25, 2010 21:14

AZeitler sagte:

Hallo,

aktuelle Erfahrungen aus einem laufenden Projekt:

Projekt wurde zunächst mit TDD (trotz großer Skepsis) gestartet.

Größtes Problem: die Requirements bei den Domännenexperten "einsammeln", da dies immer wieder zu Diskussionen führte, die letztlich nicht zu Requirements führten => TDD findet keine Akzeptanz, da nach mehreren Wochen erst 20 Tests geschrieben waren mangels Specs.

Umgestiegen auf "klassischen" Ansatz, d.h. "draufloscoden".

In 2-3 Tagen den gleichen Umfang an Code geschrieben wie bisher per TDD, d.h. ähnlicher Funtionsumfang, die DB-Struktur, die per TDD aus NHibernate quasi als Resultat "herausgefallen" ist, wurde von Hand nochmal erarbeitet.

Projektleitung erstmal begeistert.

Nun läuft allerdings das Refactoring schon mehrere Tage.

Resultat des Refactorings: ähnliches Objektmodell wie beim TDD-Ansatz.

Rechne ich nun die 2-3 Tage + die sicher letztlich 3-4 Tage Refactoring und vergleiche das mit der Zeit des TDD-Ansatzes, die effektiv für das Schreiben von Tests + Code nötig war, bin ich mit dem Spaghetti-Ansatz nicht viel schneller.

Dazu kommt noch, dass ich hinterher keine Tests habe, die meine Refactorings absichern. Ein Effekt, der sich sicher im Negativen noch weiter beschleunigt.

Was ich beobachtet habe:

Ein Test und sein Ergebnis (rot/grün) sind für Außenstehende (d.h. Projektleiter, Domänenexperten etc.) etwas (zu) abstraktes.

Sie können sich nur vorstellen, dass etwas funktioniert, wenn Sie es als klickbares UI erfahren können. Ein grüner Haken oder ein rotes x genügt offenbar nicht - vielleicht auch ein Vertrauensproblem?

Letztlich bin ich an dem Punkt, das Projekt nun entweder per TDD weitermachen zu können oder gar nicht.

Um nun den Kreis zu Jürgen's Posting zu schließen:

Der Versuch, auf Qualität zugunsten von Geschwindigket zu verzichten, ist ordentlich gescheitert. Das lag schlicht daran, dass das Problem nicht TDD, sondern die schlechten Specs waren - hätte man dies als Stärke von TDD erkannt (dass schlechte Specs damit identifiziert werden) und nicht als Schwäche, hätten man sich viel Ärger sparen können.

Ob man das jetzt als Berufsethos, Handwerkskunst oder wie auch immer bezeichnet, ist imho nicht relevant.

Genauso finde ich (außer leidvoller Erfahrung), dass ein Meister in seinem Handwerk nicht zwingend besser sein muss, als ein Geselle (teilweise sogar Lehrling).

Wenn ihm der Job keinen Spass macht, ist das Resultat genauso gut oder schlecht, wie bei einem Gesellen, der keine Lust hat.

Es ist schlicht eine Frage des persönlichen Engagements, das man seinem/r Beruf(ung) entgegenbringt.

# September 27, 2010 11:26

Jürgen Gutsch sagte:

Kein technischer Beitrag, sondern wieder nur eine Überlegung, die auch als Diskussionsgrundlage dienen

# November 11, 2010 06:51

Jürgen Gutsch sagte:

Noch vor ein paar Monaten hatte ich mit eine Art umfassendes Handbuch für Software-Handwerker gewünscht

# Februar 17, 2011 08:26
Anonyme Kommentare sind nicht zugelassen