(Photo from FreeDigitalImage ). In the development of software-development-paradigms you at least implicitly find this suggestion. In any compile-build-go cycle, architectural design, algorithm design, data-structure design,... induce the quality of your system, especially with quality features, like robustness, extendability, maintainability, ... (short, software life cycle planning). Even if you do explorative and experimental prototyping, you feel you must climb the design tree to get the fruit of good runtime software.
But there are fruits on pre-designed plants (grapes, ..), only mans-high.
If you Develop in Mathematica you inherit a lot of things, from an open architecture, link technologies, a language for all programming paradigms, especially literate programming, .. to a development environment that supports you when doing personal to large-scale-hybrid-system development (the Wolfram Workbench , for desktop-, grid- or web applications).
And it changes the development principle to Compute-Develop-Deploy. Pick the grapes from a well-designed wine-plant that you have tuned to transform the strength of your soil (terroir) into an outstanding taste (for immediate eating or wine making). Configure your plantation ...
You don't need to climb the tree all the time.