Наш друг Роб Ингланд (IT Skeptic) решил опубликовать заметки к своим выступлениям на конференциях в этом году.
Первый в очереди – мгновенно ставший популярным в социальных сетях критический очерк о концепции Devops.
DevOps (Developers+Operations) – современный свод различных методик, направленных на продуктивную совместную работу разработчиков программного обеспечения и эксплуатационщиков (администраторов) информационных систем.
Идея Devops – прямой наследник Agile. Подход предлагает использовать комплекс мер по "разрушению стены между разработчиками и системными администраторами": единые инструменты повсеместной автоматизации, революция культуры взаимодействия, отказ от бюрократических процедур, мелкие и частые изменения продуктивной среды.
Скептик выразил крайне консервативное отношение к этой новой идее. Противопоставив ее традиционной системе управления ИТ как системой услуг (ITSM), Он считает Devops утопичной идеей, очень далёкой от реализации.
В частности, Роб приводит следующие аргументы:
Утверждение: Используя гибкую разработку ПО (Agile) мы можем контролировать риски.
Очень сомневаюсь. Для ИТ придумано множество контролей, и не просто так. Devops считает, что эксплуатационщики придумывали контроли, потому что они зануды. Мы считаем, что контроли изобретались по мере накопления горького опыта.
Agile и Devops порождают риски.
У ПО есть малое число рабочих состояний. Практически все состояния ПО являются ошибочными, а иногда – катастрофически ошибочными. При увеличении числа зависимых систем, число ошибочных состояний растёт по экспоненте. Вам придётся очень потрудиться, чтобы убедить меня в том, что сделав изменения систем более частыми и быстрыми и снизив число контролей, вы не увеличите вероятность возникновения ошибочного состояния программы.
Нужно всегда помнить, что на кону деньги, причём не наши и не нашей организации. Если владельцы бизнеса считают, что ИТ должно больше рисковать, тогда вы можете использовать Devops. С вероятностью 90% они так не считают. Разработчики говорят что они не склонны к риску, но хочется взглянуть на результаты соответствующих исследований. Готов биться об заклад, что разработчики более азартны, чем сисадмины и их работодатели.
Сторонники Devops громко жалуются на "нечестные" ограничения, накладываемые теми, кто менее склонен к риску. У всех разные представления о том, что такое "честно": мнение ИТ-специалистов может отличаться от мнения Совета директоров. Однако именно Совет директоров – управляющие – решает, что именно является "честным". Остальные должны подчиняться, хотя бы и против желания.
Я согласен с тем, что "высокопроизводительные сотрудники работают лучше при большей свободе действий". В сфере ИТ есть сотни миллионов и разработчиков и системных администраторов. Они разные: от "высокопроизводительных", до тех, кому вы не доверите приготовить яичницу. Поэтому я считаю, что сторонники Agile наивны и оптимистичны. Ни та, ни другая черта вам не пригодятся, когда нужно защищать стабильность и управлять рисками (первоочередные задачи ИТ-менеджмента). Тем более это актуально, чем больше мы привлекаем к разработке и обслуживанию ИТ внешних партнёров. Не считаю идеи Agile просвещёнными. Считаю их опасными.
Как обычно, интересен не только сам текст Скептика, но и комментарии сторонников Devops в аналогичном провокационном ключе.
Кстати, краткое описание идей и сборник статей про Devops доступны в википедии, пока только на английском.
Я согласен с тем что “высокопроизводительные сотрудники работают лучше при большей свободе действий”. В сфере ИТ есть сотни миллионов и разработчиков и системных администраторов. Они разные: от “высокопроизводительных”, до тех, кому вы не доверите приготовить яичницу. Поэтому я считаю сторонники Agile наивны и оптимистичны. Ни та, ни другая черта вам не пригодятся, когда нужно защищать стабильность и управлять рисками (первоочередные задачи ИТ-менеджмента).
А что ITSM, или ITIL (чему там противопоставляется Devops) не напирают на свободу действий высокопроизводительных специалистов? Как же “прежде всего люди!”?