There is a whole manifesto for agile development, but I think the main idea behind it is to write software that can be changed easily in order to adapt to changing requirements.