Использование YouTrack для работы команды по Scrum

Preview:

Citation preview

Scrum в wi.sbis

Роли

Product Owner - Олег ЕлифантьевScrum Master - Таня БаеваTeam - все, так как у нас все выполняют работы в план

Что есть что

Продукт - это наш фреймворк. Product backlog - по сути наши планы. Планы составляются на месяц.User story - отдельный пункт плана: проект или большая доработка. Может растянуться на несколько месяцев.Sprint backlog - задачи, на которые разбиваются пункты плана. Может меняться в следствие пересогласования плана.

В начале месяца после составления планов объявляем все пункты и присваиваем им приоритет. Он повлияет на порядок выполнения задач. Далее разбиваем пункты на подзадачи. Формируем Sprint backlog. На каждой задаче должно быть отмечено сколько времени человек планирует ей заниматься. Исходя из этого времени будут выбираться задачи на спринт (Нельзя, чтобы время превысило отведенное на спринт время).

Что, как и когда: Product backlog

Sprint

Sprint предлагается делать месяц, исключая выходные дни. Это позволит видеть более четко прогресс работ на burndown chart и доске.По итогам спринта все задачи должны быть сделаны. Должна быть проведена демонстрация заказчику текущего состояния работ и получена обратная связь. Если задача в текущем спринте не сделана - переносим ее на следующий.

Sprint

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

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

ЗатрудненияЕсли много времени потрачено на доработки: нам следует чаще отказывать в доработках либо пересогласовывать план. Так как тратя время на них, мы не соблюдаем сроки и нам сложнее выполнить план.Если много времени тратим на ошибки: нам следует больше внимания обращать на стабильность кода, писать больше тестов и следить за ними.

Daily Meeting

Проходит ежедневно в 15:00. Каждому участнику команды отводится 1 минута. Рассказывая, он отвечает на вопросы:● что делал● с какими проблемами столкнулся● что будет делать дальшеНа ежедневные митинги приглашаются технические писатели, для того, чтобы быть в курсе происходящего во фреймворке.

Scrum-доска

Scrum-доскаПоявляется графа для очереди. Это те задачи, которые еще не включены ни в один спринт. Доска содержит графы: ● Ждет обработки● На выполнении ● Ждет тестирования/проверки● На проверке. Это состояние значит, что

кто-то из разработчиков проверяет задачу.

● Тестирование● Сделано

Scrum-доска

Когда задача находится в состоянии “Тестирование” это не значит, что нужно просто проверить, как для состояния “На проверке”. Это значит, что должны быть написаны тесты на задачу разработчиком/тестировщиком. *В этом нам помогает отдел автоматизации тестирования.

Sprint review

По сути это сдача планов. В них входит демонстрация результата заказчику.

Sprint retrospective

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

Product retrospective

Демонстрация результата работы нашему отделу. Возможно, также и заинтересованным людям. Предлагается по итогам каждого месяца проводить внутренний семинар, на котором каждый расскажет что нового он сделал. Также возможно обсуждение проблем с которыми столкнулись.

Автоматизация

Для автоматизации процесса нами был выбран YouTrack Данный продукт хорошо интегрируется с нашей средой разработки phpStorm, а также с нашим сервером CI TeamCity.Документация возможностей YouTrack.

YouTrack: трекер задач

В YouTrack у нас заведен один проект - “WI.SBIS Application Framework”. В нем содержатся все задачи, которые мы планируем когда-либо сделать. Все они отражены в списке.

YouTrack: трекер задач

YouTrack: трекер задачУвидеть все задачи по проекту можно просто кликнув слева по его названию.Также можно найти задачи по любому признаку. Просто начните набирать признак или значение признака, по которому хотите найти задачи, а система сама подскажет вам доступные варианты.

YouTrack: трекер задач

YouTrack: трекер задач

YouTrack: трекер задачЗа каждую понравившуюся задачу можно проголосовать.

А также для каждой задачи можно оставить комментарий.

YouTrack: трекер задач

*YouTrack: было бы здоровоБыло бы здорово пустить прикладных разработчиков в наш трекер с целью создания нам запросов на новые возможности платформы, а также голосования за них. Так мы бы понимали точно скольким людям нужна какая-то функциональность и что она вообще нужна.

YouTrack: интеграция с TeamCityВ настройках проекта можно указать, какие сборки в TeamCity нужно связать с этим проектом. Для того, чтобы связать задачу со сборками в TeamCity нужно немного магии.Что мы делаем: в комментарии к коммиту указываем идентификатор задачи.Пример: (#wi_sbis-171) issue 68744 06.11.13Что это дает нам: Мы видим сборки в TeamCity по этой задаче, можем посмотреть измененные в них файлы и их статус.

YouTrack: интеграция с TeamCity

YouTrack: затраченное времяПо задаче можно списать затраченное время Что мы делаем: в комментарии к коммиту указываем строку #<идентификатор задачи>:<затраченное время, в формате *d*h*m>Пример: #wi_sbis-171:30m новый коммитЧто это дает нам: суммарное затраченное время по задаче. Оно позволит нам понять насколько сильно мы ошиблись (или нет) в запланированном на задачу времени.

YouTrack: затраченное время

YouTrack: перевод в другое состояниеУказав в комментарии к коммиту строку вида “<номер задачи> <название состояния>” вы переведете задачу на доске в другое состояние.Пример: (#wi_sbis-171) Сделанозадание № 68744 от 06.11.13Не открываются уже созданные отчеты на деве....sbisdoc://1+ОшРазраб+06.11.13+68744+2DBDF88C-35F7-4D89-A64B-3FFA3E7584F+

YouTrack: AgileAgile доска у нас одна на проект. На каждый месяц мы заводим отдельный спринт. Это позволяет нам сохранить очередь и разграничить месяцы. Доска отображается на состояние текущего спринта. Прошедшие спринты мы помещаем в архив. В терминах YouTrack спринт это версия исправления. Поэтому задача включается в спринт выбором значения этого поля.

YouTrack: Agile

YouTrack: Agile

Для задач мы ввели дополнительные поля месяц и год. Год по умолчанию встает текущий. Месяц задается на задаче, которая должна быть выполнена в этом месяце. Это облегчит поиск задач на месяц.

YouTrack: Agile

Спринты у нас принято именовать в виде YYYY-MM.

YouTrack: Agile

YouTrack: Agile

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

YouTrack: Agile

У задач по умолчанию достаточно много полей. Все они легко конфигурируются в настройках проекта. Также можно задать исполнителей проекта, набор значений для состояний и многое другое.В настройках самого YouTrack можно управлять группами пользователей и ролями. Например, можно завести роли заказчика или тестировщика.

YouTrack: Agile

YouTrack*: хорошее правило

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

YouTrack: приоритет задачи

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

YouTrack: оценка задачи

Что мы делаем: на задаче мы указываем предполагаемое время выполнения задачи.Что это дает нам: помогает правильно спланировать наше время. В частности, правильно составлять планы. Сравнив оценку и затраченное время на задачу мы понимаем на сколько ошиблись в оценке.

YouTrack: Agile board

Задачи на доске выводятся по столбцам. Столбцы могут определяться одним из полей: тип, приоритет, состояние. У нас это состояние. Управление столбцами возможно из конфигурации доски. Также столбцы могут иметь цветовое кодирование. Оно помогает визуализации процесса. Особенно удобно при демонстрации доски на ежедневных митингах.

YouTrack: Agile board

YouTrack: Agile board

YouTrack: очередь

В очередь доски попадают все задачи по проекту, которые не включены ни в один спринт.

YouTrack: очередь

YouTrack: свимлэйны

Свимлэйн - способ объединения задач. Может быть либо по задаче, либо по любому аттрибуту. В нашей команде мы используем группировку по задаче. Можно, например, выбраться группировку по аттрибуту “Исполнитель”. При этом для аттрибута задаются возможные значения для текущей доски.

YouTrack: свимлэйны

YouTrack: свимлэйны

YouTrack: свимлэйны

В случае конфигурирования свимлэйнов по задаче, группировка происходит по задаче, которая являеется user story (читай “пункт плана”). Она должна содержать в себе связанные задачи. Это те задачи, на которые она разделена.Такими свимлэйнами помимо нас, пользуется команда JetBrains, разрабатывающая YouTrack.

YouTrack: свимлэйны

YouTrack: свимлэйны

Связанные задачи можно увидеть на родительской задаче. К ней прилагается весь список связанных задач.

YouTrack: поле оценки

Одна из довольно важных настроек скрам доски - это поле оценки. Она может принимать три значения: нет оценки, затраченное время, оценка. Этот параметр оказывает влияние на Sprint burndown chart и Cummulative Diagramm. Если установлен по полю оценки, поможет установить насколько правильно по времени выбраны задачи - успеем ли все в спринт. По затраченному времени - позволит понять сколько времени потрачено на задачи.

YouTrack: поле оценки

YouTrack: Burndown Chart

YouTrack строит за вас диаграммы по сринту. На диаграммах отражено текущее состоние работ, их прогресс. В нашей команде каждый ежедневный митинг начинается с просмотра диаграммы сгорания задач.

YouTrack: Burndown Chart

YouTrack: Cummulative Diagramm

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

YouTrack: Cummulative Diagramm

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

YouTrack: Cummulative Diagramm

YouTrack: табличный отчет

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

YouTrack: табличный отчет

YouTrack: отчет по времни

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

YouTrack: отчет по времни

YouTrack: интеграция с почтой

YouTrack умеет интегрироваться с почтой. Если заполнить настройки, то по каждому письму, пришедшему на указанный электронный ящик будет создана новая задача в трекере. При этом тема будет считаться заголовком задачи, а текст письма - ее описанием.

Спасибо за внимание!Вопросы?

Замечания?

Recommended