Certified Professional for Software Architecture (CPSA-F)

Anders als in den handwerklichen Berufen mit ihrem Meisterzwang, druckt man sich in der Software-Branche so ziemlich alles auf die Visitenkarte, was beim Kunden Eindruck schindet. Ob der Senior System Architekt aber wirklich komplexe Softwaresysteme entwirft und dokumentiert oder ob er den ganzen Tag in einem dunklen Serverraum die Schrauben der Racks nachzieht, darüber sagt ein solcher Titel wenig aus.

Darum bietet das International Software Qualification Board (iSAQB) das Zertifizierungs-Programm CPSA an. Dieses definiert über Lehrpläne und Prüfungsordnungungen an was man als Software Architekt so alles können und wissen sollte.

Weiterlesen „Certified Professional for Software Architecture (CPSA-F)“

Mastering Software Architecture

Seit einiger Zeit setze ich mich recht intensiv mit dem Thema Software Architektur auseinander. So entstand mein Bedürfnis, mir diesen Themenbereich einmal von erfahrenen Architekten näher bringen zu lassen. Da ich Gernot Starke bereits durch seine Bücher (z.B. „Effektive Softwarearchitekturen“) kenne, war es für mich naheliegend das Seminar „Mastering Software Architecture“ zu besuchen, welches er gemeinsam mit Peter Hruschka („Business Analysis und Requirements Engineering: Produkte und Prozesse nachhaltig verbessern“) anbietet.

Ein schöner Nebeneffekt dabei war, dass das Seminar unter anderem auch die Lernziele des Lehrplans für die Prüfung zum „Certified Professional for Software Architecture – Foundation Level“ (CPSA-F) der iSAQB transportierte, so dass ich mich während des Seminars mehr oder weniger spontan dazu entschlossen habe auch diese Zertifizierung zu machen.

Weiterlesen „Mastering Software Architecture“

Produktivität durch Pair Programming

Noch immer hält sich selbst in Entwickler-Kreisen das Vorurteil, Pair Programming würde die Entwicklungsgeschwindigkeit reduzieren.

Klar, wenn zwei Entwickler an einem Rechner sitzen kann immer nur einer Tippen. Doch ist Programmieren wirklich nur das Abtippen von Code? Und wenn dem so ist, warum schafft es auch der beste Programmierer nicht am Tag mehr Zeilen zu schreiben, als eine durchschnittliche Rechtsanwaltsgehilfin in einer Stunde?

Ich habe selbst schon Pair-Programming-Sessions erlebt, bei denen zwei Entwickler vor dem Rechner reine Verschwendung waren. Dabei kann man mit einem motivierten und disziplinierten Paar sowie einer Hand voll best practices, die Velocity mit Hilfe von Pair Programming durchaus verdreifachen.
Weiterlesen „Produktivität durch Pair Programming“

Champignon-Risotto mit Gorgonzola

Mein absolutes Lieblingsgericht, wenn es um vegetarisches Essen geht. Das Champignons-Risotto ist einfach nur der Hammer und die Kombination mit einem milden Gorgonzola einfach perfekt. Ich mache das Gericht sehr gerne als kleinen Zwischengang zwischen Vor- und Hauptspeise.

Neben dem tollen Geschmack macht das Gericht zudem auch optisch etwas her. Zwei Esslöffel Pilz-Risotto auf einem tiefen italienischen Pasta-Teller, garniert mit ein wenig Gorgonzola und angebratenen Champions-Schreiben steigern durchaus den Apetitt.

Wer will, kann das ganze noch mit einem Klecks selbstgemachten Walnuss-Pesto abrunden.

Weiterlesen „Champignon-Risotto mit Gorgonzola“

Gebratene Mie-Nudeln mit Paprika

Da es so lecker und vor allem so schnell zuzubereiten ist, ist das folgende Gericht bei mir schon seit Jahren ein Dauerbrenner. Es schmeckt super mit Hühnchen, Garnelen, Rind oder Schweinefleisch, kann aber, wie im folgenden Rezept, auch sehr gut vegetarisch zubereitet werden. Jeder kennt es und fast jeder hat schonmal 5 Euro im Asia-Imbiss abgegeben, um einen Karton voll mit gebratenen Mie-Nudeln zu bekommen. Aber natürlich ist die frische, selbstgemachte Variante noch viel besser als die Version aus der Bahnhofshalle.

Weiterlesen „Gebratene Mie-Nudeln mit Paprika“

Bucket Estimation

Nachdem ich bereits über absolutes Schätzen in Personentagen und relatives Schätzen mit Hilfe von Story Points geschrieben habe, möchte ich im Folgenden ein sehr einfaches und schnelles Verfahren vorstellen, mit dem man sehr unkompliziert ein umfangreiches Backlog abschätzen kann. Beim Bucket Estimation schätzt man Anforderungen, indem man sie dem Aufwand nach sortiert, sie anschließend gruppiert und dann allen Product Backlog Items in einer Gruppe (Bucket)  die gleiche Anzahl an Story Points zuweist.

Zum Schätzen eines Backlogs mit 50 bis 75 Backlog Items benötigt man mit dieser Methode in der Regel 1,5 bis 2 Stunden.

Weiterlesen „Bucket Estimation“

Relatives Schätzen mit Story Points

Ein Trick, um die Probleme des absoluten Schätzens auszugleichen, ist das Schätzen mit Hilfe von Story Points.

Diese Schätzung drückt im Gegensatz zum absoluten Schätze in Personentagen aus, wie hoch der Aufwand zweier Anforderungen im Bezug zueinander sind und kann darum auch als relative Schätzung bezeichnet werden. Ist eine Anforderung doppelt so anspruchsvoll wie eine andere, so hat sie auch doppelt so viele Story Points.

Weiterlesen „Relatives Schätzen mit Story Points“

Absolute Schätzungen in Personentagen

Absolutes Schätzen in Personendaten PT ist immer die schlechteste aller Möglichkeiten. Hierbei müssen ein oder mehrere Entwickler abschätzen wie viele Tage die Entwicklung einer Software in Anspruch nimmt. Es gilt PT = (Dauer der Entwicklung in Tagen) x (Am Projekt beteiligte Personen).

Eine solche Abschätzung ist meist vor Beginn des Projektes notwendig, um auf dieser Basis eine Entscheidung treffen zu können, ob das Projekt umgesetzt werden kann oder nicht.

Weiterlesen „Absolute Schätzungen in Personentagen“

Aufwandsabschätzung in der Softwareentwicklung

Aufwandsabschätzungen gehören zu den unangenehmsten Aufgaben eines Softwareentwicklers. So unangenehm dieser Task ist, so wichtig ist er jedoch auch. Sei es um im Vorfeld die Kosten für eine neue Software zu kennen, um eine zeitliche Release-Planung machen zu können oder um Behinderungen im Entwicklungsprozess zu erkennen.

Weiterlesen „Aufwandsabschätzung in der Softwareentwicklung“