> есть мнение, что VCS применяют не только для того, чтобы при случае
> выяснить, кто виноват. хотя оно и с этим неплохо справляется… если,
> конечно, контора не шаражка, где в том числе и на админах
> экономят.Всё это очень хорошо (вцс и т.п.). Но бывают веселые нюансы. Представьте себе:
1.Изменения внесенные за год-другой до проявления проблем, причем сделанные в рамках официальной заявки по прикручиванию/исправлению той или мелкой функцинальности. И подобных измнений за этот период было несколько десятков.
2. Опционально. Не в этом случае, но в других местах так бывает. Изменения готовятся и отлаживаются где-то в папках разработчиков, которые время от времени вычищаются и списываются с рабочего сервера. А на в рабочий сервер изменения вносятся руководителем отдела (или сисадмином), который перед этим эти изменения как-то проверил и... ничего подозрительного не заметил. Часто ли встречаются сисадмины, которые могут не просто просмотреть, допустим, новые тригеры к БД, но и в полной мере осознать последствия их работы в контексте бизнес-логики реализуемой в этой самой БД?
3. После выявления участка, на котором происходит неприятная хрень, остаются вопросы - появилась ли такая особенность его работы как случайно пропущенный глюк, кто именно обеспечил появление на этом участке этого "глюка", если "глюк" был злоумышленным, то были ли соучастники и т.п.
И вот по последним вопросам ВЦС дает возможность лишь строить предположения и добавить несколько дополнительных версий.
Самое занятное, что подобные ситуации особенно трудно разрешимы в случае когда ИТ ифраструктура обслуживается целой толпой ИТ-отдела в котором введена специализация. В шарашке, в которой пара-тройка человек работают в режиме "и швец и жнец" все оказывается проще. Почему так? Был когда-то нашумевший случай с незаконной (ибо закон запрещал) эвтаназией, которую спроектировал безнадежный больной пользующийся услугами множества ухаживающих за ним людей. Он использовал этих людей "в темную" - каждый выполнял внешне безобидное действие, которые в своей последовательности привели к введению больному смертельного лекарства. В ходе следствия оказалось, что совершено убийство (в контексте существовавшего законодательства) группой людей из которых никому не получается предъявить обвинение в участии в убийстве.
Подытожу. В сложных развиваемых системах возможно появление на уровне самих исходников фрагментов, которые в своей совокупности могут помимо основного исполнять некие НЕОЧЕВИДНЫЕ вредоносные функции. Причем установить мотивацию всех создателей этих фрагментов и автора вредоносной функции - затруднительно. По большому счету большинство баг-репортов - подходят под это описание, но лишь некоторые разбираются как злоумышленные. Вспомните-ка шутливый дуализм - "это баг или это фича?". Идеальные преступления - это те, которые никто не подумал даже объявить преступлениями.