Agile, Scrum и все все все...

Feb 8, 2016 12:26 · 627 words · 3 minute read

Agile в “Весне”

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

Я даже выступал на конференции IMIX в надежде популяризировать идёю использования её в других компаниях, а так же рассказать подробнее о ней для потенциальных заказчиков. (Презентация на IMIX 2011)

Прошло уже 5 лет с тех пор, а внедрить scrum в разработку сайтов так и не вышло. И причин тому несколько.

Я не буду вдаваться в тонкости scrum-а, хочу лишь поделиться некоторыми наблюдениями из личной практики. Коснусь с основном командного фактора.

Внедрять scrum в разработку сайтов изначально было авантюрой, но хотелось новых шагов и свершений.

Сложности внедрения Scrum

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

Scrum называют методологией управления проектами, что подразумевает что это метод для управления проектами. Примени её к своей команде и она будет работать. Я бы назвал scrum состоянием команды, команда либо работает в режиме scrum-а, либо противится ему.

Пять лет назад я с оптимизмом смотрел вперёд и был готов слепо идти напролов внедряя Scrum. Но сейчас я пожалуй прокомментирую слайд из презентации с положительными сторонами Scrum-а. (плохих я тогда не видел)

  • Вовлечённость команды – вовлечь просто, сложно не потерять интерес

  • Рост команды – Рост обусловлен свободой выбора, убери свободу выбора и все усилия сойдёт на нет

  • Скорость реализации – И да и нет. Обсуждение задач позволяет реализовывать более фундаментальные части (MVP) но обычно принцип “ну работает же” когда забыли предусмотреть что то на будущее только вредит и отдаляет членов команды

  • Поток идей – Да, в самом начале. Позже лишь при условии личных интересов к проеку (самореализация, амбиции и прочее)

  • Быстрое реагирование на изменения – Казалось бы это основное преимущество scrum-а, но не тут то было. Без чёткого и выдержанного плана только расшатывает и дёргает команду в сторону распыляя её эффективность

Программист

Я программист чёрт побери!

Я наблюдал как сложные задачи оценённые первоначально на пару дней или недель, реализовывались за пару часов. Так и простые задачи оценённые в несколько дней, растягивались на пару месяцев. (можно соотнести с принципом Парето, но тут скорее великой рандом и ктулху)

Я всегда искал способы продлить эффективное состояние программиста, которое я называю “волной”. По своей сути оно складывается из череды “побед” над собой, своим кодом и проектом в целом.

Scrum создан для того чтобы команда побеждала задачи и фичи, изучала сама себя и свои силы. И конечно же совершенствовала их.

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

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

Эксперимент для коллег

Помимо программиста, я ещё и “менеджер”. (Порой я сражаюсь сам с собой :)) Предлагаю коллегам по цеху и всем причастным к управлению проектами, проведите эксперимент со своими программистами.

Нужно спросить у программиста следующее:

– Что было бы интереснее(эффективнее, быстрее и др.) реализовать?

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

(Нужно знать текущие тренды в разработке, либо предложить ему выбрать самому)

Возможно это довольно очевидно, но лишним увидеть его реакцию думаю не будет.

Заключение

Scrum - при должном внимании к деталям крайне эффективный подход к разработке.

На своих личных проектах я бы выбрал его не раздумывая.

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