<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Schauderhaft &#187; books</title>
	<atom:link href="http://blog.schauderhaft.de/tag/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.schauderhaft.de</link>
	<description>Softwaredevelopment, Projectmanagement, Qualitymanagement and all things &#34;schauderhaft&#34;</description>
	<lastBuildDate>Sun, 05 Sep 2010 08:43:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Great Books for Becoming a Better Developer</title>
		<link>http://blog.schauderhaft.de/2010/06/12/great-books-for-becoming-a-better-developer/</link>
		<comments>http://blog.schauderhaft.de/2010/06/12/great-books-for-becoming-a-better-developer/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 08:11:59 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Softwaredevelopment]]></category>
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=499</guid>
		<description><![CDATA[You want to become an even better developer? Then you must read these books. If you have already read them. Read them again. Design Patterns. Elements of Reusable Object-Oriented Software: This is the standard book on patterns and patterns are an extremely important piece of vocabulary for every developer. Not to impress coworkers with your [...]]]></description>
			<content:encoded><![CDATA[<p>You want to become an even better developer? Then you must read these books. If you have already read them. Read them again.</p>
<p><a href="http://www.amazon.de/gp/product/0201633612?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=0201633612">Design Patterns. Elements of Reusable Object-Oriented Software:</a> This is the standard book on patterns and patterns are an extremely important piece of vocabulary for every developer. Not to impress coworkers with your knowledge, but to be able to think about bigger concepts than loops and conditionals. It describes each pattern with its purpose, it&#8217;s applicability and an example. Make sure to read a couple of blog posts about each pattern, to make sure you avoid some of the more common mistakes when applying them.</p>
<p><a href="http://www.amazon.de/gp/product/0132350882?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=0132350882">Clean Code: A Handbook of Agile Software Craftsmanship</a>: You want to be proud of your code? You want to be able to go back to your code in a year without swearing? This is the book for you. The author Robert C. Martin (also known as Uncle Bob) is extremely aggressive on what he is accepting as clean. This book really changed the way I look at code, and of course the way I write code. Make sure to really understand the lengthy examples. It is tedious, but it pays.</p>
<p><a href="http://www.amazon.de/gp/product/020161622X?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=020161622X">The Pragmatic Programmer. From Journeyman to Master</a>: In Software Development the professionals often follow practices which the professionals them selfs aren&#8217;t aware of. This book lists and explains many of these practices as well as some obvious once. While this sounds trivial the resulting book is a great source of small and big practices to acquire as a habit.</p>
<p>For the German readers of my blog: Read the english originals. German translations of computer books are horrible on average.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2010/06/12/great-books-for-becoming-a-better-developer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>3 Books You Should Read When You Want to Go Agile</title>
		<link>http://blog.schauderhaft.de/2010/05/30/3-books-agile/</link>
		<comments>http://blog.schauderhaft.de/2010/05/30/3-books-agile/#comments</comments>
		<pubDate>Sun, 30 May 2010 08:21:09 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Softwaredevelopment]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[books]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=509</guid>
		<description><![CDATA[If you haven&#8217;t switched to an agile approach to software development yet, you probably should. But be warned. Agile is not about daily stand ups in the morning. It also isn&#8217;t about renaming your &#8220;work break down structure&#8221; into &#8220;backlog&#8221;. Going agile requires changes deep in the internals of your team and/or in your company, [...]]]></description>
			<content:encoded><![CDATA[<p>If you haven&#8217;t switched to an agile approach to software development yet, you probably should. But be warned. Agile is not about daily stand ups in the morning. It also isn&#8217;t about renaming your &#8220;work break down structure&#8221; into &#8220;backlog&#8221;. Going agile requires changes deep in the internals of your team and/or in your company, depending on the level on which you want to go agile. In my experience there is just no reasonable way to gain the required understanding of agile approaches from on-line resources alone. I recommend the following three books instead:</p>
<p><strong><a href="http://www.amazon.de/gp/product/0132074893?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=0132074893">Agile  Software Development with Scrum by Ken Schwaber</a></strong>: Obviously this book is about Scrum, which is just one of many agile processes. But even if you don&#8217;t want to go with Scrum, this book will teach you a lot about why Scrum is designed the way it is, and this will be very helpful, no matter what approach you choose. Be warned: the book is small, has crappy graphics and is rather expensive. But it is worth it&#8217;s money.</p>
<p><strong><a href="http://www.amazon.com/gp/product/0321150783?ie=UTF8&amp;tag=schauderhaft-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0321150783">Lean Software Development: An Agile Toolkit by Mary and Tom Poppendieck</a></strong>: This book isn&#8217;t tied to any specific process or approach, instead it describes the underlying concepts, which are common to all agile approaches. And these are the ones that really count. Since the Poppendieck have a lot of experience in non software projects they provide lots of examples an cross references which might help convince a stubborn manager, who doesn&#8217;t realizes that doing waterfall software development might be 10years behind standards in software development, but is about 50 years behind when compared with other branches of industry.</p>
<p><strong><a href="http://www.mikecohnsignatureseries.com/books/management-3-0">Management 3.0: Leading Agile Developers, Developing Agile Leaders by Jurgen Appelo</a></strong>: Unfortunately you can&#8217;t buy the book yet. But I had the honor to review an early version of the book and provide Jurgen with my nit-picky comments. This book is very different from the other two, because it focuses completely on the management side of things. Agile doesn&#8217;t mean managers will go away, they don&#8217;t even become useless. Quite the different, they might actually put themselves to good use, and this books will tell you (or your boss) how. Even if you don&#8217;t go fully agile, this book will offer lots of advice and ideas, on how to improve you work as a manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2010/05/30/3-books-agile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reading</title>
		<link>http://blog.schauderhaft.de/2009/07/03/reading/</link>
		<comments>http://blog.schauderhaft.de/2009/07/03/reading/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 11:21:58 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[The Rest]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/?p=164</guid>
		<description><![CDATA[Jurgen Appelo wrote a great Article about his new strategy to read books in a parallel and non-sequential way. He uses sticky notes to mark the chapters he read in a book, thereby allowing him to read the most important unread chapter whenever he wants to read. I like the concept, but it does not [...]]]></description>
			<content:encoded><![CDATA[<p>Jurgen Appelo wrote a great Article about his new strategy to read books in a <a href="http://www.noop.nl/2009/07/reading-books-in-a-parallel-and-nonsequential-way.html">parallel and non-sequential way</a>. He uses sticky notes to mark the chapters he read in a book, thereby allowing him to read the most important unread chapter whenever he wants to read.</p>
<p>I like the concept, but it does not work for me. I read in a lot of different places and I read about 2-5 books or magazines in parallel most of the time. I do not want to carry those around all the time. In fact I read so many things in parallel because I don&#8217;t want to carry the books around. Instead I try to have a book at every place where I might want to read. One in the bed room, one in the bath, one in the living room, one at the office at <a href="http://www.lineas.de">LINEAS</a> and one at the desk at the customer for the lunch breaks. And last night I had to buy a new one because I was traveling by train and hadn&#8217;t a book yet for that place.</p>
<p>No matter if you are more like jurgen or more like me, or if you are one of these weird people that read one book at a time: Use Tools for Reading. At least when you are reading in order to learn something, you should use the following tools:</p>
<ol>
<li>a transparent ruler. Hold it under the current line. It will prevent you from loosing the line, and thereby enables faster reading. If a ruler is not available, a pen or a sheet of paper might work as well.</li>
<li>a pen. Put down notes. Put them on the margin of the book if you like or on post its, or on a seperate sheet of paper. Whatever, in my experience taking down notes, writing a short summary on after every chapter is the single most effective thing to prevent information to fall out of your ears, while you take it in through the eyes.</li>
</ol>
<p>Reading is such an important thing, there really should be more discussion about how we do it. So what are your reading tips?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2009/07/03/reading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie plant das Agile Projektmanagement?</title>
		<link>http://blog.schauderhaft.de/2008/09/22/wie-plant-das-agile-projektmanagement/</link>
		<comments>http://blog.schauderhaft.de/2008/09/22/wie-plant-das-agile-projektmanagement/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 21:12:45 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/2008/09/22/wie-plant-das-agile-projektmanagement/</guid>
		<description><![CDATA[Spätestens seit dem Agilen Manifest gehört es in der Softwareentwicklung zum guten Ton agil zu sein. Die Argumente sind charmant: Nur das tun, was wirklich notwendig ist, nur dann wenn es wirklich notwendig ist. Nicht mehr Dokumente als unbedingt nötig. Andererseits hat die klassische Netzplantechink durchaus etwas für sich. Der Argumentation: Wenn A von B [...]]]></description>
			<content:encoded><![CDATA[<p>Spätestens seit dem <a href="http://agilemanifesto.org/">Agilen Manifest</a> gehört es in der Softwareentwicklung zum guten Ton agil zu sein. Die Argumente sind charmant: Nur das tun, was wirklich notwendig ist, nur dann wenn es wirklich notwendig ist. Nicht mehr Dokumente als unbedingt nötig.</p>
<p>Andererseits hat die klassische Netzplantechink durchaus etwas für sich. Der Argumentation: Wenn A von B abhängt, kann ich erst mit A beginnen, wenn B abgeschlossen ist, leuchtet ein. Und so mancher Vertreter der Agilen Methoden verwechselt wohl agil mit chaotisch.</p>
<p>Leute die Worte wie Agil, Iterativ und Inkrementell nutzen, aber nicht erklären können machen die Sache auch nicht besser.</p>
<p style="float: left; margin-left: 10px"><a href="http://www.amazon.de/gp/product/0131479415?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0131479415"><img src="/wp-content/uploads/2008/09/51pprabtj2l_sl160_.jpg" border="0" alt="" /></a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=0131479415" border="0" alt="" width="1" height="1" /></p>
<p>Ich habe jemanden gefunden, der nicht nur diese Unterscheidungen kennt, der weiß wie man in agil geführten Projekten plant und schätzt, sondern der darüber sogar Bücher geschrieben hat. Mike Cohen. Na gut, ich habe ihn nicht persönlich kennengelernt, aber ich habe zwei seiner Bücher gelesen: &#8220;Agile Estimating and Planning&#8221; und &#8220;User Stories Applied&#8221;.</p>
<p style="float: right; margin-left: 10px"><a href="http://www.amazon.de/gp/product/0321205685?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0321205685"><img src="/wp-content/uploads/2008/09/519ubibqql_sl160_.jpg" border="0" alt="" /></a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=0321205685" border="0" alt="" width="1" height="1" /></p>
<p>Beide Bücher kann ich empfehlen, obwohl ich nicht empfehlen würde beide Bücher hintereinander zu lesen, wie ich es getan habe. Dafür ist die Schnittmenge des Inhalts zu groß.</p>
<p>Genug der Werbung: Wie plant nun das agile Projektmanagement? In letzter Instanz nicht so viel anders, als das klassische Projektmanagement, wenn es richtig gemacht wird. Es wird das geplant was planbar ist, und was für eine erfolgreiche Weiterarbeit notwendig ist. Bei der klassischen Netzplantechnik ist es naheliegend alle Aktivitäten gleich detailliert zu planen, obwohl dies weder realistisch noch förderlich ist.</p>
<p>Mike Cohen empfiehlt getrennte Planungen für unterschiedlichen Planungshorizonte: Projekt, Release, Iteration, Tag. Dadurch wird auch gleich ein weiterer typischer Fehler von klassischem Projektmanagement vermieden: Bei Projektbeginn wird der Projektplan erstellt und dann allenfalls mit dem Projektfortschritt aktualisiert. Klar, dass der bald nichts mehr mit der Realität zu tun hat. Aber wenn der detaillierte Plan nur bis zum Feierabend reicht, dann kommt man nicht drum rum am nächsten Morgen einen neuen Plan zu machen. Das gleiche gilt für die Pläne auf Iteration und Release Ebene.</p>
<p>Damit wird das Möglich, was für mich ein ganz wichtiger Aspekt der agile Projektarbeit ausmacht: Embracing Change (Änderungen umarmen?) d.h. Änderungen der Ziele und Vorgaben werden nicht als Störung des Projektes betrachtet, sondern als integraler, willkommener Bestandteil des Projektgeschäftes.</p>
<p>Aber was passiert mit den heiß geliebten Gantt-Charts und der Netzplantechnik? Diese sind tatsächlich hinfällig. Als Ersatz für die Abhängigkeiten im Netzplan werden die Anforderungen (Stichwort: User Stories) so gewählt, dass sie möglichst unabhängig voneinander sind. An dieser Stelle wird die Sache meiner Meinung nach wirklich spannend. Warum meint die Softwarebranche ohne diese Abhängigkeiten zurecht zu kommen, obwohl andere Branchen seit Jahrzehnten darauf schwören? Weil bei (gut geschriebener) Software jeder Teil geändert werden kann, ohne dass dies nennenswerte Auswirkungen auf andere Teile hat, während dies bei klassischen produzierenden Gewerbe unmöglich ist.</p>
<p>Man stelle sich mal vor, bei einem fertigen Gebäude soll das Fundament ausgetauscht werden &#8230; unmöglich, unbezahlbar. Bei einem Programm die Persistenzschicht austauschen? Kein wirkliches Problem, natürlich müssen beide Varianten der Persistenzschicht entwickelt und letztendlich bezahlt werden, aber bei dem Rest des Programm sollte sich recht wenig ändern. Während das klassische Gebäude wohl komplett ab und wieder neu gebaut werden müsste. Dadurch ist es möglich die Bestandteile in beinahe beliebiger Reihenfolge zu erstellen. Im Umkehrschluss bedeutet dies aber auch, Projektanteile die nicht so flexible disponiert werden können, müssen entsprechend langfristig geplant werden. Know How in diesem Bereich ist also nicht verloren.</p>
<p>In allen anderen Bereichen geht es meist um eine verschobene Gewichtung: Wenn Plan und Realität auseinander gehen, wird dies eher über Anpassung der Ziele, d.h. des Projektumfangs aufgefangen, als durch Veränderung des Arbeitsvolumens. Dabei trifft der Kunde die Entscheidung was genau gestrichen oder angepasst werden sollte, anstatt wie ich es oft erlebt habe Grabenkämpfe um die Übernahmen der Kosten zu führen.</p>
<p>Löst das alle Probleme? Ganz sicher nicht. Letzten Endes geht es in Projekten um Geld und da wird es Konflikte geben. Aber ich bin überzeugt, fast alle Projekte könnten von einer kleinen oder größeren Prise &#8216;Agile Estimating and Planning&#8217; profitieren, nicht nur Softwareentwicklungsprojekte. Und wenn unsere Kunden das Buch lesen würden, könnten wir sie eher davon überzeugen gemeinsam ein Projekt zu machen anstatt gegeneinander.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2008/09/22/wie-plant-das-agile-projektmanagement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Novelty, Magazin für Kreative?</title>
		<link>http://blog.schauderhaft.de/2008/09/09/novelty-magazin-fur-kreative/</link>
		<comments>http://blog.schauderhaft.de/2008/09/09/novelty-magazin-fur-kreative/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 21:23:17 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[The Rest]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/2008/09/09/novelty-magazin-fur-kreative/</guid>
		<description><![CDATA[Vor einiger Zeit habe ich bei Xing unter &#8216;ich biete&#8217; &#8216;Ideen&#8217; angegeben. Vielleicht ist es nur ein zeitlicher Zusammenhang, aber vorgestern bekam ich ein Zeitschrift zu gesandt, die &#8216;exklusiv&#8217; für kreative Personen sei. Exklusiv klingt toll, kreativ auch. Unaufgefordert zugesandte Zeitschrift eher nicht. Exklusiv bedeutet laut der Zeitschrift beiliegendem Anschreiben: 30.000 ausgewählte Personen. Hmm &#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einiger Zeit habe ich bei <a href="http://www.xing.com">Xing</a> unter &#8216;ich biete&#8217; &#8216;Ideen&#8217; angegeben. Vielleicht ist es nur ein zeitlicher Zusammenhang, aber vorgestern bekam ich ein Zeitschrift zu gesandt, die &#8216;exklusiv&#8217; für kreative Personen sei. Exklusiv klingt toll, kreativ auch. Unaufgefordert zugesandte Zeitschrift eher nicht. Exklusiv bedeutet laut der Zeitschrift beiliegendem Anschreiben: 30.000 ausgewählte Personen. Hmm &#8230; ausgewählt ist nicht wirklich überraschend. Wer schon mal eine Abizeitung oder eine Hochzeitszeitung gemacht hat weiss, dass das auch nicht umsonst geht. Und 30.000 klingt nicht so wenig für eine erste Ausgabe einer Zeitschrift. Kurzer Vergleich mit Spektrum der Wissenschaft auf Wikipedia.de: Gut 90.000. Also wohl doch eher ein teures Massenmailing, mit der Option sie in Zukunft für 5 Euro 80 selbst zu kaufen.</p>
<p>Na gut, aber nur weil man nichts besonderes ist, kann man ja trotzdem mal reinschauen. Leider war kein Inhalt drin. Versteht mich nicht falsch: Seiten waren schon drin. Es standen auch Buchstaben und Bilder drauf, aber Inhalt war nicht dabei. Etwa ein Drittel der Seiten sind großformatige Werbung. Ganzseitig oder doppelseitig. Und wenn der Rest im Fernsehen liefe würde ständig &#8216;Dauerwerbesendung&#8217; eingeblendet werden.</p>
<p>Keine Spur von Kreativität, bis auf das Geschäftsmodel. Wenn man nämlich nach dem Verlag googelt landet man bei einer <a href="http://www.sb-konzept.de/index.php">Werbeagentur</a>. Anstatt also wie üblich zu Inhalt passende Werbung zu suchen, oder für Werbung passenden Inhalt, haben die einfachWerbung mit Werbung kombiniert und verkaufen das ganze jetzt.</p>
<p>Falls euch die Zeitschrift interessiert &#8230; ich habe mein Exemplar schon weggeschmissen, aber das <a href="http://www.oracle.com/oramag/index.html">Oracle Magazin</a> verfolgt ein ähnliches Konzept. Leider ist es kostenlos und durch die schlampige Redaktion schleichen sich eigentlich immer 3-4 Seiten Inhalt rein.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2008/09/09/novelty-magazin-fur-kreative/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Database Refactoring</title>
		<link>http://blog.schauderhaft.de/2008/08/22/database-refactoring/</link>
		<comments>http://blog.schauderhaft.de/2008/08/22/database-refactoring/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 19:46:25 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Softwaredevelopment]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/2008/08/22/database-refactoring/</guid>
		<description><![CDATA[Es gibt wohl kaum einen Java (oder C# oder was auch immer) Entwickler der was auf sich hält, und der nicht weiß was &#8216;refactorn&#8217; bedeutet. Es sei denn &#8216;was auch immer&#8217; steht für SQL, PL/SQL oder dergleichen. Denn Datenbanken und darin enthaltene Artefakte der Softwareentwicklung werden, aus welchen Gründen auch immer, anders behandelt, als &#8216;normaler&#8217; [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt wohl kaum einen Java (oder C# oder was auch immer) Entwickler der was auf sich hält, und der nicht weiß was &#8216;refactorn&#8217; bedeutet. Es sei denn &#8216;was auch immer&#8217; steht für SQL, PL/SQL oder dergleichen. Denn Datenbanken und darin enthaltene Artefakte der Softwareentwicklung werden, aus welchen Gründen auch immer, anders behandelt, als &#8216;normaler&#8217; Code. Selbst die Verwendung eines <a href="http://www.codinghorror.com/blog/archives/000743.html">Versionskontrollsystems</a> ist <a href="http://www.codinghorror.com/blog/archives/001050.html">für viele Neuland</a>. Und die Idee Code quasi im Vorbeigehen zu verbessern, zu verfeinern und aufzuräumen erscheint vielen DBAs und Datenbankentwicklern völlig abwegig.</p>
<p style="float: left; margin-right: 10px"><a href="http://www.amazon.de/gp/product/0201485672?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0201485672"><img src="/wp-content/uploads/2008/08/519xt0der6l_sl160_.jpg" border="0" alt="" /></a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=0201485672" border="0" alt="" width="1" height="1" /></p>
<p>Man muss den DBAs und Datenbankentwicklern zu Gute halten, das selbst Martin Fowler refaktorn von Datenbanken für besonders schwierig hält und es daher dieses Thema in seinem Buch &#8220;Refactoring&#8221; mehr oder weniger vollständig ausgeschlossen hat. Dieses Thema haben mittlerweile andere bearbeitet und seit einigen Jahren ist eine gesondertes Buch zum Thema Refactoring von Datenbanken verfügbar. Ich halte dieses Buch für sehr wichtig und lesenswert und es sei allen, die mit Datenbanken zu tun haben dringenst an Herz gelegt.</p>
<p style="float: right; margin-left: 10px"><a href="http://www.amazon.de/gp/product/0321293533?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0321293533"><img src="/wp-content/uploads/2008/08/217h82tkq3l_sl160_.jpg" border="0" alt="" /></a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=0321293533" border="0" alt="" width="1" height="1" /></p>
<p>Allerdings muss ich den potentiellen Leser warnen. Die Autoren Scott Ambler und Pramodkumar Sadalage haben keinen Trick auf Lager, wie sie Änderungen von Datenbanken zwischen den verschiedenen Instanzen synchronisieren. Bei Änderungen an Datenbanken müssen sehr oft auch Daten aktualisiert werden und dies geht nur mit dem Wissen um diese Daten, dies kann nicht automatisiert werden. Es wird hier also korrekter Weise auf die manuelle Pflege von Skripten verwiesen. Leider hat sich die Hoffnung der Autoren bisher nicht erfüllt, dass leistungsfähige Tools für die Unterstützung dieser Aufgaben entstehen. Es gibt zwar mittlerweile einige, die Skripte verwalten, feststellen welche noch eingespielt werden und diese einspielen oder zu einen SQL Script zusammenführen. Aber diese Tools fühlen sich an wie ein Faustkeil, wenn man Werkzeuge wie IDEA oder Eclipse gewohnt ist.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2008/08/22/database-refactoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAX 08: Sprachen,  Concurrency, Security, Architektur</title>
		<link>http://blog.schauderhaft.de/2008/05/19/jax-08-sprachen-concurrency-security-architektur/</link>
		<comments>http://blog.schauderhaft.de/2008/05/19/jax-08-sprachen-concurrency-security-architektur/#comments</comments>
		<pubDate>Mon, 19 May 2008 18:40:08 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Softwaredevelopment]]></category>
		<category><![CDATA[aop]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Concurrency]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[jax08]]></category>
		<category><![CDATA[quality]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/2008/05/19/jax-08-sprachen-concurrency-security-architektur/</guid>
		<description><![CDATA[Wie schon erwähnt war ich vor ein paar Wochen auf der JAX 08, und ich bin immer noch mit den Nachwirkungen beschäftigt. Hier meine persönliche Zusammenfassung der wesentlichen Erkenntnisse. Sprachen Das aktuelle Thema überhaupt ist sicherlich Sprachen. Durch die Allgegenwart von zwei wesentlichen Laufzeitumgebungen (JVM von Java/Sun und der CLR von .NET/Microsoft) ist es extrem [...]]]></description>
			<content:encoded><![CDATA[<p>Wie schon <a href="/2008/04/24/komplexitat-und-die-neuen-sprachen/">erwähnt</a> war ich vor ein paar Wochen auf der <a href="http://it-republik.de/jaxenter/blog/2008/02/12/dynamische-sprachen-ruby-jruby-groovy-co/">JAX 08</a>, und ich bin immer noch mit den Nachwirkungen beschäftigt. Hier meine persönliche Zusammenfassung der wesentlichen Erkenntnisse.</p>
<p><strong>Sprachen</strong></p>
<p>Das aktuelle Thema überhaupt ist sicherlich Sprachen. Durch die Allgegenwart von zwei wesentlichen Laufzeitumgebungen (JVM von Java/Sun und der CLR von .NET/Microsoft) ist es extrem einfach neue Sprachen mal auszuprobieren. Zu dem Thema empfehle ich den <a href="http://www.voelter.de/data/articles/trends2007.pdf">Artikel von Markus Völter</a>.</p>
<p>Meine persönlichen Erkenntnisse dazu:</p>
<ul>
<li>Fast(?) nichts von den Konzepten ist neu. Die Basis für funktionale Sprache z.B. ist das Lambda Kalkül von 1930. Insbesondere das Polyglotte Programmieren ist doch längst Standard. Ich z.B. zähle in den meisten Projekten mindestens Java, SQL, PL/SQL, HTML und CSS zu meinem Handwerkszeug. Was sich ändern könnte, ist warum wir zwei oder mehr Sprachen einsetzen: Weil bestimmte Aspekte in der einen, andere in der zweiten Sprache besser darstellbar sind. Während bisher der Grund der Mangel an Alternativen ist. (Ja ich weiß, man kann auch in Oracle mit Java arbeiten. Aber wer das einwirft hat es noch nicht ernsthaft ausprobiert).</li>
<li>Wir werden uns damit beschäftigen müssen. Heiße Kandidaten für die praktische Anwendung sind für mich: Groovy und Scala.<br />
Auch spannend finde ich Haskell. Ich habe vor vielen Jahren an der Uni <a href="http://de.wikipedia.org/wiki/Miranda_%28Programmiersprache%29">Miranda </a>gelernt und hätte nie gedacht, dass dies mal im Berufsleben relevant werden könnte.<br />
Als Physiker, der einmal intensiv mit Fortran gearbeitet hat finde ich auch <a href="http://en.wikipedia.org/wiki/Fortress_%28programming_language%29">Fortress </a>sehr beeindruckend. Dies Sprache kann zumindest für Mathematiker und ähnliche <a href="http://research.sun.com/projects/plrg/faq/NAS-CG.pdf">sehr leserlich gerendert</a> werden und ist speziell auf (massiv)parallele Ausführung ausgerichtet.</li>
</ul>
<p>Womit wir bei einem weiteren Thema sind:</p>
<p><strong>Concurrency</strong></p>
<p>Das Moore&#8217;sche Gesetz als Basis des Quaketunings (18 Monate Quake spielen, schon ist die Anwendung doppelt so schnell) ist am Ende. Als &#8216;horizontale Ausweichbewegung&#8217; werden uns von AMD und Intel Mehrkern CPUs auf den Schreibtisch gestellt. Dadurch geraten überall Leute in Panik, existierende Anwendungen würden nun wie die Fliegen von den Wänden fallen, da Threadingprobleme sich nun manifestieren.</p>
<p>Nun ja, ich weiß nicht was für Anwendungen ihr schreibt, aber ich schreibe beruflich entweder Swing oder Webanwendungen, die auf Datenbanken gehen. Nur ein sehr kleiner Teil der Arbeit steckt in komplexen Algorithmen, und ich habe noch nie etwas davon parallelisiert. Datenbanken und Webserver laufen &#8216;schon immer&#8217; auf Mehrprozessormaschinen. Es sind heute halt 512 statt 16. Die Art und Weise wie dort Parallelverarbeitung eingesetzt wird, ist extrem einfach und daher handhabbar: Jede Anfrage bekommt einen Thread, und darf ihn für sich alleine verwenden, bis die Anfrage abgearbeitet ist. Zumindest sieht es aus der Sicht des Entwicklers so aus.</p>
<p>Nur in Swing muss man typischer Weise mit mehreren Threads arbeiten, da lang laufende Aktionen sonst die Darstellung der Anwendung blockieren. Dies wird man aber wenn irgend möglich minimieren,  da jeder der <a href="http://www.amazon.de/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.de%2FConcurrent-Programming-Java-Principles-Addison-Wesley%2Fdp%2F0321256174%3Fie%3DUTF8%26s%3Dbooks-intl-de%26qid%3D1211220705%26sr%3D1-5&amp;site-redirect=de&amp;tag=schauderhafte-21&amp;linkCode=ur2&amp;camp=1638&amp;creative=6742">Doug Leas Buch</a><img src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=ur2&amp;o=3" style="border: medium none  ! important; margin: 0px ! important" border="0" height="1" width="1" /> gelesen hat, weiß wie schwierig Concurrency ist.</p>
<p>Viele der neuen Sprachen haben aber Konstrukte, die die Verteilte Ausführung unterstützen und es ist ja nicht so, dass wir die nicht zu nutzen wüssten. Unabhängig von der Anzahl der Prozessoren gibt es nämlich einen Bereich, in dem Concurrency eine Rolle spielen sollte: bei dem Zugriff auf verteilte Ressourcen. Egal ob es die Datenbank oder der entfernte Web Service ist, wenn wir eine Anfrage abschicken und warten, bis die Antwort kommt, bevor wir die nächste Anfrage lostreten verschwenden wir mindestens Zeit, und meist auch wertvolle Ressourcen (mindestens den wartenden Thread). Je nachdem wie knapp die Ressourcen sind, wird man früher oder später genötigt sein, die Anfragen parallel anzustoßen und anschließend die Ergebnisse zusammenzuführen. Schön wenn die Sprache mit der man dies tut, ein solches Vorgehen angemessen unterstützt.</p>
<p><strong>Security</strong></p>
<p>Es gibt immer wieder Stimmen, die meinen, Security würde jetzt DAS große Thema. Vertraut mir, wird es nicht. Genauso wenig wie Gasmasken oder Panzertüren DAS große Thema werden. Aber Security ist ein Dauerbrenner, den niemand ignorieren sollte. Oder schließt ihr euer Auto und eure Wohnung nicht ab?  Daher gab es auch auf der JAX Vorträge zu diesem Thema.</p>
<p>Für mich die wichtigsten Punkt waren dabei:</p>
<ul>
<li> * Der <a href="http://de.wikipedia.org/wiki/Demingkreis">Deming Zyklus</a> gilt auch hier. D.h.
<ul>
<li> Plant was eure Sicherheitsziele sind und was ihr dafür tun müsst. Wollt ihr euch gegen Skriptkiddies schützen? Oder haltet ihr die NSA für euren Feind? In letzterem Fall könnte aber auch ein Psychater helfen <img src='http://blog.schauderhaft.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li> Führt die Maßnahmen durch.</li>
<li> Prüft, ob die Maßnahmen wirksam sind.</li>
<li> Wenn die Prüfung negativ ausfällt, reagiert darauf.</li>
</ul>
</li>
<li> Schwierig an dem Security Thema ist, dass selbst gigantische Sicherheitsprobleme nicht von allen erkannt werden. Wenn ich in mein Haus eine Tür aus Pappe einbaue, brauche ich keinen Experten um zu erkennen, dass das eine schlechte Idee ist. Bei Software ist das ganze deutlich weniger offensichtlich. Ich habe die privaten Schlüssel für Zertifikate schon gemailt bekommen. Daher gibt es eine ganz wichtige Aufgabe, wenn eine Anwendung &#8216;sicher&#8217; werden muss: Awareness schaffen. Alle Beteiligten (Entwickler, Designer, Tester, Administratoren, Anwender, &#8230;) müssen in Sachen Security geschult werden. Denn was nützt die schöne Sicherheitsarchitektur, wenn der Benutzer seines Sohnes Namen als Passwort verwendet und das auch noch per E-Mail verschickt und auf den Monitorrahmen schreibt?</li>
<li> Security heißt nicht einfach Benutzer Authentifizierung und Authorisierung sondern durchdringt den gesamten Entwicklungsprozess.
<ul>
<li> Bei der Analyse müssen die Anforderungen aufgenommen werden.</li>
<li> Diese müssen bei der Architektur und dem Design berücksichtigt werden.</li>
<li> Es muss natürlich implementiert werden,</li>
<li> aber auch getestet,</li>
<li> deployed</li>
<li> und genutzt</li>
</ul>
<p>Und wie ich oben skizziert habe, gibt es auch in den Bereichen Herausforderungen, wo man sie normalerweise vielleicht nicht erwartet.</li>
</ul>
<p><strong>Architektur</strong></p>
<p>Ist ein weiterer Dauerbrenner, und ähnlich wie bei Security lautet hier mein Hinweis <a href="http://de.wikipedia.org/wiki/Demingkreis">Deming Circle</a>! Eine Architektur hat eine Aufgabe zu erfüllen. Die Aufgabe sollte vorher klar sein und nachher muss geprüft werden, dass die Aufgabe gelöst wurde. Ansonsten ist Architektur ein Unfall oder Selbstbefriedigung des Architekten.</p>
<p>Durch das Thema Nr.1 &#8216;Sprachen&#8217; gewinnen wir gerade im Bereich Architektur gerade gewaltig an Möglichkeiten:</p>
<ul>
<li>Unterschiedliche Sprachen für unterschiedliche Bereiche.</li>
<li>DSLs für Spezialfälle</li>
<li>AOP oder spezielle Sprachstrukturen für die Umsetzung von Architekturentscheidungen</li>
</ul>
<p><strong>SOA und BPM</strong></p>
<p><a href="/2008/04/23/konferenzen-und-big-player-sessions/">Viel Hype und (fast) nichts dahinter</a>.</p>
<p><strong>Das 5. Element (Quintessenz)</strong></p>
<p>Die Probleme bleiben die alten. Die Lösungen sind auch nicht neu. Die Zeiten bleiben interessant.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2008/05/19/jax-08-sprachen-concurrency-security-architektur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das beste Buch über Software Design&#8230;</title>
		<link>http://blog.schauderhaft.de/2008/03/06/das-beste-buch-uber-software-design/</link>
		<comments>http://blog.schauderhaft.de/2008/03/06/das-beste-buch-uber-software-design/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 18:55:49 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Softwaredevelopment]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[domain driven design]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/2008/03/06/das-beste-buch-uber-software-design/</guid>
		<description><![CDATA[&#8230; das ich seit langem gelesen habe ist Domain-Driven Design: Tackling Complexity in the Heart of Software Entgegen der allgegenwärtigen Presens von Objekt Orientiertem Design in der Literatur und im Internet kommen in meiner Erfahrung diese Techniken oft nur im Infrastruktur Code zur Anwendung (GUI Frameworks, Web Frameworks, Datenbankzugriff &#8230;). Wenn es aber um das [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; das ich seit langem gelesen habe ist <strong>Domain-Driven Design: Tackling Complexity in the Heart of Software</strong><br />
<a href="http://www.amazon.de/gp/product/0321125215?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0321125215"><img src="/wp-content/uploads/2008/01/21olwrbseul_aa_sl160_.jpg" border="0" alt="" /></a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=0321125215" border="0" alt="" width="1" height="1" /></p>
<p>Entgegen der allgegenwärtigen Presens von Objekt Orientiertem Design in der Literatur und im Internet kommen in meiner Erfahrung diese Techniken oft nur im Infrastruktur Code zur Anwendung (GUI Frameworks, Web Frameworks, Datenbankzugriff &#8230;). Wenn es aber um das eigentliche Problem geht, ist die Basis auf einmal das Datenmodell. Ich weiß um den Wert einer guten Datenbank. Aber die Möglichkeiten Geschäftslogik in der Datenbank sichtbar zu machen sind extrem beschränkt. Es gibt nicht viel mehr als Foreign Keys, um Beziehungen zwischen Daten zu repräsentieren. Es ist also völlig ungeeignet das Domänen Modell, dass jeder Anwendung zu Grunde liegt wiederzuspiegeln. Wenn es aber nicht im Sourcecode ist, wo ist es dann? Gemäß Agilen Methoden: Nirgends, jedenfalls nicht in schriftlicher Form. Und gemäß Wasserfall oder V-Modell oder dergleichen? In einem veralteten Dokument!</p>
<p>Martin Fowler schlägt als anwendbares Enterprise Pattern das <a href="http://martinfowler.com/eaaCatalog/domainModel.html">Domainmodel</a> vor, das nach allen Regeln der objektorientierten Kunst erstellt wird. Evans liefert in seinem Buch nun das Handwerkszeug, um mit diesem Domänen Model möglichst produktiv zu arbeiten. Er beschreibt wie Refactoring, Patterns, Modularisierung und vieles mehr in diesem Kontext eingesetzt werden können um das Domänen Model im Source Code ausdrucksstark zu halten und wie es als Grundlage für eine gemeinsame Sprache (Ubiquitous Language) zur Basis sämtlicher Arbeit im Projekt wird. Dies alleine wäre schon Grund genug das Buch zur Pflicht für jeden Softwaredesigner und Architekten zu machen. Hinzu kommt, dass es sich sehr angenehm liest, unter anderem da er realitätsnahe Beispiele verwendet und Beispiele aus der eigenen Erfahrung bringt die zeigen was nicht funktioniert.</p>
<p>In manchen Reviews werden ihm Wiederholungen vorgeworfen. Einiges was so mancher für Wiederholungen hält, sind keine, sondern nur ähnliche oder verwandte Konzepte. Vieles schreibt aber tatsächlich mehrfach, allerdings in einem Umfang, den ich als sehr angenehm empfand.</p>
<p align="center">Äußerst empfehlenswert.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2008/03/06/das-beste-buch-uber-software-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nicht ganz schlecht genug um es gleich wegzuwerfen</title>
		<link>http://blog.schauderhaft.de/2008/01/28/nicht-ganz-schlecht-genug-um-es-gleich-wegzuwerfen/</link>
		<comments>http://blog.schauderhaft.de/2008/01/28/nicht-ganz-schlecht-genug-um-es-gleich-wegzuwerfen/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 20:10:03 +0000</pubDate>
		<dc:creator>Jens Schauder</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.schauderhaft.de/2008/01/28/nicht-ganz-schlecht-genug-um-es-gleich-wegzuwerfen/</guid>
		<description><![CDATA[Na gut, ich hätte es eh nicht wegwerfen können, da ich es mir nur ausgeliehen hab: &#8220;Der Termin&#8221; von Tom de Marco: Der Roman wird immer wieder gelobt und gepriesen dafür, dass er Projektmanagement Know How in Form eines Romans vermittelt. Meine Manöverkritik fällt da etwas anders aus: Als Roman ist das Buch katastrophal schlecht. [...]]]></description>
			<content:encoded><![CDATA[<p>Na gut, ich hätte es eh nicht wegwerfen können, da ich es mir nur ausgeliehen hab: &#8220;Der Termin&#8221; von Tom de Marco:</p>
<p><a href="http://www.amazon.de/gp/product/3446401652?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=3446401652"><img src="http://blog.schauderhaft.de/wp-content/uploads/2008/01/21dhch9w6pl_aa_sl160_.jpg" border="0" alt="" /></a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=3446401652" border="0" alt="" width="1" height="1" /></p>
<p>Der Roman wird immer wieder <a href="http://wollekuhl.styleblogs.de/2008/01/08/der-termin/">gelobt</a> und <a href="http://www.dorsethouse.com/inside/2007/12/on-deadline-business-report-journal.html">gepriesen</a> dafür, dass er Projektmanagement Know How in Form eines Romans vermittelt.</p>
<p>Meine Manöverkritik fällt da etwas anders aus:</p>
<p>Als Roman ist das Buch katastrophal schlecht. Die Charaktere haben nicht ganz soviel Profil wie eine Briefmarke. Beim Spannungsbogen hat er die Sehne vergessen und das Happy End ist einfach nur angeklebt. Die innere Logik fehlt komplett: Warum hat ein kleines armes Land Unmengen an sehr guten Softwareentwicklern, die aber alle nichts zu tun haben und das seit dem Niedergang des Ostblocks, also seit ca. einem halben Jahrzehnt zum Zeitpunkt des Erscheinens des Buches Mitte der 90er? Warum wird ein Manager, der in der Lage ist ein Team von 15000 Entwicklern so zu leiten, dass unmögliche Termine eingehalten werden, gefeuert? Die Liste von Fragen ließe sich fortsetzen bis mein Herz streikt, also weiter zum nächsten Kritikpunkt.</p>
<p>Fachlich schreibt Herr De Marco des öfteren einfach nur Quatsch. Eine Functionpoint Analyse von 6 Projekten mit insgesamt 20000 (in Worten zwanzigtausend) Functionpoints innerhalb eines Tages gehört dazu. Oder die Qualitätsbewertung von einzelnen Mitarbeitern nach CMMI, was so sinnvoll ist, wie die Temperatur eines Vakuums messen zu wollen (Um fair zu sein CMMI wird nicht ausdrücklich erwähnt, aber es ist recht offensichtlich gemeint).</p>
<p>Die Lehren die der Hauptcharakter aus seinen Erlebnissen zieht sind in vielen Fällen doch äußerst zweifelhaft, so zum Beispiel die Hymnen auf Functionpoint Analyse und das Wasserfallmodell. Bei letzterem behauptet De Marco, die Ergebnisse würden um so besser, um länger und intensiver man sich mit dem Entwurf beschäftigt.</p>
<p>Zu allem Überfluss ist die Übersetzung hölzern und sagen wir mal eigenwillig. Wenn &#8220;Whiteboard&#8221; als Weißtafel übersetzt wird freut man sich nur noch, dass es wenigstens nicht Weißbrett geworden ist.</p>
<p>Am ärgerlichsten ist jedoch, dass das Buch die gemachten Versprechen nicht hält. Es geht die ganze Zeit um ein Experiment, in dem die Wirksamkeit von verschiedenen Managementmethoden mit einander verglichen werden sollen. Aber es werden fast nie Managementmethoden miteinander verglichen! Und wenn, wird die eine von einer völlig inkompetenten Person repräsentiert, so dass das Ergebnis weder überraschend noch lehrreich ausfällt.</p>
<p>Aber Tom De Marco hat nicht alles falsch gemacht. Jeder der sein Buch liest und glaubt, muss zu dem Schluss kommen, dass man bei einem Problem nur einen Berater ins Haus holen muss und schon flutscht es wieder. Da Tom De Marco selbst Berater ist, ist das Buch damit wohl eine der erfolgreichsten Werbebroschüre aller Zeiten.<br />
Wieso habe ich das Buch also bis zum Ende gelesen? Das Buch liest sich extrem schnell. Da die Geschichte unintressant ist, und die Fakten äußerst dünn, kann man es innerhalb von ca. 4 Stunden ganz gut durchlesen.</p>
<p>Wen ich immer noch nicht von diesem Buch abbringen konnte, dem empfehle ich gleich noch eins: <a href="http://www.amazon.de/gp/product/3499614340?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=3499614340">Der Minuten-Manager.</a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=3499614340" border="0" alt="" width="1" height="1" /> Das Buch enthält weniger (falsche) Informationen, die Geschichte ist ähnlich schlecht wie von &#8220;Der Termin&#8221;, aber was entscheidend ist: Man kann es in ca 0,5 bis 1 Stunde durchlesen.</p>
<p>Um den Leser nicht völlig ohne Lesestoff zurückzulassen hier noch eine Buch, das mir schon vor geraumer Zeit wirklich gut gefallen hat: <a href="http://www.amazon.de/gp/product/0060512806?ie=UTF8&amp;tag=schauderhafte-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0060512806">Cryptonomicon.</a><img style="border: medium none  ! important; margin: 0px ! important" src="http://www.assoc-amazon.de/e/ir?t=schauderhafte-21&amp;l=as2&amp;o=3&amp;a=0060512806" border="0" alt="" width="1" height="1" /> Leider wird man auch hier wenig über Projektmanagement lernen, dafür gibt es aber viele interessante Stunden und nebenbei sogar noch ein wenig Wissen über Verschlüsselung und Geschichte.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schauderhaft.de/2008/01/28/nicht-ganz-schlecht-genug-um-es-gleich-wegzuwerfen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
