Alovak thoughts |
Ruby/Rails developer Agile/TDD/BDD evangelist co-founder of Belorussian Agile and Rails communities |
Мы используем User Story (US) для описания требований к разрабатываемой системе. Формат US такой:
As a <role>, I want <feature> so that <value>
Перед тем, как “собирать” US для нашего приложения мы должны определить типы пользователей (роли) в нашей системе. Как их определить?
Read more
Мы используем User Story (US) для описания требований к разрабатываемой системе.
Иногда при работе с US возникают вопросы, на которые можно ответить, зная три важных аспекта User Story, описанных Ron Jeffries:
Read more
Над предыдущим проектом мы работали более двух лет, но почему-то так и не смогли достичь цели. Мы делали много задач, однако они не приводили нас к желаемому результату. Почему? Потому что цель (желаемый результат) была очень размыта и вариантов движения было очень много. Нам не хватало четкого видения того, к чему мы идем.
В новом проекте мы решили исправить это упущение. Нам нужен Vision.
Vision - это такая штука, которая позволяет вам четко понять ту ли работу вы делаете, которая вам нужна. Она дает вам общее представление о продукте, который вы будете делать. Для кого? Зачем? А ещё это критерий принятия различного рода решений по проекту.
Чтобы лучше понять, что я понимаю под “Vision” и получить именно его от заказчика, я отправил ему ссылку на статью на сайте Joel Spolsky, которая описывает что это и как это создать. Joel предлагает вот такой шаблон:
В поисках формального способа получения видения, благодаря Денису Петелину, я прочитал про “Матрицу Захмана”. Эта матрица полезна и позволяет рассмотреть компанию/проект со всех сторон и на всех уровнях, но требует много ресурсов на то, чтобы описать, а потом поддерживать в актуальном состоянии то, что написано. Vision от Joel’а для меня проще. Его проще создать, понять и удержать в голове.
Через некоторое время заказчик прислал заполненный шаблон и 4 страницы текста разъясняющего этот Vision. Наша команда вместе с Product Owner’ом провела несколько часов в обсуждении этой информации. Когда видение стало четким, простым и лаконичным, появилось ощущение силы и энергии, которая направляет и движет к цели. По крайней мере меня.
Теперь мы можем двигаться вперед уверенно и быстро. Поехали!
Наш заказчик любит писать и читать письма, получать отчеты. Разговаривает с нами “голосом” он очень неохотно. При этом его позиция заключается в следующем: я не должен говорить вам, что нужно делать. Вы разработчики - это ваша задача реализовать то, что я хочу. С меня идея, а с вас - реализация. Вполне разумно.
Для команды важно, чтобы заказчик видел результаты работы, а не просто читал отчеты в письмах. Ещё лучше, чтобы он попробовал воспользоваться результатом. Опыт использования, осознание увиденного позволит ему ответить на ваш вопрос: получил ли он то, что хотел, либо нужно что-то изменить? Это и есть начальная точка следующей итерации.
Поэтому мы будем проводить демонстрации в конце каждой итерации для нашего заказчика и его команды, а не только для Product Owner’а. Участвовать в демонстрациях заказчик согласен. Как мы будем их делать - определимся позже.
Очень важно стремиться к тому, чтобы демонстрация результатов итерации не требовала серьезных затрат (времени, внимания и т.п.), как с вашей стороны, так и со стороны заказчика. Это, вероятнее всего, значит, что итерации должны быть короткими. Например 2 недели для команды в 5 человек.
Вы можете продемонстрировать и 40 фич, но что останется в голове после демо?
Сегодня ко мне в голову пришла идея создать дневник проекта, который мы начали разрабатывать чуть более двух недель назад. Мы начали этот проект после осознания того, что разрабатываемый в текущий момент продукт пытается удовлетворить слишком много потребностей разнообразной аудитории. В дневнике нового проекта я буду публиковать ту информацию, которая поможет увидеть работу в “стиле agile” :)
Предварительный план работы по проекту такой:
О том, как мы определяли цели и видение проекта я напишу в следующий раз.