As I said, different methodologies work for different people. Have a read through some Software Engineering texts, see what they have to say.
The start-small and build out is part of a lightweight methology called Extreme Programming, and really relies on the unit testing concept in my opinion to keep it sane.
The start with the big picture and keep refining it is stepwise refinement. I have used it on some things in the past, and even now I do use it when there's a part of a task that I don't feel the XP approach.
Some people I know do seem to be able to pretty much pull large systems fully-formed from their forehead.
Ultimately it's a question of what works for you, however. Asking any software engineer which methodology works best is like asking a programmer which language is best, you're going to get a few differing answers. Bookshelves are straining under the weight of software engineering textbooks, I don't know which to recommend since the field has moved on a lot since I last bought one of them.
If you're unsure I'd recommend going for something heavyweight such as full stepwise-refinement, entity-relationship diagrams, user-stories, and so on. The reason for this is it's easier to think 'This is overkill' and tone down than to suddenly go 'Eep, I'm losing myself in this' and get more stringent.
TMTOWTDI, sound familiar?
|