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 ...
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 ...
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.
Auf die Antwort von Klez (alles gute Vorschläge) schlage ich folgendes vor:
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
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."
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.
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.