О вреде разделения труда между программистами

Небольшая история в подтверждение «мифического человеко-месяца».

Примерно год назад я разрабатывал поддержку продаж автомобилей в нашей управленческой базе данных. В рамках того проекта были написаны модули для приема звонков от клиентов, ведение договоров и отчетность. Справился я с этим делом неплохо, коль скоро этот модуль до сих пор активно используется.

Правда, разработку комплексного, центрового, отчета по продажам, руководитель проекта поручил моему коллеге. Честно говоря, мне было немного обидно: я столько усилий приложил к разработке, а сливки в виде отчетов теперь снимает другой.

Надо отдать должное, коллега решил задачу достойно — отчет был написан, отлажен и успешно внедрен. Но вот некоторые забавные особенности всплыли гораздо позднее, в процессе портирования системы на новую платформу.

В частности, выяснилось, что сведения, которые в этом отчете приходилось вытаскивать буквально через жопу, можно легко и непринужденно сформировать во время записи первичных данных. И теперь сотня строк в головоломных процедурах отчета заменяются на пять строк в модуле записи данных и десять строк строк в формировании запроса. Самое смешное, что отчет в этом случае формируется просто на порядки быстрее.

Почему эта идея не пришла в голову моему опытнейшему коллеге — ума не приложу.

Update: Идея в голову моему коллеге приходила, конечно. Вот только трансформировать некоторые таблицы в базе размером в несколько гигабайт занимает несколько часов. Поэтому приходилось извращаться.

Добавить комментарий