Let us think about the situation where Calvin the Coder builds a new feature. The number of lines can grow from hundreds to even thousands.
Calvin’s code reached testing a month later, and bug reports pour in.
Now let me ask you this. Can Calvin remember what kind of changes he worked on a month ago? What were the dependencies and which lines and files of source code he touched back then?
Digging through old lines of code will take time. And doing changes there causes a growing risk of breaking dependencies too.
It’s like digging through the old family photos.
This problem seems to systematically plague projects when the development cycle is long and where testing steps in at the last stretches.
I’ve noticed that there are two solutions to reduce the risk of regression and to succeed with the deadlines.
- Speed up the dialog between testing and development.
- Pre-budget plenty of time to fix things and hope for the best.
Don’t you think it’s easy to choose between these options?