Planview Blog

Ihr Weg zu geschäftlicher Agilität

Produktportfoliomanagement

Stecken Sie einen Dorn hinein

Veröffentlicht Von Robert L. Read
Stecken Sie einen Dorn hinein

Spikes in agilen Softwareentwicklungsumgebungen werden verwendet, um ein Konzept zu untersuchen und/oder einen einfachen Prototyp zu erstellen. Im Grunde ist ein Spike eine schnelle (in der Regel weniger als ein Sprint) Erkundung eines Bereichs, in den das Entwicklungsteam kein Vertrauen hat, durch Codierung. Der Spike ist abgeschlossen, wenn Sie gelernt haben, was Sie lernen mussten. So genannt, weil ein Spike "durchgängig, aber sehr schmal" ist, so als würde man einen Spike durch einen Baumstamm treiben.

Der Begriff "Spike" wurde von Kent Beck, einem Verfechter von Extreme Programming, eingeführt, der uns bei Planview gelegentlich berät.

"Erstellen Sie Spike-Lösungen, um Antworten auf schwierige technische oder Designprobleme zu finden. Eine Spike-Lösung ist ein sehr einfaches Programm, um mögliche Lösungen zu erkunden. Bauen Sie den Spike so auf, dass er sich nur mit dem zu untersuchenden Problem befasst und alle anderen Bedenken ignoriert. Die meisten Spikes sind nicht gut genug, um sie zu behalten, also müssen Sie sie wegwerfen. Das Ziel ist es, das Risiko eines technischen Problems zu verringern oder die Zuverlässigkeit der Schätzung einer User Story zu erhöhen."

Die Menschheit achtet immer auf die dünne Grenze zwischen dem Trivialen und dem Unmöglichen, und diese Grenze ist der Ort, an dem Spikes leben. Wenn Ihre Entwicklungsmitarbeiter genau wissen, wie etwas zu erreichen ist, dann führt der Prozess der Schätzung und der Verfolgung des Fortschritts anhand der Schätzungen über die Geschwindigkeit zu einem vorhersehbaren, wiederholbaren Prozess, der die Risiken einschränkt. Obwohl die Arbeit für die Mitarbeiter nicht trivial ist, ist sie für einen Beobachter außerhalb des Teams im Grunde genommen trivial und daher ein Schnarcher.

Spikes werden eingesetzt, um den Bereich des Trivialen zu erweitern, indem sie Strandbäume im Bereich des Unmöglichen errichten. Einen Hyperwürfel aus einer Million Fakten in 12 Sekunden erstellen? Unmöglich - bis Sie beweisen, dass es mit einem einfachen Spike möglich ist. Wie alle guten Zaubertricks ist auch dieser einfach, wenn Sie sehen, wie er gemacht wird.

Ich kann diese Maxime nicht verbessern, aber vielleicht kann man sie mit einigen Erfahrungen aus der Praxis bereichern.

Wir haben bei Planview Spikes für eine Reihe von Zwecken verwendet. Hier sind nur drei, die hervorstechen:

  1. Es wurde ein Spike geschrieben, um ein Silverlight-Gitter zu erstellen, das 50,000 Zellen unterstützt, um die Behauptung zu testen, dass dies mit guter Leistung möglich ist (ist es auch). Dies wurde von einem Ingenieur in etwa 5 Tagen Arbeit erledigt.
  2. Die Leistung einer benutzerdefinierten Hypercube-Implementierung wurde mit einem Spike getestet. Dies erforderte etwa 7 Tage an Aufwand.
  3. Wir haben die Einbeziehung sehr leistungsstarker dynamischer Grafikelemente und einer abstrakten Maschinerie zur Nutzung getestet.

Keiner von ihnen war geschwindigkeitserzeugend. Jedes dieser Projekte wurde außerhalb unseres formalen agilen Prozesses durchgeführt, der den Fortschritt anhand von Aufwandsschätzungen verfolgt, und doch war jedes auf seine Weise entscheidend für den Erfolg des Projekts. In Anlehnung an das obige Zitat nutzen wir Spikes, um etwas zu lernen - im Allgemeinen, ob ein bestimmter Ansatz funktionieren wird, und oft, um das Risiko auszuschließen, dass ein Softwareunternehmen, das wir nicht kontrollieren, nicht auf der Höhe der Zeit ist. In einer gut geführten Entwicklungsarbeit sollten Sie dies natürlich zu Beginn des Entwicklungszyklus tun und nicht erst in der Mitte oder am Ende, aber manchmal werden ein Problem und seine Lösungen erst spät im Projekt präsentiert.

Wenn sich ein Unternehmen zu sehr um die Geschwindigkeit kümmert, kann es in eine subtile Falle der Dysfunktionalität tappen: Es verpasst große Chancen, weil es nicht bereit ist, einen kleinen Betrag zu investieren, um den Bereich des Trivialen ins Unmögliche zu erweitern. Es ist relativ einfach, ein Softwareprojekt zu starten, um etwas zu tun, bei dem sich alle einig sind, dass es mit genügend Aufwand machbar ist. Aber wenn es für Sie einfach ist, ist es auch für Ihre Konkurrenten einfach. Um wirklich exzellent zu sein, muss ein Softwareentwicklungsunternehmen Spikes diszipliniert einsetzen, um das bestmögliche Gesamtergebnis für einen bestimmten Aufwand zu erzielen.

Ähnliche Beiträge

Geschrieben von Robert L. Read

Robert L. Read besuchte die Rice University und die University of Texas, wo er in Computerwissenschaften promovierte. Rob war Principle Engineer bei Hire.com und ist jetzt Director of Product Development bei Planview. Er ist der Erfinder von zwei Patenten und Autor des Essays How to be a Programmer. Da er im Vorstand von Esperanto USA war, spricht er fließend Esperanto. Er versucht ganz langsam, ein Gerät zu konstruieren, das das Schwimmen mit menschlicher Kraft in Thunnform ermöglicht.