Ben: The best approach is to have a toolbox of approaches. I know about these four or five distinctive ways of making software and I use them in a situationally dependent way.