09.12.2019

      Гайд по гибким методологиям для рекрутеров

      Вопрос разницы между Agile и Waterfall, Scrum и FDD - это причина бесконечных споров разработчиков. Некоторые из них выстраивают Agile-святилища, придерживаясь минимальных правил, другие - берут по немногу от каждой методологии. Мы же не будем участвовать в философском холиваре, но расскажем вам must have to know знания о гибких методологиях для рекрутеров.
      Среди самых актуальных моделей разработки находятся каскадная и итеративная. Рассмотрим их подробнее.

      Каскадная модель

      Illustration

      Суть каскадной модели (Waterfall) состоит в том, чтобы разбить весь цикл разработки на этапы с выставленными дедлайнами и требованиями. Так переход к новому этапу возможен только после завершения предыдущего.
      Из преимуществ этого подхода: вы будете точно знать, когда будет релиз продукта, сколько стоит разработка, сколько людей необходимо привлечь в команду, сам процесс будет прозрачным. Также предполагается наличие четко оформленного и актуального ТЗ, которое не желательно изменять. Отсюда и главный минус этой модели: она недостаточно гибкая и влечет за собой массивную стопку документации. Если, например, некоторые функции станут бессмысленными, то всю программу придется переписывать заново.
      Продуктовые компании куда чаще используют каскадную модель, так как они ориентированы на результат.

      Итеративная модель

      Итеративные модели созданы, чтобы решить главную проблему каскадной: они максимально гибкие. Суть такого подхода состоит в том, чтобы разбить весь процесс разработки на отдельные итерации. В каждую итерацию будет входить и разработка, и тестирование, и согласование, и ретроспектива.
      Итеративные модели гибки и адаптативны к изменениями, они ориентированы на процесс, а значит смогут максимально удовлетворить все “хотелки” заказчиков и создать сложный комплексный продукт. К тому же, буквально на первых этапах будет создано работающее ПО. В то же время такой подход имеет много минусов: длительный и размытый процесс разработки, отсутствующее или неточное ТЗ, частые (и бесполезные?) вводные, которые огорчают разработчиков.
      Итеративные модели чаще применяются в outsource-компаниях, так как они больше ориентированы на процесс.

      Illustration

      Чаще всего итерационную модель ассоциируют с философией Agile, принципы которой были провозглашены в манифесте от разработчиков:
       - Люди и взаимодействие важнее процессов и инструментов; - Работающий продукт важнее исчерпывающей документации; - Сотрудничество с заказчиком важнее согласования условий контракта; - Готовность к изменениям важнее следования первоначальному плану.
      Среди самых актуальных методологий Agile: Feature Driven Development (FDD), eXtreme programming (XP) и Scrum. Рассмотрим их по порядку.

      FDD - это метод систематической разработки, ориентированный на заказчика. Он применяется для больших и долгосрочных проектов. Список задач разработчика - это список “фич”, которые нужно добавить в продукт. Так процес разработки делится на итерации, за которые можно написать один блок функционала. Так предполагается наличие четких требований и ведение документации и отчетности, что позволяет, с одной стороны, привлекать к разработке новых членов команды на любом этапе, а с другой, минимизирует ошибки и недопонимания.

      XP - это метод, который объединил и возвел в абсолют все лучшие практики разработки. XP стоит использовать, когда заказчик сам не уверен в том, какой продукт хочет получить или когда сам продукт достаточно сложен (например, для нишевых проектов, где не существует готовых решений). Метод предполагает почти полное отсутствие документации, высокий уровень вовлеченности заказчика, придельное внимание к проверке ошибок, а значит и снижение рисков, связанных с качеством кода. Применим только к программированию.

      Illustration

      Scrum - самая универсальная адаптативная модель, которая позволяет приступить к написанию кода, даже когда требования еще не до конца ясны, а на руках есть лишь небольшое MVP. В нем разбивка на итерации происходит по времени, обычно кратно неделям, 1-4 недели, чаще всего 1. Этот временной промежуток называется Спринт. Во время планирования спринта команда сама ставит себе цели на данный спринт из общего списка задач, а в конце спринта обсуждает результаты (ретроспектива), делает выводы и строит планы на следующий спринт. Актуальнее всего применять Scrum в стартапах. 

      Kanban - это способ организации работы, с которым сталкиваются даже специалисты, далекие от IT. Применяется в Scrum и других гибких методологиях. Так главный атрибут Kanban’а (доска) представляет собой набор задач (стикеров) распределенных по колонкам (этапам разработки). Суть этого метода состоит в том, чтобы настроить поток задач, избавить процессы от “простоев” и равномерно распределить задачи между участниками и командами. Из-за удобства и эффективности этот подход применяется во многих других сферах: производстве, маркетинге и так далее.

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

      Команда ITExpert