Feeds:
Beiträge
Kommentare

Endlich wieder da

Dieses Blog war ziemlich ruhig geworden und dafür gibt es einen Grund. Ich habe die letzten knapp 3 Jahre für einen anderen Arbeitgeber gearbeitet.

Zum Ersten haben wir da eine richtig große Kugel geschoben, sodass wenig Zeit war zu publizieren. Zum Zweiten wollte mein Arbeitgeber nicht, dass Inhalte aus unserer Arbeit öffentlich gemacht werden. Deswegen habe ich mich auf meine Heim-Automatisierung gestürzt und dazu ein Blog gepflegt (Link).

Jetzt hat sich das aber wieder geändert. Seit Anfang dieses Monats bin ich wieder frei, über meine Arbeit zu schreiben und mein neuer Arbeitgeber ermutigt mich sogar, zu publizieren. Ich freue mich drauf!

Advertisements

In der aktuellen Folge des Podcasts “Softwaretechnik kompakt” interviewe ich Dr. Carola Lilienthal zum Thema „Qualität von Softwarearchitekturen“.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: http://www.wolfgideonbleek.de/podcast/SoftwaretechnikKompakt.xml

Zum Lesen

https://www.xing.com/profile/Carola_Lilienthal

http://de.wikipedia.org/wiki/Liste_von_Softwareentwicklungsprozessen

http://de.wikipedia.org/wiki/Spiralmodell

http://de.wikipedia.org/wiki/Agile_Softwareentwicklung

http://de.wikipedia.org/wiki/Extreme_Programming

http://de.wikipedia.org/wiki/Prototyping_(Softwareentwicklung)

Software wird aus Elementen zusammengesetzt, die in Beziehungen stehen. Die Gesamtheit von Elementen und Beziehungen stellt eine Software-Architektur dar. Ich kann zu jedem Software-System eine Architektur vorgeben und die aktuelle Architektur feststellen. Die Differenz davon sind dann Architekturverletzungen. Gebe ich Regeln vor, wie die Elemente und Verknüpfungen eingesetzt werden sollen, kann ich eine Referenzarchitektur bzw. einen Architekturstil definieren.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: RSS iTunes

Direkter Link zu dieser Podcast-Folge.

Zum Lesen

http://de.wikipedia.org/wiki/Softwarearchitektur

http://de.wikipedia.org/wiki/Architekturmuster

https://de.wikipedia.org/wiki/Schichtenarchitektur

http://de.wikipedia.org/wiki/Domain-Driven_Design

http://de.wikipedia.org/wiki/Mustersprache

http://subs.emis.de/LNI/Proceedings/Proceedings109/gi-proc-109-059.pdf

https://www.fbi.h-da.de/fileadmin/personal/b.humm/Publikationen/Siedersleben_-_Quasar_1__sd_m_Brosch_re_.pdf

http://sourceforge.net/projects/openquasar/

Und als Schmankerl

http://denkspuren.blogspot.de/2007/03/was-ist-software-architektur.html

http://it-and-more.blogspot.de/search/label/architecture

http://de.wikipedia.org/wiki/Gottobjekt

Ich komme mit vielen agilen Projekten in Kontakt und stolpere immer darüber, wie agile User Stories geschätzt werden.

Mittlerweile ist ja von vielen akzeptiert, dass ein Schätzen in Komplexitätsklassen besser funktioniert als in konkreten Zeitaufwänden. Die Argumentation dazu spare ich mir an dieser Stelle. Ich gehe auch davon aus, dass die Fibonacci-Zahlen als Schätzmaß akzeptiert sind. Wir haben also 1, 2, 3, 5, 8 und 13 als Beginn und machen dann mit 20, 40 und 100 weiter.

Dabei hat es sich in meiner Praxis bewährt, dass die einstelligen Schätzzahlen gute Komplexitäten sind, um sie in einem Sprint zu bearbeiten. Das ist eine Konvention. Natürlich geht es auch anders, aber ich halte es so für sinnvoll. Die zweistelligen Komplexitäten sind zu groß, als dass sie in einen Sprint genommen werden könnten. Dabei spielt die 13 eine besondere Rolle. Sie sagt aus, dass es zwar ein sehr komplexes Problem ist, aber prinzipiell noch mit Anstrengung in den Sprint passen würde. Die Story ist aber ein direkter Kandidaten für das Aufteilen. Stories mit den Schätzungen 20, 40 oder 100 haben nur grobe Aussagen über ihre Komplexität und müssen deshalb genauer betrachtet werden.

Schaue ich mir die einstelligen Schätzzahlen genauer an, kann ich noch weitere Aussagen darüber treffen. So möchte ich z.B. beim kleinsten Schätzwert die Möglichkeit haben, die Story in möglichst einem Arbeitstag abzuschließen. Ich will viele Erfolgserlebnisse und deshalb brauche ich kurzfristig Rückkopplung, ob die Story passt (z.B. ob der Product Owner sie richtig umgesetzt findet). Auf die gleiche Weise schaue ich mir die 8-Punkte-Story an. Wenn ich 13 Punkte in Ausnahmefällen noch für einen Sprint akzeptiere, muss eine 13-Punkte-Story in einen Sprint passen. Das bedeutet aber, dass eine 8-Punkte-Story etwa die Hälfte eines Sprints einnehmen kann. Das passt auch mit meiner Anforderung, dass ich sie möglichst in einer Arbeitswoche erledigt haben will.

In der Sprintplanung muss ich dann eine Zusammenstellung finden, die mit der gegebenen Teamgröße und Faktoren wie Pairing und Testing zusammen passt. Ich will außerdem zum Sprintende eher kleine Stories vorliegen haben, damit ich nicht sehenden Auges eine Story beginne, die ich nicht beenden kann.

Am 24. September 2013 findet in Frankfurt im Maritim Hotel der BITKOM Software Summit statt. Ich halte dort zusammen mit Frank Simon einen Vortrag mit dem Titel „Agile Entwickler und überzeugte Tester: Das neue Traumpaar„.

Ich freue mich über alle Besucher und einen spannenden Tag. Die Teilnahme ist für BITKOM-Mitglieder kostenfrei!

 

 

Wir erstellen beim Schreiben von Software unterschiedliche Einheiten: z.B. Methoden, Klassen, Packages. In der neuen Folge des Podcasts “Softwaretechnik kompakt” beschäftige ich mich mit der Frage, welche Beziehungen zwischen diesen Einheiten möglich sind, was diese Beziehungen ausdrücken und welchen Regeln ich beim in-Beziehung-setzen folgen sollte.

Zur Übersicht des Podcasts geht es hier: https://wolfgideonbleek.wordpress.com/podcast

Podcast direkt abonnieren: RSS iTunes

Direkter Link zu dieser Podcast-Folge.

Zum Lesen

http://de.wikipedia.org/wiki/Vererbung_(Programmierung)

http://de.wikipedia.org/wiki/Gesetz_von_Demeter

http://c2.com/cgi/wiki?LawOfDemeter


Zum Ausprobieren

http://docs.codehaus.org/display/SONAR/

Und als Schmankerl

http://www.spinellis.gr/sw/ckjm/

Ich bin letztens auf diesen Artikel gestoßen: http://spoonique.de/2012/09/18/agiler-mythos-1-management-ist-uberflussig/

Ich habe eine ähnliche Erfahrung gemacht. Nur weil Bücher zu agilem Vorgehen erst einmal nichts zum Projektmanagement sagen, heißt dies nicht, dass es keines Projektmanagements bedarf. Dieses Missverständnis habe ich bei vielen meiner Kunden vorgefunden.

Weil in der Scrum-Literatur von der Selbstorganisation des Teams die Rede ist, wird dies häufig über-interpretiert zu der Feststellung, dass kein zusätzliches Projektmanagement notwendig sein. Das ist aber nicht der Fall. Eine andere Motivation für das Weglassen des Projektmanagers ist, dass der Product Owner ja für viele fachbezogene Fragestellung der Entscheider ist.

Welche Fragestellungen aus dem Projektmanagement werden den typischerweise nicht bearbeitet:

  • Risikomanagement: Ein Klassiker. Scrum-Teams sind häufig zu sehr auf die Sache fokussiert und lassen die sachliche und systematische Betrachtung von Projekt-Risiken aus.
  • Kommunikations-Management: Ein Projekt muss – gerade in größeren Unternehmen – seinen Stand, seine Abgrenzung, die Zusammenarbeit und insbesondere Termine und Ergebnisse nach außen kommunizieren. Der Product Owner ist damit vielfach überfordert.
  • Ressourcen- und Budget-Management: Obwohl der Product Owner implizit über seine Sprintplanung Budget-Entscheidungen trifft, so ist es doch eine andere Ebene, z.B. einen externen Berater einzukaufen, Personen einzustellen, auszutauschen usw.
  • Personalplanung: Urlaube, Abteilungswechsel, Arbeitszeiten usw. sind in größeren Unternehmen über Matrixorganisationen schnell in ganz anderen Zuständigkeitsbereichen. Für das Projekt sind sie aber entscheidend, wenn es um Leistungsfähigkeit und Verlässlichkeit geht.

Gar keine gute Idee ist es, den Scrum Master in die Verantwortung für das Projektmanagement zu nehmen. Hier entstehen sofort Interessenkonflikte. Beispielsweise will der SM für Continuous Pace sorgen. Aus Projekt-Sicht sind aber Überstunden gefordert. Oder ein Mitarbeiter soll Urlaub abbauen, wird aber im Team unbedingt gebraucht.

Mir geht es deshalb darum, ein Verständnis für ein agiles Projektmangement zu bilden, in dem die Aufgaben zwischen den Scrum Mastern und Product Owner der Teams einerseits und einem Projektmanageer andererseits klar getrennt sind.