Персональные инструменты
 

Обсуждение:Что означает «Готово!» — применение практики Definition of Done (Николай Алименков, Алексей Солнцев, AgileDays-2011)/Заметки Стаса Фомина

Материал из CustisWiki

Версия от 18:14, 12 июля 2011; StasFomin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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

Правда этот парный конферанс было очень сложно:

  • Снимать — они расположились в двух, противоположных концах сцены, и видеооператор (Игорь?) был не в силах, даже на самом большом удалении поймать их обоих в кадр, а переключатся на «говорящего» было еще сложнее. Такое, по уму, можно снять только с двух камер, но увы, этого мы позволить не могли.
  • Монтировать — сначала я пытался смонтировать с переключением сцен — но это было нереально, и бестолку — ибо в половине случаев говорил тот участник, который отсутствовал на видео. Пришлось повесить их фото, разрезать картинку, засунуть в середину экран, ну и получить что-то, похожее на присутствие (плюс фантастические спецэффекты, когда выступающий телепортирует части тела из одной части сцены в другую).

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

А Agile, и SCRUM в частности — это не «гибкость во всем», это гибкость, за счет того, что есть железно прочные элементы, и в SCRUM таковым является «Definition of Done», и бинарная логика выполненности задач.

В некотом смысле (мои личные фантазии-метафоры), это переход от классической физики, где частицы могли иметь любые координаты и состояния (ну и соотвественно, задач, которые могли быть выполнены на 45%, 57%, и зачастую даже на 154%) к квантовой, где состояния задач внутри итерации внешнего наблюдателю вообще неизвестны («неопределенность Гейзенберга»), но к концу итерации («проекция на базис»), они могут быть только в одном из двух состояний — «выполнено»/fail».

  • Никаких «99% готовности!» — угу, «все задачи готовы, на 99%».
  • Если вы нарушаете этот принцип — то у вас что угодно, только не SCRUM.
  • Если вы дали слабину в этом принципе, хоть в одном случае то все, «пропал калабуховский дом», вашему процессу крышка.

Может это излишний идеализм — метафора выступающих «ваша жена же не зовет вас обедать, когда еще не готово!» (бггг, они не знакомы с моей), но видимо, идеализм правильный.

Говорилось и о технических вопросах — как и где хранить Definition Of Done, как его формулировать на неконфликтующие уровни (DoDы для отдельных задач, фич, итераций, релизов, …)

Интересный момент — у ребят в DoD релиза обязательно входят тесты на Production серверах, вне зависимости от количества тестирования в тестовом окружении. Настоящие боевые тесты — они держат фейковые аккаунты с настоящими карточками и деньгами (тут мне вспоминается широко известная в нашей компании история про «шесть проводок»).