in the best of all possible software worlds, architecture comes before design. often architecture is skipped, and what you end up with is the standard OS (cf. DOS and UNIX)