У моего коллеги сложилось впечатление, что наш отдел программного обеспечения был очень продвинутым, поскольку мы использовали как сервер сборки с непрерывной интеграцией, так и программное обеспечение для контроля версий.
Нет, я ненавижу это говорить, но это правда. Последние два места, где я работал (подразделение банка и финансовая компания), я был тем, кто внедрил систему контроля версий. Ряд мест (особенно магазины, не занимающиеся программным обеспечением) не понимают, почему это действительно необходимо для долгосрочной разработки. Команда обычно начинается с одного или двух человек, а затем растет, хотя и болезненно. С одним человеком или двумя людьми вы можете обойтись (не очень) без этого, потому что вы можете быть почти в постоянном общении друг с другом.
Непрерывная сборка - это совершенно другой случай. Если бы мне пришлось угадывать, я бы поспорил, что почти в 90% мест, где ведется разработка, нет решения CI. Я хожу на конференции, и большинство людей удивляются, что такая организация есть у других организаций, кроме MS или Google. Я обнаружил, что руководство не хочет тратить небольшую сумму денег на его запуск и запуск, даже если это может сэкономить много времени.
Основные причины, которые я нашел для этого:
Люди в управлении поднялись по служебной лестнице в одной организации. Они никогда не пользовались и не нуждались в этом, зачем им сейчас менять? Некоторые, которых я нашел, просто боятся перемен. Что-то новое пугает, и это не позволит им стереть свой старый компилятор и поможет нашим младшим в случае необходимости. В других случаях (и чаще) у них всегда ограниченный бюджет, и они должны принимать решения о том, куда потратить деньги. Для нас их реализация очевидна, но мы использовали их раньше. Мы знаем преимущества, а они нет.
Менеджеры - это люди не из сферы информационных технологий, и все, что они здесь, это то, что вы хотите потратить деньги на то, что раньше не было нужно.
Большинство аргументов, которые я слышал от людей, сконцентрированы вокруг лучших практик и т. Д., И они верны, но большинство разработчиков не понимают, что в этом сценарии вы должны сформулировать это с точки зрения финансовой ситуации. С этой суммой денег, которую вы собираетесь потратить, мы сэкономим X времени, и вам понадобятся цифры для ее резервного копирования. Это не всегда так, но это был мой опыт в прошлом.