2. ПЛАН ВЕБИНАРА
• Кратко о компании
• Что представляет из себя технический департамент
• Используемые технологии
• Кратко об Agile
• Разработка и процессы (наш собственный Agile framework)
• Как мы отдыхаем
2
3. • PHP разработчик более 5 лет
• 2 года в Banki.ru
• Работал в таких компаниях как
• Сертификаты
Афанасьев Юрий oriand@yandex.ru
3
9. ОТДЕЛЫ
• Новостная редакция
• ТВ-группа
• Информационно-аналитический отдел
• Направление интерактивных сервисов
• Модераторы народных рейтингов
• Отдел маркетинга
• И другие
9
13. ОТДЕЛЫ
ТЕХНИЧЕСКОГО ДЕПАРТАМЕНТА
• 4 команды разработчиков
• 2 DevOps
• Отдел эксплуатации
• Отдел обеспечения качества
• Системные администраторы
• Технический директор
13
14. ОТДЕЛ ЭКСПЛУАТАЦИИ
• Деплой на бой (bamboo)
• Поддержка master ветки git в рабочем
состоянии
• Поиск и исправление багов и проблем на
боевых серверах
14
16. КОМАНДЫ
Деление по функционалу, а не по направлению
• Банковские продукты
• Компании и сущности
• Маркетинг
• Страхование
16
17. СОСТАВ КОМАНД
• 3 back-end разработчика (1 из них тимлид)
• 1-2 front-end разработчика
• 1 тестировщик
17
18. ПЛЮСЫ
• Все члены команды (её направлений) в курсе
текущих задач
• Возможность быстро проговорить любую
интеграцию или проблему
• Возможность выработать удобный стиль
работы на всех этапах задачи
18
19. МИНУСЫ
• Архитектурные решения разных команд на всех
направлениях могут кардинально отличаться
• Скудность знаний чужого функционала, а значит
проблемы при интеграции
• Слабая связь между направлениями
способствует дублированию кода
19
31. AGILE
Подход к созданию продуктов путём
непрерывной быстрой поставки ценного
рабочего функционала самоорганизованной
командой профессионалов в сотрудничестве с
заказчиком
31
33. МАНИФЕСТ
• Люди и взаимодействие важнее процессов и инструментов
• Работающий продукт важнее исчерпывающей
документации
• Сотрудничество с заказчиком важнее согласования условий
контракта
• Готовность к изменениям важнее следования
первоначальному плану
33
34. ПРИНЦИПЫ
1. Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря
регулярной и ранней поставке ценного программного обеспечения.
2. Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы
позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до
пары месяцев.
4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно
работать вместе.
5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана,
создайте условия, обеспечьте поддержку и полностью доверьтесь им.
6. Непосредственное общение является наиболее практичным и эффективным способом обмена
информацией как с самой командой, так и внутри нее.
34
35. ПРИНЦИПЫ
7. Работающий продукт — основной показатель прогресса.
8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать
постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс
разработки.
9. Постоянное внимание к техническому совершенству и качеству проектирования повышает
гибкость проекта.
10. Простота — искусство минимизации лишней работы — крайне необходима.
11. Самые лучшие требования, архитектурные и технические решения рождаются у
самоорганизующихся команд.
12. Команда должна систематически анализировать возможные способы улучшения
эффективности и соответственно корректировать стиль своей работы.
35
36. НЕ СЛЫШАЛИ ОБ AGILE?
http://www.scrumguides.org/
главный сайт о Scrum
http://agiledays.ru
конференция об Agile, а также бесплатное видео
с прошлых конференций
36
38. STAND UP (SCRUM)
Ежедневная встреча для синхронизации членов команды.
Каждый рассказывает о том…
• Что было сделано вчера
• С какими трудностями столкнулся
• Чем планирует заняться сегодня
38
39.
40. СПРИНТЫ
Отрезок времени, за который выполняется
определенный (ограниченный) список задач
Цель спринта - создание полноценного или
частично законченного функционала для
последующей демонстрации заказчику
40
42. CODE REVIEW
Проверка исходного кода другим разработчиком
с целью обнаружения ошибок, которые были не
замечены на начальной фазе разработки
Машина времени в действии!
42
46. RETRO
Подведение итогов прошедшего спринта с целью
улучшения процесса разработки
Цель - определить плюсы и минусы прошедшего
спринта
На основе голосования выбираем самые насущные
минусы и стараемся придумать решения проблемам
46