A large software system is like a city

A large software system is like a city. You build it part by part and people starts using it. As years pass, you come back to some part of the city and can easily recognize which part were built in 1960’s and which parts were built in 1970’s. Then you restructure some old establishments with some shiny new architectures and you leave some old elegant architectures untouched.