Жизненный цикл задач

6 min read

Жизненный цикл задачи — это процесс воплощения задумки в проекте. Хорошие задачи делают проект лучше и органично дополняют его. Сегодня речь пойдёт о том, как мы дополнили естественный жизненный цикл задачи важными точками. Они помогают нам делать хорошие задачи отличными, учиться друг у друга и рассказывать историю наших задач всем.

Постановка задачи

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

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

Обсуждение задачи

Дальше переходим к обсуждению задачи и добавляем ей метку Discussion. Это очень важный шаг для развития общего видения проекта. Каждая новая возможность должна быть оправдана. Лучше не делать задачу совсем, чем делать её плохо.

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

После того, как задача получила описание она может:

Выполнение задачи

Задачи в состоянии To Do присваиваются исполнителям и переходят в статус In Progress. В этом статусе происходит вся магия. Несмотря на то, что задача присвоена одному человеку, её реализация — это дело всей команды. Исполнитель — это человек, который будет писать историю этой задачи и у которого будут спрашивать, почему сделано так, а не иначе. Мы любим помогать друг другу и не боимся просить совета или помощи в реализации.

Долгий путь под названием Review

Из статуса In Progress задача попадает в In Review. Исполнитель создаёт Pull Request, то есть просьбу перенести коммиты (изменения) из ветки этой задачи в рабочую ветку, код из которой работает на сервере. Перед тем как одобрить одобрить пул реквест, нужно удостовериться в том, что задача сделана хорошо. Для этого, исполнитель назначает ревьюеров, ему нужно выбрать по крайней мере двух участников команды, которые имеют разное количество опыта в этом проекте. Часто бывает, что простые вопросы человека, плохо разбирающегося в технологии, сильно улучшают уровень исполнения.

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

После Review задача попадает в статус Done.

Это ещё не всё

Done ещё не значит, что задача закрыта. Исполнитель продолжает следить за задачей до того момента, пока код не заработает на сервере, и им не начнут пользоваться люди. Чтобы извлечь максимальную пользу из проделанной работы, после выполнения задачи мы пишем статью о том, с какими проблемами столкнулась команда, какие решения были приняты и какие выводы сделаны. Любая задача достойна своей истории, и мы готовы её рассказать.

Почему так сложно?

Многие из наших решений направлены на развитие чувства ответственности и свободы у каждого из членов команды. Задачи структурированы так, что каждый может найти что-то себе по душе и узнать, чем занимаются коллеги. Таким образом, в любое время у нас есть список задач в состоянии To Do, которые с уверенностью можно присвоить себе, перевести в статус In Progress и начать делать. Задачи с меткой Discussion можно обсуждать в свободное время и предлагать свои идеи по реализации. А также постоянно есть пища для ума в виде задач, находящихся в In Review. Мы считаем, что анализ чужих работ и поиск идей по их улучшению — это отличный способ развития навыков и креативности.

Учтите, что наша история подойдёт не всем. Мы — команда разработчиков, которая работает не ради денег, нам важна каждая задача. Мы хотим тратить на них своё время и делать их по-настоящему круто. Мы хотим общаться и передавать знания. Нам важно общее видение проекта, поэтому мы подходим с таким вниманием к каждой задаче.

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