2. Роли
Product Owner - Олег Елифантьев
Scrum Master - Таня Баева
Team - все, так как у нас все выполняют
работы в план
3. Что есть что
Продукт - это наш фреймворк.
Product backlog - по сути наши планы. Планы
составляются на месяц.
User story - отдельный пункт плана: проект
или большая доработка. Может растянуться
на несколько месяцев.
Sprint backlog - задачи, на которые
разбиваются пункты плана. Может меняться
в следствие пересогласования плана.
4. Что, как и когда: Product backlog
В начале месяца после составления планов
объявляем все пункты и присваиваем им
приоритет. Он повлияет на порядок
выполнения задач.
Далее разбиваем пункты на подзадачи.
Формируем Sprint backlog. На каждой задаче
должно быть отмечено сколько времени
человек планирует ей заниматься. Исходя
из этого времени будут выбираться задачи
на спринт (Нельзя, чтобы время превысило
отведенное на спринт время).
5. Sprint
Sprint предлагается делать месяц, исключая
выходные дни. Это позволит видеть более
четко прогресс работ на burndown chart и
доске.
По итогам спринта все задачи должны быть
сделаны. Должна быть проведена
демонстрация заказчику текущего состояния
работ и получена обратная связь. Если
задача в текущем спринте не сделана переносим ее на следующий.
6. Sprint
Так как спринт занимает месяц, а это
достаточно долго, то каждую пятницу
проводится срез работ. На нем обсуждается
текущее положение дел, в случае
отклонения от идеального выгорания задач
обсуждается куда ушло время. Также
необходимо провести демонстрацию работ,
выполняемых в эту неделю, заказчику и
получить от него обратную связь.
7. Затруднения
Для нас это задачи в сборку, доработки и
исправление ошибок. То, что появляется
“внезапно”. В плане эти пункты должны
присутствовать. Т. о., в каждом спринте
появляются две зарезервированных задачи:
“доработки” и “исправление ошибок”. На
этих задачах мы отмечаем затраченное
время. В конце спринта такая задача будет
гарантированно закрыта. Она нужна для
сбора метрик и затраченного времени на
ошибки/доработки времени (не ошиблись ли
с оценкой?).
8. Затруднения
Если много времени потрачено на
доработки: нам следует чаще отказывать в
доработках либо пересогласовывать план.
Так как тратя время на них, мы не
соблюдаем сроки и нам сложнее выполнить
план.
Если много времени тратим на ошибки: нам
следует больше внимания обращать на
стабильность кода, писать больше тестов и
следить за ними.
9. Daily Meeting
Проходит ежедневно в 15:00. Каждому
участнику команды отводится 1 минута.
Рассказывая, он отвечает на вопросы:
● что делал
● с какими проблемами столкнулся
● что будет делать дальше
На ежедневные митинги приглашаются
технические писатели, для того, чтобы быть
в курсе происходящего во фреймворке.
11. ܳ-доска
Появляется графа для очереди. Это те
задачи, которые еще не включены ни в один
спринт.
Доска содержит графы:
● Ждет обработки
● На выполнении
● Ждет тестирования/проверки
● На проверке. Это состояние значит, что
кто-то из разработчиков проверяет
задачу.
● Тестирование
● Сделано
12. ܳ-доска
Когда задача находится в состоянии
“Тестирование” это не значит, что нужно
просто проверить, как для состояния “На
проверке”. Это значит, что должны быть
написаны тесты на задачу
разработчиком/тестировщиком.
*В этом нам помогает отдел автоматизации
тестирования.
13. Sprint review
По сути это сдача планов. В них входит
демонстрация результата заказчику.
14. Sprint retrospective
Проводится по окончании каждого спринта,
т.е. в пятницу после ежедневного митинга. В
это время каждый может высказать свое
мнение/пожелания/впечатления о работе
проделанной им лично или отделом за
неделю. Также на пятничный митинг
приглашается группа автоматизации
тестирования.
15. Product retrospective
Демонстрация результата работы нашему
отделу. Возможно, также и
заинтересованным людям. Предлагается по
итогам каждого месяца проводить
внутренний семинар, на котором каждый
расскажет что нового он сделал. Также
возможно обсуждение проблем с которыми
столкнулись.
16. Автоматизация
Для автоматизации процесса нами был
выбран YouTrack
Данный продукт хорошо интегрируется с
нашей средой разработки phpStorm, а также
с нашим сервером CI TeamCity.
Документация возможностей YouTrack.
17. YouTrack: трекер задач
В YouTrack у нас заведен один проект - “WI.
SBIS Application Framework”. В нем
содержатся все задачи, которые мы
планируем когда-либо сделать. Все они
отражены в списке.
19. YouTrack: трекер задач
Увидеть все задачи по проекту можно
просто кликнув слева по его названию.
Также можно найти задачи по любому
признаку. Просто начните набирать признак
или значение признака, по которому хотите
найти задачи, а система сама подскажет
вам доступные варианты.
24. *YouTrack: было бы здорово
Было бы здорово пустить прикладных
разработчиков в наш трекер с целью
создания нам запросов на новые
возможности платформы, а также
голосования за них. Так мы бы понимали
точно скольким людям нужна какая-то
функциональность и что она вообще нужна.
25. YouTrack: интеграция с TeamCity
В настройках проекта можно указать, какие
сборки в TeamCity нужно связать с этим
проектом. Для того, чтобы связать задачу со
сборками в TeamCity нужно немного магии.
Что мы делаем: в комментарии к коммиту
указываем идентификатор задачи.
Пример: (#wi_sbis-171) issue 68744 06.11.13
Что это дает нам: Мы видим сборки в
TeamCity по этой задаче, можем посмотреть
измененные в них файлы и их статус.
27. YouTrack: затраченное время
По задаче можно списать затраченное
время
Что мы делаем: в комментарии к коммиту
указываем строку #<идентификатор
задачи>:<затраченное время, в формате
*d*h*m>
Пример: #wi_sbis-171:30m новый коммит
Что это дает нам: суммарное затраченное
время по задаче. Оно позволит нам понять
насколько сильно мы ошиблись (или нет) в
29. YouTrack: перевод в другое
состояние
Указав в комментарии к коммиту строку вида
“<номер задачи> <название состояния>” вы
переведете задачу на доске в другое
состояние.
Пример: (#wi_sbis-171) Сделано
задание № 68744 от 06.11.13
Не открываются уже созданные отчеты на
деве....
sbisdoc://1+ОшРазраб+06.11.13
+68744+2DBDF88C-35F7-4D89-A64B-
30. YouTrack: Agile
Agile доска у нас одна на проект. На каждый
месяц мы заводим отдельный спринт. Это
позволяет нам сохранить очередь и
разграничить месяцы.
Доска отображается на состояние текущего
спринта. Прошедшие спринты мы помещаем
в архив. В терминах YouTrack спринт это
версия исправления. Поэтому задача
включается в спринт выбором значения
этого поля.
32. YouTrack: Agile
Для задач мы ввели дополнительные поля
месяц и год. Год по умолчанию встает
текущий. Месяц задается на задаче, которая
должна быть выполнена в этом месяце. Это
облегчит поиск задач на месяц.
35. YouTrack: Agile
На доске текущий спринт отображается с
указанием в процентах и отображением по
цветам прогресса его выполнения.
36. YouTrack: Agile
У задач по умолчанию достаточно много
полей. Все они легко конфигурируются в
настройках проекта. Также можно задать
исполнителей проекта, набор значений для
состояний и многое другое.
В настройках самого YouTrack можно
управлять группами пользователей и
ролями. Например, можно завести роли
заказчика или тестировщика.
38. YouTrack*: хорошее правило
В нашем проекте мы используем в
частности поле “Подсистема”. Оно может
принимать помимо других значение
“Проблема удобства использования”. В
начале каждой недели каждый член
команды должен выбрать себе задачу из
этой подсистемы и сделать ее.
39. YouTrack: приоритет задачи
Что мы делаем: указываем у каждой задачи
приоритет.
Что нам это дает: на каждый спринт мы
выбираем наиболее приоритетные задачи,
приоритеты необходимо согласовать с
заказчиком. Приоритеты могут поменяться
только перед началом спринта у задач,
которые еще не находятся в обработке.
40. YouTrack: оценка задачи
Что мы делаем: на задаче мы указываем
предполагаемое время выполнения задачи.
Что это дает нам: помогает правильно
спланировать наше время. В частности,
правильно составлять планы. Сравнив
оценку и затраченное время на задачу мы
понимаем на сколько ошиблись в оценке.
41. YouTrack: Agile board
Задачи на доске выводятся по столбцам.
Столбцы могут определяться одним из
полей: тип, приоритет, состояние. У нас это
состояние. Управление столбцами возможно
из конфигурации доски.
Также столбцы могут иметь цветовое
кодирование. Оно помогает визуализации
процесса. Особенно удобно при
демонстрации доски на ежедневных
митингах.
46. YouTrack: свимлэйны
Свимлэйн - способ объединения задач.
Может быть либо по задаче, либо по
любому аттрибуту. В нашей команде мы
используем группировку по задаче. Можно,
например, выбраться группировку по
аттрибуту “Исполнитель”. При этом для
аттрибута задаются возможные значения
для текущей доски.
49. YouTrack: свимлэйны
В случае конфигурирования свимлэйнов по
задаче, группировка происходит по задаче,
которая являеется user story (читай “пункт
плана”). Она должна содержать в себе
связанные задачи. Это те задачи, на
которые она разделена.
Такими свимлэйнами помимо нас,
пользуется команда JetBrains,
разрабатывающая YouTrack.
52. YouTrack: поле оценки
Одна из довольно важных настроек скрам
доски - это поле оценки. Она может
принимать три значения: нет оценки,
затраченное время, оценка. Этот параметр
оказывает влияние на Sprint burndown chart
и Cummulative Diagramm. Если установлен
по полю оценки, поможет установить
насколько правильно по времени выбраны
задачи - успеем ли все в спринт. По
затраченному времени - позволит понять
сколько времени потрачено на задачи.
54. YouTrack: Burndown Chart
YouTrack строит за вас диаграммы по
сринту. На диаграммах отражено текущее
состоние работ, их прогресс. В нашей
команде каждый ежедневный митинг
начинается с просмотра диаграммы
сгорания задач.
56. YouTrack: Cummulative Diagramm
Отражает сколько задач в каком состоянии
находится в каждый день спринта.
Позволяет оценить скорость выполнения
задач, а также производительность
команды. (В основном для идеального
случая: 1 задача в день.)
Такая диаграмма позволяет выявлять узкие
места в процессе работы и принимать
быстрые решения для исправления
ситуации.
57. YouTrack: Cummulative Diagramm
Например, видно что в процессе были
добавлены задачи, а это плохо. На такое
нужно реагировать и разбираться почему
эти задачи не были включены изначально и
не были учтены. Как правило эти задачи и
составляют затруднения.
59. YouTrack: табличный отчет
Трекер позволяет построить различные
табличные отчеты по проделанной работе
как по проекту, так и по каждой доске( что
для нас равносильно месяцу). В частности,
может быть отражено сколько каждый член
команды обработал заданий, кто сколько
голосовал, кто сколько создал задач и
прочее.
61. YouTrack: отчет по времни
Помимо табличного отчета, трекер
позволяет построить отчет по времени. В
нем отражается сколько времени было
затрачено за указанный промежуток
времени на каждую задачу. Поддерживается
группировка по любому из полей задачи.
Отчет может строиться по проекту или по
скрам доске.
63. YouTrack: интеграция с почтой
YouTrack умеет интегрироваться с почтой.
Если заполнить настройки, то по каждому
письму, пришедшему на указанный
электронный ящик будет создана новая
задача в трекере. При этом тема будет
считаться заголовком задачи, а текст письма
- ее описанием.