Moderne tilnærminger til programvaredesign kombinerer vanligvis ovefra og nedenfra tilnærminger. Selv om en forståelse av det komplette systemet vanligvis anses nødvendig for godt design – og dermed teoretisk fører til en ovenfra tilnærming – forsøker de fleste programvareprosjekter å bruke eksisterende kode til en viss grad. Allerede eksisterende moduler gir designene en «nedenfra stil».