Вообще, могут быть ситуации, когда руководитель проекта сменился, разработчики поменялись и т.п.
ИМХО система должна быть разбита на понятные модули и быть самодокументированной.
Например пришел новый разработчик и ему дали задание сделать отправку письма на email. Очевидно, что он вначале глянет, нет ли модуля работы с письмами.