Разбираемся с DevOps: что это и зачем нужно
Принесли еще одну методологию в копилку менеджера проектов. Рассказываем, что такое DevOps и какая вам от нее польза.
vlada_maestro / shutterstock
Что такое DevOps
Термин DevOps — это общее название development и operations, то есть разработки и эксплуатации. Общий термин появился в 2009 году, когда Патрик Дюбуа вдохновился презентацией Джона Оллспоу и Пола Хаммонда на конференции Velocity и организовал DevOpsDays в Бельгии.
Есть разные версии о том, что такое DevOps. Одни считают, что это набор инструментов. Другие, что это продолжение методологии Agile. Кто-то думает, что это просто должность. Будем считать, что DevOps — это концепция, в которую входят все лучшие практики Agile и бережливого производства, теории ограничений и принципов Toyota.
DevOps — это философия, концепция, методология, но не набор инструментов.
Основная идея DevOps — совместное создание продукта. В больших корпорациях это значит, что объединяются отделы разработки и эксплуатации. Вся работа строится на доверии и общих ценностях. Концепция помогает сократить сроки и улучшить качество.
Как работать по DevOps
Чтобы работать по DevOps, команда должна соблюдать эти правила.
- Иметь общие и четко сформулированные цели.
- Быть уверенными в одинаковом понимании целей.
- Работать вместе: сообщать друг другу о намерениях и проблемах.
- Относиться к ошибкам как фактору роста и возможности для обучения.
- Непрерывно общаться и обмениваться информацией.
Три пути: принципы DevOps
В основе концепции DevOps — три принципа, они же — три пути. Без них ничего не работает.
Первый путь
Продукт быстро попадает от разработчика к клиенту.
Например, как в Scrum: команда делает ПО, добавляет функции одну за другой. Заказчик начинает пользоваться продуктом до того, как тот будет полностью готов.
Чтобы это работало, нужно добиться прозрачности процесса, когда каждый в команде знает: на каком этапе проект, кто и чем занят, сколько времени осталось.
Визуализировать процесс помогают kanban- или scrum-доски со стикерами или карточками с задачами. В статье «Все, что нужно знать о Kanban: теория, принципы и возможности» мы рассказали, как это работает.
Чтобы процесс не превратился в хаос, старайтесь ограничивать количество
карточек-задач, одновременно стоящих в одной колонке.
Три совета, чтобы все получилось:
- Делите задачи на части.
- Используйте короткие итерации, чтобы избежать дефектов в конце проекта.
- Старайтесь постоянно улучшать процесс.
Второй путь
Обратная связь быстро попадает от клиента к разработчику.
Соблюдать этот принцип нужно на всех этапах. Это помогает быстро находить и исправлять дефекты и решать проблемы, пока они не стали катастрофой.
Три совета, чтобы все получилось:
- Работайте короткими спринтами.
- Тестируйте каждую новую функцию.
- Сверяйте: чего хочет клиент, чего хочет команда, что получается в результате.
Третий путь. Команда доверяет друг другу и извлекает опыт из успехов и неудач. Это один из принципов, которому следуют все самообучающиеся организации.
Три совета, чтобы все получилось:
- Сокращайте петлю обратной связи.
- Экспериментируйте и используйте новый опыт для улучшений.
- Используйте накопленные компанией знания и опыт.
Идеально для концепции DevOps, когда все так: разработчики добавляют продукту новую функцию, получают обратную связь, вносят изменения и сразу их проверяют с помощью автоматического или предварительного тестирования. В результате нет ошибок, а если возникнет проблема, ее можно быстро обнаружить и устранить.
Разработка в DevOps — единый процесс, разделенный на части. В этом основное отличие концепции от Scrum, где проводят тестирование и получают обратную связь после выполнения группы задач, а не каждой отдельной функции.
РАЗРАБОТКА ПО DEVOPS | РАЗРАБОТКА ПО SCRUM |
---|---|
единый и непрерывный процесс | деление на этапы |
Заключение
DevOps — сложная концепция, которая помогает крупным компаниям. Когда много разных отделов и специалистов, и их нужно объединить, чтобы что-то получилось. Например, ее используют Google, Netflix и Etsy.
Если у вас маленькая студия, возможно, то не нужно углубляться в DevOps, а улучшить процессы помогут Kanban или Scrum. Что использовать — решать вам.
Вот о чем нужно помнить обязательно, выбирая DevOps.
Найдите проблему или процесс, которые нужно улучшить.
Спросите себя: что изменится, если решить эту проблему; что будет, если ничего не менять.
Определите цель: что и когда нужно сделать.
Распишите действия шаг за шагом.
Используйте короткие итерации.
Проверяйте результат и ставьте новые цели после каждой итерации.
Не существует методологии, которая подойдет всем. Чтобы выбрать правильно, нужно учитывать контекст и потребности проекта. Поэтому менеджер думает за всю команду: планирует, просчитывает риски и умеет выходить из сложных ситуаций.