Just spotted an interesting line in this CppCON talk…
It has all the usual ideas about increasing automated test coverage… but takes it one large step further.
If our change breaks you and you have no tests, not our fault.
Sadly staff turnover means many lines of code were written by folk no longer here.
So the “whose fault is it” becomes a bit fraught.
A larger interpretation of this rule would be…
Change has priority over Untested code.
Taking the idea to it’s logical conclusion (in our domain)….
Functionality without automated test coverage explicitly becomes “Deprecated” functionality. ie. Expect it to be removed/broken in some future release.
ie. Fair game to be broken / removed if it impedes anyone altering the code for any reason.
ie. If the product owner cares about functionality, he had better make sure it is pinned in place by automated tests.
ie. The Product Owner becomes the champion for prioritizing deficits in automated test coverage over creating new features.