2009-08-21 11 views
6

Ich bin ein großer Verfechter von agilen Methoden bei der Arbeit an Teams und/oder großen Projekten.Soloarbeit an kleinen Projekten: Cowboy Coding Der Weg zu gehen?

Allerdings finde ich, dass für kleinere Projekte, wenn ich solo arbeite, ich in der Regel das Projekt schreibe Einheitstests starten, umfassend dokumentieren, Refactoring. Mit der Zeit höre ich auf, weil ich das Gefühl habe, Zeit zu verschwenden. Ich finde, dass Cowboy-Codierung mit einem agilen Spin (testet oft, lesbaren Code schreibend) oft sehr gut für mich in kleinen Solo-Projekten funktioniert, von denen ich nicht erwarte, dass andere damit arbeiten müssen.

Teilen andere meine Meinung? Oder denkst du, dass man sich nie an ihre Waffen halten sollte (hol es dir? Cowboys)?

Also die eigentliche Frage: Gibt es agile Methoden, die speziell auf ein Solo-Projekt zugeschnitten sind? (anders als meine "agilen Cowboy" -Methode oben)

Antwort

4

Agil ist eine Philosophie, kein Rezept. Sie verwenden die Teile, die zu Ihrem Entwicklungsstil, Ihrem Projekt und Ihren geschäftlichen Anforderungen passen.

Ich denke, Ihr Vorschlag "Test oft, schreibe einen menschenlesbaren Code" ist ein perfekt geeigneter Ansatz, um gute Software in einem Solo-Team für kleine Projekte zu erstellen.

+0

Obwohl es etwas flexibel sein muss, ist es etwas völlig Irres, Agile wegzulassen. Wenn Sie nicht umgestalten, werfen Sie einfach alle Entwürfe aus dem Fenster. Wenn Sie nicht testen, können Sie nicht richtig umgestalten. Agil ist wie ein Rad, wo eine Übung oft den nächsten ermöglicht - die Kette durchbricht und alles auseinander fällt - dann wird Agile beschuldigt. –

+0

Ich stimme Ihrer Behauptung nicht zu, dass "einige Stücke von Agile völlig verrückt sind". Tatsächlich glaube ich, dass diese Art von Sicht bis zu einem gewissen Grad schädlich ist. Jede Organisation und jedes Projekt wird spezifische Bedürfnisse haben, und es ist wichtig zu evaluieren, welche Werkzeuge und Techniken Ihnen helfen, dorthin zu gelangen. Glücklicherweise ist das Refactoring eines der leichteren Dinge, die man auswählen kann (was vielleicht der Grund ist, warum man es für dumm hält, es jemals beiseite zu legen), so dass die meisten agilen Projekte tatsächlich Zeit für periodische Refactoring-Bemühungen brauchen. –

1

Cowboy-Codierung und agilen Prozess sind nicht gleich.

Wie bei kleinen persönlichen Projekten gibt es natürlich viele Dinge, die übertrieben wären. Agile Entwicklung, kurze Iterationen, häufige Code-Überprüfung und selbstdokumentieren Code ist der Weg zu gehen.

+0

Ich gebe zu, dass ich lange Iterationen schuldig bin, wenn ich in diesen Modus komme. Normalerweise erwische ich mich selbst, bevor es zu spät ist. – snicker

2

Sie könnten sich auch solo Programming Xp Workarounds von c2.com ansehen. Cardboard Programmer ist einer aus irgendeinem Grund fand ich besonders amüsant. Könntest du vielleicht mit einem Karton Jon Skeet neben dir codieren?

+2

Ich rieche wunderbare Geschäftsmöglichkeiten hier. Wer wird der erste sein, der einen Exklusivvertrag mit Jon abschließen kann? ;) –

+0

Do not frog das Gummi Ducking: http://c2.com/cgi/wiki?RubberDucking –

+0

Ich pflegte, mit dem Hund zu sprechen, tatsächlich, also finde ich Gültigkeit in diesem. – snicker

0

Ich arbeite derzeit solo auf einem ASP.NET-Projekt (nicht eine kleine aber). Ich benutze TDD ziemlich viel, und ich finde, dass es nicht länger dauert, TDD zu entwickeln, tatsächlich spare ich Zeit.

Dies ist in erster Linie, weil die Suite von Komponententests macht es sehr schnell zu testen und debuggen das System. Z.B. Wenn ein Feature nicht wie gewünscht funktioniert, ist es viel schneller, den Debugger an den NUnit-Prozess anzuhängen, als den Webserver im Debug-Modus zu starten, zur richtigen Seite zu navigieren (zuerst am Anmeldebildschirm) usw. Dadurch, dass ich die Komponententests nicht hatte, würde ich viel länger testen und debuggen.

Und die Komponententests helfen mir auch, ein gut entworfenes System zu schaffen, da es mich zwingt, ein lockerer gekoppeltes Design zu schaffen.

0

Ich würde sagen, dass die Anzahl der Leute, die an dem Projekt arbeiten, nicht der einzige Faktor ist, der berücksichtigt werden muss. Ich denke, der Grund, warum Sie die volle Agile (Dokumentation, Refactoring, Unit Tests .......... diese sind wahrscheinlich nicht wirklich Agile, obwohl sie schon seit langer Zeit sind), um Zeit zu sein -waschen ist, weil Soloprojekte eher kleine Projekte sind.

Für größere Projekte, die sich über mehr als ein halbes Jahr erstrecken, würde ich wirklich erwarten, dass ein richtiger Prozess Ihnen wirklich helfen würde. Sie können einen Code besuchen, den Sie vor 5 Monaten geschrieben haben. Ohne Dokumentation ist es genauso wie die Arbeit anderer Leute. Ohne Tests haben Sie genauso Angst, es zu ändern, als den Code anderer zu ändern.