in reply to software development method
If I've got a problem that looks as if I will need to keep extending the solution and adding mode features, I go plugin-based.
So, fairly informal with some base practices I know work well.