November 24, 2022

SCRUM — как аналитики и остальная команда работают на проекте

Раньше была популярна "водопадная" (waterfall) модель разработки.

Это когда фазы разработки переходят одна в другую поочередно:

  1. Встреча с заказчиком.
  2. Анализ его требований.
  3. ТЗ, ПЗ, SRS — большие документы, которые писали аналитики несколько месяцев и даже больше года с информацией о том, что нужно сделать.
  4. Разработка — такая же продолжительная.
  5. Тестирование — тестирование этого всего.
  6. Сдача заказчику.
  7. Осознание, что сделано не то, не так, это уже не актуально.

Теперь большинство компаний работают по итеративной (iteration — повторение) модели разработки ("гибкие" методологии).

Это когда небольшие фазы зацикливаются/повторяются. Тогда продукт делается небольшими частями:

  1. Встреча с заказчиком.
  2. Определение списка задач.
  3. Выборка из списка задач на 1 итерацию.
    1. Написание требований на 1 итерацию.
    2. Разработка функций в 1 итерацию.
    3. Тестирование функций в 1 итерацию.
    4. Сдача заказчику функций 1 итерации.
  4. Выборка из списка задач на 2 итерацию.
    1. Написание требования на 2 итерацию.
    2. Разработка функций во 2 итерацию.
    3. Тестирование функций во 2 итерацию.
    4. Сдача заказчику функций 2 итерации.
  5. Выборка из списка задач на 3 итерацию...

На стажировке разработка идет по SCRUM (Agile — метология, SCRUM — её реализация), подробнее о методологии можно почитать в конце статьи по ссылкам.

Единицей периода разработки является спринт, его нет смысла делать длинным, чаще всего он занимает 1-2-3 недели. Рекомендуется 2 недели.

  1. Менеджеры и аналитики определяют перечень задач на весь период стажировки и согласовывают с заказчиком.
  2. Менеджеры вместе с аналитиками выбирают задачи, которые требуется сделать в первую очередь в 1 итерацию.
  3. Аналитики пишут требования на 1 итерацию.
  4. Стартует планирование спринта.
  5. Стартует спринт, разработчики выполняют задачи 1 спринта.
  6. В это время аналитики пишут требования на 2 итерацию.
  7. Заканчивается спринт, разработчики выкатывают результат 1 спринта.
  8. Тестировщики тестируют функции, которые были выполнены в 1 спринте.
  9. Результат показывается заказчику.

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

Необходимые доработки оформляются через аналитиков требованиями (добавить полей на форму и т. д.), если они не касаются технических вещей, которые делают разработчики.

Полезно знать Agile-манифест:

  • Люди и взаимодействие важнее процессов и инструментов.
  • Работающий продукт важнее исчерпывающей документации.
  • Сотрудничество с заказчиком важнее согласования условий контракта.
  • Готовность к изменениям важнее следования плану.