A large software system develops through a series of evolutionary stages, where each stage adds new capabilities and modifies existing modules. This means that a system’s design is constantly evolving.
Thus we should always setup our code and our projects for evolvability.