Вопрос о том, работают ли Delphi программисты в команде волнует меня давно. И если работают то как? Причина в том, что во всех местах где мне доводилось работать, Delphi программисты работали поодиночке. Каждый над своим проектом. Максимум – один из программистов заведовал общей библиотекой компонентов.
На текущей моей работе точно такая же ситуация. Все программисты находятся в одной комнате, но каждый работает над своим проектом и даже не в курсе того, какие проблемы решает его сосед. Более того, все проекты когда-то были основаны на одном и том же базовом коде, но этот код просто копировался между проектами. В результате сейчас мы пришли к тому, что в каждом проекте этот код немного (иногда даже сильно) отличается. Типичная ситуация в духе worse than failure.
Когда я вёл только один проект, меня это не сильно смущало, ибо я был даже не в курсе того, что происходит в остальных. Но волею судьбы мне довелось сменить один проект, на другой. И это позволило увидеть, какие части являются общими, а какие специфическими для каждого из проектов. После этого я создал отдельный svn-репозиторий для кода, который является общим между этими проектами. Туда были сброшены все сторонние компоненты, и некоторые внутренние.
На этой неделе мы сделали первый шаг к совместному использованию общего кода и в других проектах.
Мне понадобилась одна функция, которую уже написал мой коллега. По сути, функция была универсальной, но реализована она была так, что тянула за собой весь проект. Простейшим вариантом было бы применить “классический приём Copy&Paste”, но это было как-то неправильно. Поэтому, я убедил коллегу провести реорганизацию кода в его программе, выделив нужный мне функционал в независимые классы, которые можно будет положить в общий репозиторий.
Мы впервые попробовали парное программирование. Сидя за одним компьютером мы изучали код и вместе принимали решение, о том, как удобнее разорвать зависимости. Всё это заняло чуть больше часа (примерно столько, сколько я набирал этот пост). Но главное, что первый шаг сделан.
Кстати
Вы можете спросить меня: а нафига ты тут про это пишешь? Это же очевидно как день, что у вас ужасная организация работы отдела программистов.
А я отвечу: уж какая есть. И тот факт, что с такой организацией мы проработали n лет, говорит о том, что она хоть и ужасная, но результативная.
А пишу я об этом затем, что несмотря на очевидность выхода, почему-то никто попытался вернуться к общим корням. Такие дела.
И самое главное – ради комментариев. Так-то. =)
Версия для мобильного

10 человек заметили этот пост: