Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

работа в крупной компании на примере Banki.ru

433 views

Published on

Видео https://youtu.be/u5gKU3pXnFA

Published in: Business

работа в крупной компании на примере Banki.ru

  1. 1. РАБОТА В КРУПНОЙ КОМПАНИИ НА ПРИМЕРЕ
  2. 2. ПЛАН ВЕБИНАРА • Кратко о компании • Что представляет из себя технический департамент • Используемые технологии • Кратко об Agile • Разработка и процессы (наш собственный Agile framework) • Как мы отдыхаем 2
  3. 3. • PHP разработчик более 5 лет • 2 года в Banki.ru • Работал в таких компаниях как • Сертификаты Афанасьев Юрий oriand@yandex.ru 3
  4. 4. КТО МЫ ТАКИЕ
  5. 5. ОТДЕЛЫ • Новостная редакция • ТВ-группа • Информационно-аналитический отдел • Направление интерактивных сервисов • Модераторы народных рейтингов • Отдел маркетинга • И другие 9
  6. 6. ТЕХНИЧЕСКИЙ ДЕПАРТАМЕНТ
  7. 7. ОТДЕЛЫ ТЕХНИЧЕСКОГО ДЕПАРТАМЕНТА • 4 команды разработчиков • 2 DevOps • Отдел эксплуатации • Отдел обеспечения качества • Системные администраторы • Технический директор 13
  8. 8. ОТДЕЛ ЭКСПЛУАТАЦИИ • Деплой на бой (bamboo) • Поддержка master ветки git в рабочем состоянии • Поиск и исправление багов и проблем на боевых серверах 14
  9. 9. DEVOPS • Поддержка разработческой среды, тестового и боевого окружения • Решение архитектурных вопросов 15
  10. 10. КОМАНДЫ Деление по функционалу, а не по направлению • Банковские продукты • Компании и сущности • Маркетинг • Страхование 16
  11. 11. СОСТАВ КОМАНД • 3 back-end разработчика (1 из них тимлид) • 1-2 front-end разработчика • 1 тестировщик 17
  12. 12. ПЛЮСЫ • Все члены команды (её направлений) в курсе текущих задач • Возможность быстро проговорить любую интеграцию или проблему • Возможность выработать удобный стиль работы на всех этапах задачи 18
  13. 13. МИНУСЫ • Архитектурные решения разных команд на всех направлениях могут кардинально отличаться • Скудность знаний чужого функционала, а значит проблемы при интеграции • Слабая связь между направлениями способствует дублированию кода 19
  14. 14. ИСПОЛЬЗУЕМЫЕ ТЕХНОЛОГИИ
  15. 15. FRONT-END • AngularJS + Backbone.JS + jQuery • Stylus (CSS препроцессоры) • JS сборщики • HTML5 + CSS3 23
  16. 16. ТЕХНОЛОГИИ • Percona (MySQL) + PostgreSQL • LAMP/Nginx + php-fpm • RabbitMQ • Redis 24
  17. 17. ФРЕЙМВОРКИ • Bitrix • Yii • Symfony 25
  18. 18. СХЕМА СЕРВЕРОВ
  19. 19. СИСТЕМА МОНИТОРИНГА
  20. 20. КРАТКО ОБ AGILE
  21. 21. AGILE Подход к созданию продуктов путём непрерывной быстрой поставки ценного рабочего функционала самоорганизованной командой профессионалов в сотрудничестве с заказчиком 31
  22. 22. AGILE 32
  23. 23. МАНИФЕСТ • Люди и взаимодействие важнее процессов и инструментов • Работающий продукт важнее исчерпывающей документации • Сотрудничество с заказчиком важнее согласования условий контракта • Готовность к изменениям важнее следования первоначальному плану 33
  24. 24. ПРИНЦИПЫ 1. Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения. 2. Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества. 3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев. 4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе. 5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им. 6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри нее. 34
  25. 25. ПРИНЦИПЫ 7. Работающий продукт — основной показатель прогресса. 8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки. 9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта. 10. Простота — искусство минимизации лишней работы — крайне необходима. 11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд. 12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы. 35
  26. 26. НЕ СЛЫШАЛИ ОБ AGILE? http://www.scrumguides.org/ главный сайт о Scrum http://agiledays.ru конференция об Agile, а также бесплатное видео с прошлых конференций 36
  27. 27. РАЗРАБОТКА И ПРОЦЕССЫ (НАШ СОБСТВЕННЫЙ AGILE FRAMEWORK)
  28. 28. STAND UP (SCRUM) Ежедневная встреча для синхронизации членов команды. Каждый рассказывает о том… • Что было сделано вчера • С какими трудностями столкнулся • Чем планирует заняться сегодня 38
  29. 29. СПРИНТЫ Отрезок времени, за который выполняется определенный (ограниченный) список задач Цель спринта - создание полноценного или частично законченного функционала для последующей демонстрации заказчику 40
  30. 30. JIRA (WORKFLOW) 41
  31. 31. CODE REVIEW Проверка исходного кода другим разработчиком с целью обнаружения ошибок, которые были не замечены на начальной фазе разработки Машина времени в действии! 42
  32. 32. BURN DOWN CHART 44
  33. 33. DEMO Демонстрация результатов (задач) спринта всем заинтересованным лицам 45
  34. 34. RETRO Подведение итогов прошедшего спринта с целью улучшения процесса разработки Цель - определить плюсы и минусы прошедшего спринта На основе голосования выбираем самые насущные минусы и стараемся придумать решения проблемам 46
  35. 35. КАК МЫ ОТДЫХАЕМ
  36. 36. ВОПРОСЫ?

×