Extensible architecture is too big a topic to describe in a single blog post but the most fundamental tenant is to focus on simplicity. Cleverly designed systems are characterized by elegance and simplicity, not complexity. The simpler a stepping stone is, the less chance it has to paint you into a corner and the more amenable it is to being adapted in response to unknown unknowns.