Alistair Cockburn über Use Cases vs User Stories

Kurzmitteilung

Writing good use cases (or any other requirements) requires thinking, communicating, and thinking again. It is much easier just to write user-story tags on index cards and let the project blow up later.

Auszug aus einem lesenswerten Artikel („Why I still use use cases“), in dem Alistair Cockburn erklärt, warum er Use Cases für ein wertvolles Mittel zur Identifikation und Dokumentation von Anforderungen hält.

Is SAFe unSAFe – My Thoughts

Thoughts on how the Scaled Agile Framework is perceived by some agilists

At the moment the Scaled Agile Framework is getting a lot of attention as it provides answers to challenges common for large scale agile initiatives / large agile programs. SAFe being an agile/lean framework is also part of the Agile 2013 conference, something Ken Schwaber doesn’t seem to like:

Beside this tweet Ken also wrote a small article where he explains (his impression) that SAFe might be more dangerous as helpful as it has it’s root in RUP and Processes & Tools are overemphasized in comparison to People & Interactions:

Ken Schwaber’s Blog: Telling Like It Is – unSAFe at any speed.

While the article itself lacks some substance (you just notice how uncomfortable Ken is with SAFe) the comments are very interesting as real practitioners share thoughts and their experience with SAFe (good ones, bad ones).

*Updated*

A far more detailed article has been written by David Anderson (Mr. Software Kanban) in which he also expresses his concerns regarding SAFe. He wrote his article „Kanban – the anti-SAFe for almost a decade already“ about SAFe but also acknowledged that he just did some brief research and has no real experience with it:

To be honest, I don’t know a great deal about SAFe.

Still his summary is:

It is fair to say that this approach is the antithesis of the Kanban Method!

and also adds

I’m not impressed with the Kanban related material or its suggested usage in SAFe.

From his point of view

SAFe appears to collect together a number of techniques from software development processes from the 1990s and 2000s. It offers these as one large framework.

With that he seems to underestimate how many feedback cycles (learning & improving) during the last years finally resulted in what is now known as SAFe and he completely misses (from my perspective) the embedded Lean Product Development Principles (Donald Reinertsen) and the Lean Leadership foundation (part of the SAFe Lean Thinking House).

As you might have noticed I do not share the opinions of Ken Schwaber or David Anderson but I am happy to see that these two thought leaders finally found something they can agree on.

What are my thoughts on the Scaled Agile Framework?

SAFe is prescriptive – but it is just the start of your journey

From my own experience the implementation of SAFe is a quite challenging undertaking as SAFe seems to be a quite prescriptive framework with a lot of guidance and governance („Processes & Tools“) but still you have to have a deep understanding of the agile / lean foundations to implement (tailor, adapt) it in an organization specific way („People & Interactions“). I personally feel it is worth the effort because SAFe provides a proven framework with values, principles and best practices that address the common challenges you have to overcome when scaling agile and especially when scaling agile in a non green field environment. Having said that I believe it is key that you teach/establish real agile/lean thinking and learning cycles so the organization can further adapt and improve  („Kaizen“). Only with these Inspect & Adapt cycles „SAFe“ is going to work for your organization on the long run.

There are a lot more topics to discuss and to improve over time (your „SAFe Path“):
maus-lesend

  • how to find / optimize your agile release trains
  • how to do the portfolio planning in your context
  • how to optimize the demand management
  • how to prioritize in a scaled environment
  • what to do with the HIP sprint
  • when and how to release to production (the shorter the cycles the better)
  • how to facilitate & organize the inspect & adapt workshop for optimal group feedback
  • decide on which KPIs are really important for your company

Failing to see that this is the journey your organization needs to undertake will leave you stuck in the predefined default practices / processes / tool that you can find on the SAFe website. Keep in mind: Real agile-lean companies are always learning, adapting and improving.

Resistance as it is not Agile?

In companies that have existing Scrum teams I usually experience some resistance of agile practitioners as the team level loses some freedom of choice. Have a look at the role of the SAFe Product Owner for example, the need to have cadence AND synchronization or the need to commit to several sprint during the release planning event (sounds weird for most agile people who did not experience such an event before).

Global optimization required

Very often these people need to be trained to see the value of overall alignment and enterprise wide transparency (see SAFe Cove values). Single teams excelling in their own context _may_ sum up to a lot of local optima but (at the same time) may not be useful to reach a global (organization) optimization. Not understanding this is like not understanding how your company is creating value.

Role of Scrum in SAFe

Important to note is also that SAFe is not against Scrum but uses the principles of Scrum as a team process (perfect match for most teams in a SAFe environment) and Scrum as thinking model (guiding you how to organize and optimize your organization). However one could argue that it is not „Scrum.org Scrum“ as there are some adjustments made (as with most Scrum implementations „in the wild“) but still it shares the same spirit and goals, taking inspiration also from Donald Reinertsen’s Product Development Principles not only for developing products but also for improving the own processes.

What does really matter? It’s you!

While SAFe is about alignment, transparency, program execution and (code) quality it’s about how YOU are going to implement the ideas, principles and practices in YOUR environment. In the end it’s the implementation that matters: It’s you, your colleagues, your shared goals/values and the business value you produce.

Thoughts on how the Scaled Agile Framework is perceived by some agilists

At the moment the Scaled Agile Framework is getting a lot of attention as it provides answers to challenges common for large scale agile initiatives / large agile programs. SAFe being an agile/lean framework is also part of the Agile 2013 conference, something Ken Schwaber doesn’t seem to like:

Beside this tweet Ken also wrote a small article where he explains (his impression) that SAFe might be more dangerous as helpful as it has it’s root in RUP and Processes & Tools are overemphasized in comparison to People & Interactions:

Ken Schwaber’s Blog: Telling Like It Is – unSAFe at any speed.

While the article itself lacks some substance (you just notice how uncomfortable Ken is with SAFe) the comments are very interesting as real practitioners share thoughts and their experience with SAFe (good ones, bad ones).

*Updated*

A far more detailed article has been written by David Anderson (Mr. Software Kanban) in which he also expresses his concerns regarding SAFe. He wrote his article „Kanban – the anti-SAFe for almost a decade already“ about SAFe but also acknowledged that he just did some brief research and has no real experience with it:

To be honest, I don’t know a great deal about SAFe.

Still his summary is:

It is fair to say that this approach is the antithesis of the Kanban Method!

and also adds

I’m not impressed with the Kanban related material or its suggested usage in SAFe.

From his point of view

SAFe appears to collect together a number of techniques from software development processes from the 1990s and 2000s. It offers these as one large framework.

With that he seems to underestimate how many feedback cycles (learning & improving) during the last years finally resulted in what is now known as SAFe and he completely misses (from my perspective) the embedded Lean Product Development Principles (Donald Reinertsen) and the Lean Leadership foundation (part of the SAFe Lean Thinking House).

As you might have noticed I do not share the opinions of Ken Schwaber or David Anderson but I am happy to see that these two thought leaders finally found something they can agree on.

What are my thoughts on the Scaled Agile Framework?

SAFe is prescriptive – but it is just the start of your journey

From my own experience the implementation of SAFe is a quite challenging undertaking as SAFe seems to be a quite prescriptive framework with a lot of guidance and governance („Processes & Tools“) but still you have to have a deep understanding of the agile / lean foundations to implement (tailor, adapt) it in an organization specific way („People & Interactions“). I personally feel it is worth the effort because SAFe provides a proven framework with values, principles and best practices that address the common challenges you have to overcome when scaling agile and especially when scaling agile in a non green field environment. Having said that I believe it is key that you teach/establish real agile/lean thinking and learning cycles so the organization can further adapt and improve  („Kaizen“). Only with these Inspect & Adapt cycles „SAFe“ is going to work for your organization on the long run.

There are a lot more topics to discuss and to improve over time (your „SAFe Path“):
maus-lesend

  • how to find / optimize your agile release trains
  • how to do the portfolio planning in your context
  • how to optimize the demand management
  • how to prioritize in a scaled environment
  • what to do with the HIP sprint
  • when and how to release to production (the shorter the cycles the better)
  • how to facilitate & organize the inspect & adapt workshop for optimal group feedback
  • decide on which KPIs are really important for your company

Failing to see that this is the journey your organization needs to undertake will leave you stuck in the predefined default practices / processes / tool that you can find on the SAFe website. Keep in mind: Real agile-lean companies are always learning, adapting and improving.

Resistance as it is not Agile?

In companies that have existing Scrum teams I usually experience some resistance of agile practitioners as the team level loses some freedom of choice. Have a look at the role of the SAFe Product Owner for example, the need to have cadence AND synchronization or the need to commit to several sprint during the release planning event (sounds weird for most agile people who did not experience such an event before).

Global optimization required

Very often these people need to be trained to see the value of overall alignment and enterprise wide transparency (see SAFe Cove values). Single teams excelling in their own context _may_ sum up to a lot of local optima but (at the same time) may not be useful to reach a global (organization) optimization. Not understanding this is like not understanding how your company is creating value.

Role of Scrum in SAFe

Important to note is also that SAFe is not against Scrum but uses the principles of Scrum as a team process (perfect match for most teams in a SAFe environment) and Scrum as thinking model (guiding you how to organize and optimize your organization). However one could argue that it is not „Scrum.org Scrum“ as there are some adjustments made (as with most Scrum implementations „in the wild“) but still it shares the same spirit and goals, taking inspiration also from Donald Reinertsen’s Product Development Principles not only for developing products but also for improving the own processes.

What does really matter? It’s you!

While SAFe is about alignment, transparency, program execution and (code) quality it’s about how YOU are going to implement the ideas, principles and practices in YOUR environment. In the end it’s the implementation that matters: It’s you, your colleagues, your shared goals/values and the business value you produce.

SAFe Big Picture 2.5

Big Picture 2.5 veröffentlicht

Für das Scaled Agile Framework ist die Version 2.5 des Big Picture (und damit der Einstiegsseite) veröffentlicht worden.

„I am excited for the SAFe community to visit the updated portfolio content (Portfolio Vision, Value Streams, and Portfolio Backlog) and program updates (Release Planning, Program Objectives, and Team PSI Objectives). In addition, we’ve further built out our case studies and made it a top-level navigation menu.“ –Dean Leffingwell

Die meisten Änderungen betreffen die mittlere Ebene (SAFe Program). Dort wird jetzt besonders hervorgehoben, welche Ziele das Release Planning verfolgen soll: Ausgehend von einer Vision, Roadmap und einem Planungszenario erarbeiten Geschäftsseite und Technikseite gemeinsam einen belastbaren Plan. Für jeden Sprint formulieren die Teams ihre eigenen Sprint-Ziele, zudem formuliert jedes Team ein Ziel für das gesamte PSI (Release). Diese „Team PSI Objectives“ werden schließlich zu „Program PSI Objectives“ aggregiert. Dies geschieht immer im Zusammenspiel mit Vertretern aus dem Management, den sogenannten „Business Ownern„. Da diese sehr wichtig sind und meist auch Programm-übergreifend tätig sind, werden diese nun im Big Picture erwähnt (zuvor wurde lediglich auf sie verwiesen und waren im BP implizit dem Program Portfolio Management und ggf. dem Product Management zugeordnet).

Neu auf der Programm-Ebene sind zudem die DevOps, deren Aufgabe die Sicherstellung einer enge Zusammenarbeit zwischen Entwicklungs- und Betriebsorganisation ist (die oft noch weiter gefassten Definitionen von DevOps finden hier zunächst keine Anwendung). Zuvor wurde diese Aufgabe zum Teil durch das System Team wahrgenommen.

Übersicht Änderungen

Portfolio-Ebene

  • Value Streams werden explizit erwähnt

Programm-Ebene

  • DevOps – als primäre Rolle eingeführt
  • „Shared“ – Rolle entfällt aus dem BP
  • BO / Business Owner – als primäre Rolle eingeführt
  • PSI Program Objectives – als Artefakt aufgenommen
  • Team PSI Objective – als Artefakt aufgenommen
  • Deliver on Demand – als Guidance aufgenommen
  • generell wurde das Layout etwas geändert (Arch, UX, RTE auf den ART, ein gewöhnungebedürftiges Grün für Auslieferungen)

Team-Ebene

  • Sprint Goals – als verbindliches Artefakt jetzt in das BP aufgenommen (war auch zuvor in der Beschreibung zum Release Planning als verbindlich beschrieben)
  • DBT (Design-Build-Test) – entfällt (eine Änderung, die Kritik hervorgerufen hat)
  • Code Quality – jetzt explizit erwähnt im BP
  • Develop on Cadence – als Guidance aufgenommen
  • EXE – Guidance zu „Sprint Execution“

Für das Scaled Agile Framework ist soeben die Version 2.5 des Big Pictures veröffentlicht worden.

 

Dean Leffingwell hierzu: „I am excited for the SAFe community to visit the updated portfolio content (Portfolio Vision, Value Streams, and Portfolio Backlog) and program updates (Release Planning, Program Objectives, and Team PSI Objectives). In addition, we’ve further built out our case studies and made it a top-level navigation menu.“

 

Die meisten Änderungen betreffen die mittlere Ebene (SAFe Program). Dort wird jetzt besonders hervorgehoben, welche Ziele das Release Planning verfolgen soll: Ausgehend von einer Vision, Roadmap und einem Planungszenario erarbeiten Geschäftsseite und Technikseite gemeinsam einen belastbaren Plan. Für jeden Sprint formulieren die Teams ihre eigenen Sprint-Ziele, zudem formuliert jedes Team ein Ziel für das gesamte PSI (Release). Diese „Team PSI Objectives“ werden schließlich zu „Program PSI Objectives“ aggregiert. Dies geschieht immer im Zusammenspiel mit Vertretern aus dem Management, den sogenannten „Business Ownern„. Da diese sehr wichtig sind und meist auch Programm-übergreifend tätig sind, werden diese nun im Big Picture erwähnt (zuvor wurde lediglich auf sie verwiesen und waren im BP implizit dem Program Portfolio Management und ggf. dem Product Management zugeordnet).

Neu auf der Programm-Ebene sind zudem die DevOps, deren Aufgabe die Sicherstellung einer enge Zusammenarbeit zwischen Entwicklungs- und Betriebsorganisation ist (die oft noch weiter gefassten Definitionen von DevOps finden hier zunächst keine Anwendung). Zuvor wurde diese Aufgabe zum Teil durch das System Team wahrgenommen.

 

In Summe gibt es folgende Änderungen:

Portfolio-Ebene

  • Value Streams werden explizit erwähnt

Programm-Ebene

  • DevOps – als primäre Rolle eingeführt
  • „Shared“ – Rolle entfällt aus dem BP
  • BO / Business Owner – als primäre Rolle eingeführt
  • PSI Program Objectives – als Artefakt aufgenommen
  • Team PSI Objective – als Artefakt aufgenommen
  • Deliver on Demand – als Guidance aufgenommen
  • generell wurde das Layout etwas geändert (Arch, UX, RTE auf den ART, ein gewöhnungebedürftiges Grün für Auslieferungen)

 

Team-Ebene

  • Sprint Goals – als verbindliches Artefakt jetzt in das BP aufgenommen (war auch zuvor in der Beschreibung zum Release Planning als verbindlich beschrieben)
  • DBT (Design-Build-Test) – entfällt (eine Änderung, die Kritik hervorgerufen hat)
  • Code Quality – jetzt explizit erwähnt im BP
  • Develop on Cadence – als Guidance aufgenommen
  • EXE – Guidance zu „Sprint Execution“

Vorstellung SAFe bei der AgileRM – Zusammenfassung und Folien

Vorstellung des Scaled Agile Frameworks beim Treffen der Agile User Group Rhein Main

Am 20. Juni hatte ich Gelegenheit im Rahmen eines Treffens der Agile User Group Rhein Main (#agileRM) eine Einführung in das Scaled Agile Framework (SAFe) zu geben.

Herzlichen Dank für die Fotos an Tobias Cieplik.

scaled_agile-06516
SAFe Big Picture

Die Räumlichkeiten für das Treffen stellte die Seibert Media GmbH in Wiesbaden zur Verfügung. An dieser Stelle einen herzlichen Dank an alle Organisatoren!

Trank und Speis wurde durch Atlassian (Jira, Confluence) gesponsort. Es gab auch genug Bier, um so auch die kritischen Geister etwas zu beruhigen ;-).

Jeder der sich mit bereits intensiver mit der Skalierung von agilen Konzepten und dem Scaled Agile Framework im Besonderen beschäftigt hat, weiß um die Schwierigkeiten eine kurze und in sich stimmige Einführung in das Thema zu geben.

scaled_agile-06501
Teams in SAFe

Für alle Interessenten hier die Folien: 20130619_AgileRM_SAFe_presentation

Der Teilnehmerkreis bestand aus mehr als 20 Interessenten, teilweise erfahrene Agile Consultants / Coaches mit umfangreicher Erfahrung. Dies spiegelte sich auch in den hochwertigen Fragen und der Diskussionsqualität wieder.

scaled_agile-06448
Erläuterung der Rollen Produktmanagement, Product Owner und Entwicklungsteam

Weitere Informationen

Die deutschsprachige Community „SAFeDACH“ (#safede, #safedach) organisiert sich via Xing und Google+.

An dieser Stelle sei auch der sehr gelungene Vergleich von Scaled Agile Framework (SAFe), Disciplined Agile Delivery (DAD) und Path to Agility (P2A) erwähnt, die Lutz Ehrlich (EnBW) in einer Präsentation auf dem Karlsruher Entwicklertag vorgestellt hat.

Agile User Group Rhein-Main: Scaled Agile Framework und Erfahrungsaustausch Agile auf Enterprise-Level

Am 20. Juni trifft sich die Agile User Group Rhein-Main in Wiesbaden, um sich rund um das Thema Scaled Agile Framework sowie „Enterprise Agile / Agilität auf Enterprise-Level“ auszutauschen.

Hierzu werde ich eine Einführung in das Scaled Agile Framework (SAFe) geben und im Anschluss wird darüber diskutiert, welche Erfahrungen Unternehmen mit Agilität im Großen bisher sammeln konnten und welche Ansätze hierbei hilfreich waren.

Mehr Informationen zum Event und die Möglichkeit zur Anmeldung gibt es im Blog von Seibert Media.

Eine kurze Zusammenfassung des Scaled Agile Frameworks gibt es hier: Scaling Agile & Lean – Scaled Agile Framework (SAFe).

Die deutschsprachige Community „SAFeDACH“ organisiert sich via:

SAFe Mindmap 0.5SAFe Mindmap 0.5

Passend zum Artikel in dem das Scaled Agile Framework (SAFe) vorgestellt wird, habe ich eine einfache Mindmap mit den wichtigsten Elementen aus SAFe erstellt:

Die Mindmap wurde mit XMind erstellt und eine editierbare Version kann via xmind.net heruntergeladen werden.

Über Kommentare / Verbesserungsvorschläge freue ich mich.For the article (German only) about the Scaled Agile Framework (SAFe) I also created a simple mind map that consists of the most important elements of SAFe:

Scaling Agile & Lean – Scaled Agile Framework (SAFe)

Scaled Agile Framework (SAFe)

Das Scaled Agile Framework (Abkürzung: SAFe) ist ein umfangreiches, deskriptives Framework, um Agile/Lean auf der Team-, Programm- und Portfolio-Ebene zu ermöglichen und für große Organisationen handhabbar zu machen. Hierzu beschreibt es Strukturen, Rollen, Prozesse und Artefakte die relevant sind für ein agiles/lean Programm- und Portfoliomanagment. Eine komplette interaktive Beschreibung von SAFe befindet sich auf der Webseiten des Frameworks:  http://scaledagileframework.com/.

Adressierte Problemfelder

Mit SAFe werden vielfältige Herausforderungen adressiert, die für große Vorhaben und Organisationen nicht unüblich sind. Hierzu gehören:

  • Entropie / Varianz und lokaler Optimierung: Agilität auf der Team-Ebene mit sich selbst organisierenden Teams und nicht koordinierten Product Ownern führt zu einer hohen Entropie / Varianz. Kurz: Es kommt zu lokaler Optimierung die einer organisationsweiten Optimierung entgegenwirkt.
  • Intransparenz: Hohe Freiheitsgrade und mangelndes Alignment führt unternehmensweit gesehen zu einer geringen Transparenz. Die möglicherweise gesteigerte Produktivität einzelner agiler Einheiten kann nicht mehr übergreifend gebündelt werden und Steuerungsmechanismen versagen. Dies wiederum führt zu einer Gegenbewegung und Fehlentscheidungen.
  • Agilität bei Großkonzernen: Viele agilen Frameworks fokussieren in ihren Implementierungspraktiken auf die Team-Ebene als Kern des Wertschöpfungsprozesses. Vereinfachte Konzepte wie „PO definiert Business Value“ versagen jedoch in einem skalierten Umfeld, in dem der PO aufgerieben wird zwischen Anforderungen aus der Trägerorganisation, Kontakt zu Markt/Kunden und Verfügbarkeit für das Team.

Basierend auf Praxiserfahrungen wurden im SAFe Konzepte und Vorgehensweisen definiert, die auch in einem skalierten Umfeld tragfähig sind.