Skip to content

Buch: 97 Things Every … Should Know

Titel

97 Things Every Software Architect Should Know / 97 Things Every Programmer Should Know

Editor

Richard Monson-Haefel / Kevlin Henney

Sprache

Englisch

Genre

Fachbuch

Herausgeber

O'Reilly, 2009 / 2010

Seitenanzahl

222 / 258 Seiten

Wenn man 97 Personen fragt, was Ihre Meinung zu einem bestimmten Thema ist, kann man sicher sein, mehr als 100 Antworten zu erhalten – die sich teilweise auch noch widersprechen. Damit das nicht passiert, haben die beiden Herausgeber Kevlin Henney und Richard Monson-Haefel einfach weniger Personen gefragt, sodass am Ende 97 Tipps zusammengetragen werden konnte, die jeder Software-Entwickler bzw. Software-Architekt wissen sollte.

97 Things Every Software Architect Should Know

Software Architektur lässt sich ein bisschen mit normaler Architektur vergleichen. Man macht sich im Vorfeld viele Gedanken über die Basis und die Struktur eines Projekts, damit dieses stabil ist. Und wie bei einem fertiggestellten Wolkenkratzer kann man diese Basis im Nachhinein nur sehr schwer oder sehr teuer ändern. Das Buch „97 Things Every Software Architect Should Know“ soll helfen, bei den zu fällenden Entscheidungen keine Fehler zu machen.

Die Idee des Buches ist sehr einfach: Zahlreiche Software-Architekten erzählen in 97 kleinen Geschichten, was für gute Architektur bzw. einen guten Architekten notwendig ist oder was eher zu katastrophalen Ergebnissen führen kann. Fast 50 Personen tragen etwas zu dem Buch bei, was von Richard Monson-Haefel zusammengestellt wurde.

Der Inhalt des Buches variiert dabei sehr, was auch die Stärke des Buches ist. Von Datenbanken über Architektur-Pattern hin zu zwischenmenschlichen Beziehungen ist jedes Thema vertreten. Die einzelnen Kapitel sind dabei nur sehr lose geordnet, wobei versucht wurde, thematisch zusammengehörende Abschnitte auch nacheinander zu setzen.

Als Zielgruppe sollten nicht nur Software-Architekten verstanden werden. Auch „normale“ Entwickler können aus einigen Bereichen etwas mitnehmen, zumal in zahlreichen Firmen bzw. bei Open-Source-Projekten die Trennung zwischen Architekt, Designer und Entwickler gar nicht gegeben ist. Hier nimmt eine Person alle Posten ein und so ist der Inhalt gerade für diese wichtig.

Geprägt wird das Buch natürlich durch zahlreiche Verweise auf Agile Methoden und Praktiken wie Scrum oder Kanban. Aber auch wer nicht nach diesen Methodiken entwickelt, kann sich vielleicht den ein oder anderen Anreiz zur Verbesserung holen.

97 Things Every Programmer Should Know

Mit dem Wort „Programmierer“ verbinden viele Menschen eine Person, die in seinem dunklen Kämmerchen stupide Codezeilen in einem Computer hackt. Dabei könnte man in den meisten Fällen nicht falscher liegen. Wie oben erklärt, umfasst die Arbeit eines Programmierers – dessen bessere Berufsbezeichnung Software-Entwickler ist – nicht nur das Eintippen von Code. Es gehört sehr viel Geduld, Kreativität und Sozialkompetenz dazu. Diese Dinge werden in „97 Things Every Programmer Should Know“ angesprochen.

Ähnlich wie das obige 97-Dinge-Buch handelt es sich um eine eher lose Aneinanderreihung von Tipps diverser erfolgreicher und bekannter Programmierer. 73 männliche und weiblicher Vertreter ihrer Zunft geben ihre Meinung zum Besten und überschneiden sich dabei sogar manchmal. Die Beiträge wurden von Herausgeber Kevlin Henney aber auch entsprechend ausgewählt.

Themenbereiche sind unter anderem Code-Kommentare, Testen, Versionsverwaltung, Automatisierung und Kundenverständnis. Damit sieht man auch, dass die Themenbereiche sind an manchen Stellen auch mit „97 Things Every Software Architect Should Know“ überschneiden. Dementsprechend zählen nicht nur Entwickler zu der Zielgruppe des Buches, sondern beispielsweise finden auch Software-Architekten viele gute Tipps darin.

Verfügbarkeit unter einer Freien Lizenz

Interessant ist, dass O'Reilly sich auf ein besonderes Experiment eingelassen. Zwar stehen beide Bücher nicht unter einer Freien Lizenz, die einzelnen Beiträge aber schon. Veröffentlicht wurden diese unter der Creative-Commons-Lizenz CC-BY 3.0. So kann man diese in seinen eigenen Arbeiten nutzen, ändern (z.B. übersetzen) und verbreiten.

Die einzelnen Beiträge können darüber hinaus auf den folgenden Webseite gelesen werden:

  • http://programmer.97things.oreilly.com/
  • http://97things.oreilly.com/wiki/index.php/Home_Page_for_97_Things

Es handelt sich dabei aber teilweise um die unbearbeiteten Fassungen der Beiträge.

Fazit

Insgesamt sind beide Bücher sehr kurzweilig zu lesen. Jedes Kapitel umfasst meist zwei oder drei Seiten und durch die lose Kopplung kann man jederzeit aufhören und später mit dem nächsten Kapitel weitermachen ohne den Überblick zu verlieren. Sicherlich sind nicht alle Tipps für jeden hilfreich und bei einigen mag man auch anderer Meinung sein, aber interessant sind die Einblicke in jedem Fall.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Matthias M am :

Hi, danke für die Buchvorstellung, denn aktuell bin ich auf der Suche / lese gerade einige Bücher zu Softwareentwicklung, um mich noch weiter zu professionallisieren :)

Allerdings klingt das Ananderreihen von Einzelmeinungen irgendwie nicht so toll. Nicht weil die inhaltlich vielleicht falsch sind, sondern weil es (über das ganze Buch gesehen) einfach nicht ineinander greift bzw. sogar inkonsistent sein kann. Der OpenBook Gedanken ist natürlich löblich, die Umsetzung aber für so einen gestandenen Verlag echt peinlich :-/ Ein Wiki (siehe Wikibooks) kann man ja durchaus nutzen, deshalb darf aber Layout, Präsentation und Nutzbarkeit nicht darunter leiden. Sorry, aber so wikt das eher noch abschreckender ;)

Dee am :

Inkonsistent sind die Bücher nicht, da kann ich Dich beruhigen. Aber es gibt eben auch keinen roten Faden. Es sind eben zahlreiche nette Anekdoten, die mitunter auch mal was Neues lehren.

Die Wiki-Seite ist echt nicht der Hammer. Sieht auch etwas verlassen aus, aber immerhin dennoch unter Freier Lizenz. :)

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Formular-Optionen