When I have some free time I tend to think and philosophize. Today is one of these days.
I'm thinking about the efficiency of software development methodologies, in particular the waterfall ones.
When you read books they seem to treat all kind of software equally. But I know there are different kinds of software... for example. games, word processors, a marketing applications, etc.
My questions are, should we develop all kinds of software using the same methodology? (<analogy> do you design bridges and houses using the same techniques? is there any differnce?<analogy>)
If we used specialised methods for each kind of software would they be better quality and developed faster and cost less?
This is how I see the waterfall cycle for business applications:
. problem/need
. gathering requirements (interview users)
. analyse requirements and create a model of situation
. design a solution (software)
. code
. test
. run on user's computers.
You guys who develop embedded software or games, do you see it the same way?