El desarrollo de software moderno usualmente combina tanto "top-down" como "bottom-up".