Long running projects, be it software or city planning, have something in common: the constant change to their environment. The problems to solve in one, two, or even five years from now will be different from those at hand now – and they are yet unknown. Thus dealing with uncertainty is one of the key issues and a well-chosen set of development techniques can help with that. Even if you don't plan to develop a framework, there's a lot you can learn from the development processes for creating your own stable and performant applications.