Agile (SCRUM, XP, FDD, ...), Waterfall, RUP, ... Why would a small company bother adopting one in the first place. Why not just hack-away each project to completion (with a usual team size of 1~2).

I'm preparing a short presentation against the argument but would like to hear what everyone thinks.

Question author Tamersalama | Source



Ooh, my favorite type of question. Whenever SDLC comes up, the appropriate answer is always, "It depends!" :) I hate that answer as much as everyone, so let's dig deeper.

If your projects are manageable by a single person and very short (i.e. <3 months) then no formal process probably makes sense. PRINCIPLES of some of the processes are important, but most of the ceremony can safely be dropped. For example, in an Agile-y sort of way, I would still track cards that had technical stories (one sentence or so), user stories (a sentence or two), tasks, etc so I wouldn't drop the ball on anything. I wouldn't do iterations necessarily, just rolling-wave. If you know you have some hard date for a beta/preview/whatever, then you can plan your wave accordingly by choosing the priority of the cards you're working on week-to-week.

One benefit of having SOME process is that you will likely leave some planning/management artifacts (undone cards, backlog, etc) so if you or someone else needs to resume development on the project, you can pick it back up more easily.

A project 6mo and over with 2 or more people should definitely have some sort of process to keep things from getting too chaotic and out of sync between team members. Stand-ups are important here as are task cards and accountability.

All of this stuff, by the way, is project management/process. Even on a 1-man team, I would still use source control, Continuous Integration, TDD, etc. This is a necessity for quality software, regardless what process you're using for task assignment.

Answer author Chadmyers

Ask about this question here!