in reply to software development method

Test-driven development and as much Model-View-Controller as possible, even for command-line interfaces.

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.