codefest 2011. Федянина С. — Эффективная работа...
TRANSCRIPT
Эффективная работа распределенной команды
Светлана Федянина,
Softline
О себе
• в прошлом web-developer, scrum master
• в настоящем – PM / Product Owner
•
http://web.sysart.fi
План доклада
• Наша распределенная команда
План доклада
• Наша распределенная команда
• Этапы работы над проектом
План доклада
• Наша распределенная команда
• Этапы работы над проектом
• Проблемы распределенной команды по этапам
План доклада
• Наша распределенная команда
• Этапы работы над проектом
• Проблемы распределенной команды по этапам
• Средства повышения эффективности
Распределенная команда
http://myastronomy.ru/
Наш экипаж
Москва
2 разработчика
1 архитектор
1 аналитик
Наш экипаж
Новосибирск
1 аналитик
1 верстальщик
7 разработчиков
1 архитектор
2 тестировщика
1 сис. админ
Роли
Product Owner
Роли
Системный аналитик
Разработчик
Верстальщик Команда
Тестировщик
Роли
Scrum - master
Этапы работы над проектом
итерация … итерация итерация … итерация
1 N 1 M
РЕЛИЗ 1 РЕЛИЗ 2
Пл
ани
ро
ван
ие
р
ели
зов
Коммуникации
Проблемы распределенной команды
Интеграция
Проблемы
Скорость
Проблемы
Управляемость
Проблемы
Эффективность
Definition of Done
Этапы работы над проектом
итерация … итерация итерация … итерация
1 N 1 M
РЕЛИЗ 1 РЕЛИЗ 2
Пл
ани
ро
ван
ие
р
ели
зов
Story Mapping
1. Определение персонажей,
их активностей
Story Mapping
1. Определение персонажей,
их активностей
2. Формулирование требований
Story Mapping
1. Определение персонажей,
их активностей
2. Формулирование требований
3. Планирование релизов: приоритезирование требований
Результат Story Mapping
План релизов PO заносит в Backlog
Результат Story Mapping
Скока бумажек…
Не все могут поехать
Москва Новосибирск
Представители бизнеса
Представители команды
Команда
Этапы работы над проектом
итерация … итерация итерация … итерация
1 N 1 M
РЕЛИЗ 1 РЕЛИЗ 2
Пл
ани
ро
ван
ие
р
ели
зов
Роль
Product Owner
Приоритеты Product Backlog
Аналитик Проработка требований1
Проработка требований2
…
Разработчик Изучение документации
1. Планирование2. Реализация3. Интеграция
Zoom In
Проработка требований
Анализ аналогов
Моделирование Прототипирование
Подготовка развернутых требований
Видение продукта
Проработанные требования
Постановка задачи
User Story
Как [персонаж] [действует] для достижения [цели]:
Спецификация ,
прототипы продукта,
приёмочные тесты
User Story
Redmine
Axure
Планирование итерации
Распределенная команда
• оценивает временные затраты на реализацию User Story
• пакует итерациюhttp://planningpoker.com
Грязный хак
Стартуем одновременно
Оценки требований
• Человеко-часы
• Story points
• «Майки»
Человеко-часы
слишком мелкая единица измерения для большой команды
Story points
оценка относительно эталонной задачи
Story points: success
«Майки»
S: простая задачаM: средняяL: сложная
Интеграция
• Детальная проработка спецификаций модулей неприемлема.
• Решение: по мере того как появляются вопросы по реализации, коммуникации.
Применение инженерных
практик Agile
Парное
программирование
Test Driven Development
Скорость разработки:
Code review
Code freeze
Перенос кода и данных между средами
Профит: багов <
Профит?
Definition of Done
Удовлетворенность заказчика
Команда
• группа людей• понимание общей цели• самоорганизация• самоуправление• гибкость• обмен знаниями
Обмен знаниями
• Wiki
• Проведение вебинаров
http://www.slweb.ru
Итоги1.Распределенная команда2.Планирование релизов и итераций3.Оценки временных затрат4.Инженерные практики Agile5.Построение базы знаний
Вопросы
Светлана Федянина,
Softline
http://twitter.com/Fedyanina
http://fedyanina.blogspot.com/