- From the Top - Down
- From the Bottom - Up
Each of these two has obvious, and not-so-obvious advantages, as well as drawbacks. The weight of each (advantage or drawback) varies by the scale of the environment, and the significance of resources laid upon the providers and the consumers of the application. Terms come into play like Agility, CMMI, SDLC, Test-driven, and so on. When do they help?... and when do they not? How is it that one approach, or the other, becomes inevitable within some organizations?