Сколько усилий уходит на поддержание системы сборки?

9

В подкасте StackExchange # 09 отмечается:

В другом исследовании недавно выяснилось, сколько усилий уходит на поддержание системы сборки: от 5 до 30% всех усилий на разработку тратится на обслуживание системы сборки. С огромными вариациями даже при работе над подобными проектами.

Назовите название исследования и где его можно найти? Аудио подкаста не содержит никаких дополнительных деталей.

Кроме того, есть ли у кого-нибудь ссылки на другие исследования, посвященные той же теме.

Нил Митчелл
источник
3
Ух ты. Никогда не приходило в голову, что магазин может потратить столько времени на систему сборки. У нас есть сделанная вручную система сборки, которая выполняет ночные сборки всех (20 некоторых) выпусков и (50 некоторых) ветвей разработки (если изменения были зафиксированы), запускает модульные тесты и останавливается и запускает тестовые серверы (один или больше за выпуск и одну или более для многих веток разработки), результаты почты и т. д. Тем не менее, за 4 года, что я был у этого работодателя, я не думаю, что мы потратили на это гораздо больше, чем пару человеко-недель, и это включает в себя расширение возможностей нашего индивидуального решения!
Марьян Венема
Вот что происходит, когда люди ссылаются на что-то / кого-то и забывают добавить ссылки ...
wleao
Не знаю исследования, но результаты могут отличаться в зависимости от того, что вы определяете как «поддержка системы сборки». «Является ли добавление или изменение файлов» частью этого? Является ли установка установщика частью "поддержки системы сборки"?
Док Браун

Ответы:

1

Я не слышал подкаста, но исследование, вероятно, представляет собой статью из последней ICSE , под названием «Эмпирическое исследование усилий по поддержке сборки» Шейна Макинтоша и соавторов. Проверьте прямую ссылку (или официальную страницу DOI, если вам нужны метаданные).

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

Декард
источник
2

У меня нет ссылки для вас, но, исходя из личного опыта, этот процент варьируется в зависимости от 2 основных моментов: 1) дизайн и сложность системы 2) и личная организация

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

Однако, когда у вас есть среда разработки, вопросы и ответы, RC и производство ... Все это влияет на процесс перехода от разработки к реальному производству.

Я бы сказал, что проценты верны, склоняясь ближе к отметке 30%, чем к 5%. Если все, что вы инвестируете, составляет 5%, вы делаете хорошую работу. (Это включает ошибки, обнаруженные во время Q & A или RC или даже производства из-за неправильного управления системой сборки, что может вызвать огромные задержки).

АЕК
источник
Если все, что вы вкладываете, составляет 5%, я бы посоветовал вам не все измерять или точно.
Mattnz
нет мат. Вы используете другое определение. Большинство компаний, в которых я работал, не имеют никакой системы сборки, как, например, без автоматизированных серверов сборки, интеграции с VCS (часто вообще без VCS, за исключением того, что сами проекты могут настраивать самостоятельно, что в конечном итоге оказывается под радаром) и т. Д. В любом «исследовании» процента ресурсов, используемых для поддержки «системы сборки», они в конечном итоге указывались как расходы, почти ничего не значащие, если только они не были разбиты на данные о затратах на поддержку всех сценариев ANT и Maven, что-то вроде редко делается.
jwenting