Wie würde jemand als Einzelentwickler agile Prozesskonzepte umsetzen? Agile scheint nützlich zu sein, um Anwendungen schneller zu entwickeln, aber es scheint auch sehr teamorientiert zu sein ...
agile
solo-development
kelleystar
quelle
quelle
Antworten:
Ich erinnere mich, eine These über Cowboy-Entwicklung gelesen zu haben, die für Solo-Entwickler essentiell agil ist, aber ich kann mich nicht erinnern, wo ich sie gefunden habe.
quelle
Auf die Antwort von Klez (alles gute Vorschläge) schlage ich folgendes vor:
Ein Produkt-Backlog ist im Grunde eine Liste aller Elemente, die Sie zu einem bestimmten Zeitpunkt für dieses Produkt ausführen möchten.
Ein Sprint-Burndown beginnt mit einer Liste aller Aufgaben, die Sie in diesem Sprint ausgeführt haben (eine Teilmenge Ihres Produkt-Backlogs, die über einen festgelegten Zeitraum - z. B. 2 Wochen - ausgeführt werden soll) die Schätzung der erforderlichen Arbeit. Wenn Sie Dinge markieren, markieren Sie sie als erledigt. Dadurch wird die verbleibende Arbeit für diesen Sprint reduziert (oder abgebrannt).
In ähnlicher Weise protokolliert ein Product Burndown die verbleibende Arbeit für den gesamten Product Backlog
relative Schätzung ist eine Schätztechnik, die die anderen Aufgaben (oder Geschichten) als Leitfaden verwendet. Wenn Sie beispielsweise wissen, dass Aufgabe A einfacher als Aufgabe B und ungefähr doppelt so komplex wie Aufgabe C ist, stellen Sie sicher, dass die "Punkte" für Aufgabe A im Verhältnis zu diesen Erwartungen korrekt waren.
Der Schwerpunkt liegt nicht auf der korrekten Abschätzung des erforderlichen Arbeitsaufwands, sondern darauf, die Schätzungen miteinander in Einklang zu bringen.
Die Geschwindigkeit ist ein Maß dafür, wie viele "Punkte" Sie im Sprint erzielen. Wenn Ihre relative Schätzung für Konsistenz sorgt, können Sie anhand dieser Geschwindigkeit abschätzen, welche Aufgaben in den kommenden Sprints wahrscheinlich erledigt werden. Beachten Sie jedoch, dass diese Geschwindigkeit ständig überarbeitet werden sollte.
quelle
Diese Dinge gelten wahrscheinlich sowohl für Einzelpersonen als auch für kleine Teams (2 oder 3 Entwickler).
HINZUGEFÜGT: Irgendwann, nachdem ich diese Antwort geschrieben hatte, fand ich diesen Konferenzvortrag und war sehr beeindruckt: Persönliches Kanban: Optimierung des individuellen Codierers
quelle
Letztendlich definiere ich Agile wirklich als "das zu tun, was für Ihr Team und Ihre Kunden Sinn macht, und nicht an alten Praktiken festzuhalten, weil sie so aussahen, als hätten sie in der Vergangenheit gearbeitet."
quelle
Agile funktioniert für Einzelpersonen genauso gut wie für Teams. Es geht darum, einen für Sie geeigneten Prozess zu finden und Sie in die Lage zu versetzen, sich an veränderte Umstände anzupassen, sobald Ihr Projekt bereits begonnen hat. Es geht auch darum, Ihren Kunden regelmäßig einen Mehrwert zu liefern, unabhängig davon, ob die Software tatsächlich "fertig" ist oder nicht.
Agile Prozesse sind hochgradig iterativ. Die Arbeit erfolgt in kurzen TimeBoxen / Sprints / Zyklen / Iterationen. Einige Konstruktionsarbeiten sind möglicherweise im Vorfeld erforderlich, können jedoch überarbeitet werden, wenn Sie mehr darüber erfahren, was ein System tun muss. Unit-Tests sind das Rückgrat nahezu aller Agile-Entwicklungsmethoden. Sie geben Aufschluss darüber, ob Ihre Software funktioniert und ob Ergänzungen / Änderungen an Ihrer Software die vorhandene Codebasis beschädigen.
Wenn Sie sich an BDD / TDD halten, lassen Sie zu, dass sich Ihre Anforderungen mit dem Wind ändern, und können Sie Ihre Funktionsprioritäten entsprechend anpassen, wenn Sie Ihr gesamtes System aufbauen und alle Tests häufig ausführen und wenn Sie am Ende jedes Sprints Arbeitscode bereitstellen Sie sind bereits agil.
quelle
Beeindruckend. Ich würde versuchen, einen Freund am Haken zu halten, den ich anrufen kann, wenn ich in Schwierigkeiten bin - und das Codierungsproblem durchsprechen. Weißt du, was ich meine? Allein die Tatsache, dass ich ein Problem laut erkläre, bringt mir in 90% der Fälle eine Lösung in den Sinn.
quelle