Definition:
Change Vector Tracking is a reflective approach towards desigining large scale software, a software engineering practice to achieve a high level of software design agility. This practice is iterative and reflective in nature and can be used to evaluate different design options with respect to the most important nonfunctional requirement.
Change in business requirements is the only constant in software development process. The key philosophy behind Change Vector Tracking is to identify and model this change as a vector and track it to make good refactoring decisions. The resulting software is less rigid and less fragile thus leading to lesser maintenance cost. This practice aids in Emergent design and is more suited for teams who have embraced Agile Software Development frameworks.
Further Reading:
https://dl.acm.org/citation.cfm?id=3172888
http://www.agilegurugram.com/2016/assets/download/Presentation/RanjithThariyal_Change_Vector_Tracking_GSG.pdf