SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Опыт реформирования большой
   команды разработчиков
        Сергей Никулин
Команда HeadHunter в конце 2010г
• Разработка и поддержка самого крупного job
  сайта восточной европы
• Около 10 внутренних заказчиков
• ~30 программистов и верстальщиков и ~5
  тестировщиков
• “функциональное” деление команд
Технологии на конец 2010г
•   Issue tracker – JIRA
•   Wiki – Confluence
•   SCM – Subversion
•   Нестабильный trunk, релиз собирается в
    ветке
Система мотивации на конец 2010г
• Заказчики оценивают всю разработку в
  целом
• Руководитель распределяет бонусы
  индивидуально по каждому человеку
Существующие проблемы на конец
              2010г
• Низкая скорость выпуска задач – заказчики
  не довольны
• Тестирование является узким местом
• Очень дорогая разработка крупных задач (>
  2 недель)
Возможные пути решения
• Уменьшение размеров команд – дробление
  функциональных или создание автономных
• Стабильный trunk, разработка в ветках
• Внедрение методологии – SCRUM или
  Kanban
Выбранная конфигурация
•   SCRUM для всех
•   Автономные команды под заказчика
•   GIT со стабильным master’ом
•   Тимлид в команде + Тимлид
    функционального направления
Организация команд
Опыт работы “по-новому”
• Резкое повышение скорости выпуска
  задач и удовлетворенности заказчиков
• Шаринг ресурсов работает очень плохо
• Снижение качества
Как нам повысить качество?
• Централизованная приемка кода +
  функциональные автотесты
• Усиление роли функциональных тимлидов
• Технологический долг
• Технологический налог
Новая система мотивации
• Architecture Board оценивает каждую команду
• Заказчик определяет общий бонусный фонд
  для своей команды
• Каждый получает бонус пропорционально з.п.
Остающиеся проблемы
• Иногда возникает дисбаланс ресурсов
• Качество надо повышать дальше
Вопросы?
• nikulin@hh.ru
• http://twitter.com/nikulin

Más contenido relacionado

La actualidad más candente

QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QAFest
 
Алексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использовать
Алексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использоватьАлексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использовать
Алексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использовать
ScrumTrek
 
Cкрам и канбан для самых маленьких
Cкрам и канбан для самых маленькихCкрам и канбан для самых маленьких
Cкрам и канбан для самых маленьких
Vladimir Romanitchev
 
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
Александр Шамрай
 

La actualidad más candente (20)

Обзор канбан метода
Обзор канбан методаОбзор канбан метода
Обзор канбан метода
 
Devprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработкиDevprom ALM - платформа для поддержки процессов разработки
Devprom ALM - платформа для поддержки процессов разработки
 
Собираем кубик Рубика
Собираем кубик РубикаСобираем кубик Рубика
Собираем кубик Рубика
 
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
QA Fest 2014. Игорь Бондаренко. Agile crystal. Создание процесса нацеленного ...
 
Scrum-Kanban-Scrumban
Scrum-Kanban-ScrumbanScrum-Kanban-Scrumban
Scrum-Kanban-Scrumban
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Алексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использовать
Алексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использоватьАлексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использовать
Алексей Жеглов, Время в Канбан-системе – что мы о нём знаем и как использовать
 
Agile fundamentals
Agile fundamentalsAgile fundamentals
Agile fundamentals
 
Cкрам и канбан для самых маленьких
Cкрам и канбан для самых маленькихCкрам и канбан для самых маленьких
Cкрам и канбан для самых маленьких
 
How We Improve Performance in Rider. Andrey Akinshin, Senior Developer in Rider
How We Improve Performance in Rider. Andrey Akinshin, Senior Developer in Rider How We Improve Performance in Rider. Andrey Akinshin, Senior Developer in Rider
How We Improve Performance in Rider. Andrey Akinshin, Senior Developer in Rider
 
Опыт применения Kanban для управления портфелем Agile-проектов
Опыт применения Kanban для управления портфелем Agile-проектовОпыт применения Kanban для управления портфелем Agile-проектов
Опыт применения Kanban для управления портфелем Agile-проектов
 
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не п...
 
Agile в кровавом энтепрайзе
Agile в кровавом энтепрайзеAgile в кровавом энтепрайзе
Agile в кровавом энтепрайзе
 
Как работает KANBAN
Как работает KANBANКак работает KANBAN
Как работает KANBAN
 
Подход ScrumTrek к Agile Transformation
 Подход ScrumTrek к Agile Transformation Подход ScrumTrek к Agile Transformation
Подход ScrumTrek к Agile Transformation
 
Альфабанк: НТ в Облаке при Agile на примере интернет банка
Альфабанк: НТ в Облаке при Agile на примере интернет банкаАльфабанк: НТ в Облаке при Agile на примере интернет банка
Альфабанк: НТ в Облаке при Agile на примере интернет банка
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...Система управления жизненным циклом разработки программного обеспечения Devpr...
Система управления жизненным циклом разработки программного обеспечения Devpr...
 
Scrum
ScrumScrum
Scrum
 
Kanban vs Scrum – чьё кунг-фу сильнее
Kanban vs Scrum – чьё кунг-фу сильнееKanban vs Scrum – чьё кунг-фу сильнее
Kanban vs Scrum – чьё кунг-фу сильнее
 

Similar a Опыт реформирования большой команды разработчиков (Сергей Никулин)

Cтратегия сокращения технического долга
Cтратегия сокращения технического долгаCтратегия сокращения технического долга
Cтратегия сокращения технического долга
Boris Volfson
 
борис вольфсон
борис вольфсонборис вольфсон
борис вольфсон
kuchinskaya
 
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
Gleb Rybalko
 
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проектаСвод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Rauf Aliev
 
управление проектами
управление проектамиуправление проектами
управление проектами
Rauf Aliev
 
Effectivness analysis of moving from Scrum to Kanban
Effectivness analysis of moving from Scrum to KanbanEffectivness analysis of moving from Scrum to Kanban
Effectivness analysis of moving from Scrum to Kanban
Alena Portelli
 
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest
 

Similar a Опыт реформирования большой команды разработчиков (Сергей Никулин) (20)

Артемий Анцупов "Agile PMO"
Артемий Анцупов "Agile PMO"Артемий Анцупов "Agile PMO"
Артемий Анцупов "Agile PMO"
 
Scrum Wars
Scrum WarsScrum Wars
Scrum Wars
 
Имплементация инженерных практик для 1C
Имплементация инженерных практик для 1CИмплементация инженерных практик для 1C
Имплементация инженерных практик для 1C
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
Сергей Смирнов (Altair Engineering Inc.) | Организация работы распределенной ...
 
Cтратегия сокращения технического долга
Cтратегия сокращения технического долгаCтратегия сокращения технического долга
Cтратегия сокращения технического долга
 
борис вольфсон
борис вольфсонборис вольфсон
борис вольфсон
 
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
CodeFest 2013. Сурова И. — Аналитик — инструкция по применению для менеджеров...
 
IT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действииIT-шная история игрушек или feature-driven тестирование в действии
IT-шная история игрушек или feature-driven тестирование в действии
 
работа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ruработа в крупной компании на примере Banki.ru
работа в крупной компании на примере Banki.ru
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Мастер-класс про организацию службы эксплуатации
Мастер-класс про организацию службы эксплуатацииМастер-класс про организацию службы эксплуатации
Мастер-класс про организацию службы эксплуатации
 
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проектаСвод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
Свод знаний по управлению проектами PMI PMBOK: азбука менеджера проекта
 
управление проектами
управление проектамиуправление проектами
управление проектами
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
 
Lovely scrum
Lovely scrumLovely scrum
Lovely scrum
 
Effectivness analysis of moving from Scrum to Kanban
Effectivness analysis of moving from Scrum to KanbanEffectivness analysis of moving from Scrum to Kanban
Effectivness analysis of moving from Scrum to Kanban
 
В’ячеслав Москаленко «10 criteria: Scrum vs Kanban»
В’ячеслав Москаленко «10 criteria: Scrum vs Kanban»В’ячеслав Москаленко «10 criteria: Scrum vs Kanban»
В’ячеслав Москаленко «10 criteria: Scrum vs Kanban»
 
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиков
 

Más de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Más de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Опыт реформирования большой команды разработчиков (Сергей Никулин)

  • 1. Опыт реформирования большой команды разработчиков Сергей Никулин
  • 2. Команда HeadHunter в конце 2010г • Разработка и поддержка самого крупного job сайта восточной европы • Около 10 внутренних заказчиков • ~30 программистов и верстальщиков и ~5 тестировщиков • “функциональное” деление команд
  • 3. Технологии на конец 2010г • Issue tracker – JIRA • Wiki – Confluence • SCM – Subversion • Нестабильный trunk, релиз собирается в ветке
  • 4. Система мотивации на конец 2010г • Заказчики оценивают всю разработку в целом • Руководитель распределяет бонусы индивидуально по каждому человеку
  • 5. Существующие проблемы на конец 2010г • Низкая скорость выпуска задач – заказчики не довольны • Тестирование является узким местом • Очень дорогая разработка крупных задач (> 2 недель)
  • 6. Возможные пути решения • Уменьшение размеров команд – дробление функциональных или создание автономных • Стабильный trunk, разработка в ветках • Внедрение методологии – SCRUM или Kanban
  • 7. Выбранная конфигурация • SCRUM для всех • Автономные команды под заказчика • GIT со стабильным master’ом • Тимлид в команде + Тимлид функционального направления
  • 9. Опыт работы “по-новому” • Резкое повышение скорости выпуска задач и удовлетворенности заказчиков • Шаринг ресурсов работает очень плохо • Снижение качества
  • 10. Как нам повысить качество? • Централизованная приемка кода + функциональные автотесты • Усиление роли функциональных тимлидов • Технологический долг • Технологический налог
  • 11. Новая система мотивации • Architecture Board оценивает каждую команду • Заказчик определяет общий бонусный фонд для своей команды • Каждый получает бонус пропорционально з.п.
  • 12. Остающиеся проблемы • Иногда возникает дисбаланс ресурсов • Качество надо повышать дальше