There are many software development methodologies – SCRUM, agile, XP, etc. – and they all have there advantages and disadvantages I suppose.
But when do we really need to apply them? Surely they are not necessary for small 1-man projects, but for large 50+ teams you can most certainly not go about ad-hoc:ing the whole thing.
So what's the line for when to use and when to not use such a methodology, if there indeed is one?
Best Answer
Even in a strictly 1-man project (you coding software for yourself with no schedule) you have to:
You could do it informally (cowboy), but given that the 1-man project is a special edge case (usually there's at least you and someone else you're working for), doing it with some well founded light formalism is virtually always preferable. Keep in mind that the core of the Agile Manifesto is really just a few principles. The formal methodologies (e.g. Scrum) aimed to reach those principles can and should be tailored according to the team size etc.