simplicity. Pinzipien der Einfachheit

Literatur-Empfehlung

In der Praxis treffe ich immer wieder auf Prozesse und Lösungen,  die unübersichtlich und kompliziert sind – zum Leid von allen Beteiligten. Vieles wurde immer weiter entwickelt und dabei, auch immer  komplexer.

Gerade für Entwicklung und Projektmanagement können viele der vorgestellte Strategien angewendet werden. Machen wir die Dinge wieder einfacher, schneller und flexibler. Das verschlingen weniger Ressourcen.

In dem Buch werden die folgenden fünf Prinzipien vorgestellt:

  1. Restrukturieren
  2. Weglassen
  3. Ergänzen
  4. Ersetzen
  5. Wahrnehmen

simplicity. Pinzipien der Einfachheit
von Chris Brügger, Michael Hartschen, Jiri Scherer
GABAL Verlag, 2011
ISBN: 978-3-86936-245-8

Agile Estimating and Planing von Mike Cohn

Literatur-Empfehlung

Projektplanung scheitert nicht selten – somit entstand die Idee nicht nur die Projekte agil abzuwickeln sondern auch das Schätzen und Planen agil zu gestalten! Genau das führt in der Praxis zu wirklich agilen Softwareprojekten.

Schlussendlich geht es darum die Planung so zu gestalten, dass die wirklich wichtigen Projektziele auch erreicht werden. Wie weit soll dazu überhaupt bei der Planung gegangen werden, was sind gute Pläne, wie kommt man zu vernünftigen Schätzungen und wie geht man mit all den Unsicherheiten und Risiken um.

Antworten und Anregungen finden sich in den 7 Teilen des Buchs:

  1. The Problem and the Goal
  2. Estimating Size
  3. Planing for Value
  4. Scheduling
  5. Tracking and Communicating
  6. Why Agile Planning Works
  7. A Case Study

Agile Estimating and Planning
von Mike Cohn
Prentice Hall International
ISBN: 978-0-131-47941-8

Kundenzufriedenheit

Einer der vier Werte aus dem agilen Gedankengut lautet: „Customer collaboration over contract negotiation„.

Die Kundenzusammenarbeit wird also höher gewichtet als Vertragsverhandlungen.
In der Praxis zeigt sich, dass diese Zusammenarbeit sich nicht einfach von selbst ergibt sondern kontinuierlich aufgebaut werden muss. Schrittweise. Noch ein weiterer guter Grund für die iterative Erstellung der Lösung! Fokussiert und mit dem Ziel, schlussendlich eine Lösung zu haben, die einen echten Nutzen bringt. Die Herausforderung dabei: die Lösung sieht am Schluss oft anders aus als am Anfang gefordert wurde! Oft durch ändernde Randbedingungen, aber meistens auch durch den Lernprozesse welcher während eines Projekts gemacht wird, und das vom Team wie auch dem Kunden!

Die Lösung muss also gemeinsam erarbeitet werden, nicht immer ein einfacher Weg, aber er führt zu wirklicher Kundenzufriedenheit.

Inkrementelles und iteratives Vorgehen

Inkrementelles und iteratives Vorgehen – Was heisst das?
 
IterationenIterativ
beschreibt ein Vorgehen in nacheinander folgenden Iterationen, ein Verfahren der schrittweisen Annäherung  an die exakte oder endgültige Lösung. 
Eine Iteration ist eine zeitlich und fachlich in sich abgeschlossene Einheit.
Iteration
Dabei werden in jeder Iteration alle Projektphasen durchlaufen. 
Jede abgeschlossene Iteration liefert einen funktionierenden Zwischenstand des Produkts – einen inkrementellen Release.
Inkrementell (kleine Stufe der Zunahme) bedeutet, dass mit jeder Iteration zusätzliche Funktionalität hinzugefügt wird. 

Das Agile Manifest

Genau 10 Jahre ist es her seit 17 Befürworter leichtgewichtiger Entwicklungsprozesse sich trotz unterschiedlichsten Erfahrungen und Ansichten auf vier grundlegende Werte und 12 Prinzipen einigen konnten: das Agile Manifest.

Die ursprüngliche Euphorie ist zwar noch leicht zu spüren, aber der Idealismus ist dem Pragmatismus gewichen. Die Anwendung in der Praxis gestaltet sich oft nicht ganz so einfach.

Damit das Potential der agilen Methodiken umgesetzt werden kann muss ein Prozess für die Entwicklung einer agilen Kultur angestossen werden, welcher nicht nur den Entwicklern überlassen werden kann. Es muss den Projektverantwortlichen entsprechende Unterstützung angeboten werden auf dem Weg zu einer lernenden Organisation welche agile Projekte abwickeln kann.

Anderenfalls führt es leicht zu dem Verständnis: wir arbeiten mal drauf los, die Ziele sind zwar noch nicht klar aber wir sind ja flexibel organisiert und es wird sich dann schon ergeben. Das führt schnell zu Ad Hoc Entscheidungen und ins Cowboy Coding.

Agil heisst iterativ und inkrementell auf konkrete Ziel hinarbeiten. Agil heisst das Projekt möglichst schlank und flexibel zu organisieren, so dass viel flinker und beweglicher auf die aktuellen Projektsituationen reagiert werden kann als dies beim klassischen Projektmanagement möglich ist. Dabei werden die Projektziele fokussiert, und dafür der Weg und die Lösungsform offener gestaltet.

Es wird versucht mit geringem bürokratischen Aufwand die Projektziele möglichst schlank zu erreichen. Im Vordergrund steht weniger die Erfüllung von spezifizierten Anforderungen, sondern die Maximierung des Nutzens, des eigentlichen Wertes welcher mit dem Projekt erreicht werden soll.

Unsere Motivation

Wir haben Freude an Softwareprojekten.

Wir haben zahlreiche Ideen und Anforderungen in funktionierende Lösungen umgewandelt und dabei viele interessante Erkenntnisse gewonnen. Wir wollen unsere langjährige Erfahrung aus zahlreichen Projekten bei verschiedensten Unternehmen und unterschiedlichen Branchen weitergeben, Eigenheiten aufzeigen und Stolpersteine in Softwareprojekten wegräumen. Unsere Vision ist es, die Erfolgschancen von Softwareprojekten zu steigern… und so den Ruf von Softwareprojekten in Zukunft ein klein wenig verbessern.