Александр Жарков — Эволюция команды разработки:...

Post on 08-Jul-2015

265 views 0 download

Transcript of Александр Жарков — Эволюция команды разработки:...

Эволюция команды разработки

Взгляд изнутри

Жарков АлександрТехнический директор

«Моё дело»Будь мужиком,

проверяй на Null

Этапы развития стартапа:• Бета-версия• Первые продажи• Наращивание функционала• Стабильное развитие

Команда

• Люди• Методологии• «Окружающая среда»• Технологические проблемы• Коммуникационные проблемы

Бета-версия

Бета-версия. Люди

• 2,5 программиста• QA отсутствует• Глаза горят• Готовы работать круглосуточно

Бета-версия. Методологии• Что можно применять• Agile• TDD• XP

• Что чаще всего применяется• “Chaotic programming”• “Feedback driven development”• Programming mothef@#$er!

• Основное преимущество – разработка очень быстрая и адаптирующаяся

Бета-версия. Окружающая среда• Все идеи идут от основателя

стратапа• Техподдержки нет• Продажников практически нет• Маркетинга практически нет• Пользователи довольные и в

большинстве лояльные

Бета-версия. Проблемы• Архитектурные проблемы• Инфраструктурные проблемы• Проблемы взаимодействия с

пользователями• Сложная адаптация новых людей в

команду• Все задачи согласуются с

основателем

Первые продажи

Первые продажи. Люди

• 6-7 программистов + тимлид/PM• QA нет• Глаза горят• Готовы работать круглосуточно, но

не все :)

Первые продажи. Методологии• Расцветает Agile. Хочется все делать

правильно.• Но остаются следы• “Feedback driven development”• Programming mothef@#$er!

• Основное преимущество – разработка очень быстрая и адаптирующаяся

Первые продажи. Окружающая среда• Идеи все еще от основателя• В качестве техподдержки – одна

толковая девочка, которая иногда еще и тестирует

• Первые продажники и маркетологи общаются напрямую с программистами

• Пользователи достаточно лояльны

Первые продажи. Проблемы• Архитектурные проблемы• Инфраструктурные проблемы• Проблемы взаимодействия с

продажниками, маркетологами, «техподдержкой»

• Проблемы взаимодействия новых и старых программистов.

• Все задачи согласуются с основателем

Наращивание функционала

Наращивание функционала. Люди• 10-12 программистов + 1-2

тимлида/PMа• QA 1-2 ручных тестировщика• Глаза горят, но у единиц• Работать круглосуточно могут лишь

те, у кого горят глаза

Наращивание функционала. Методологии• Agile. Но так как Pmы не очень опытные

очень много артефактов и из аджайла используются только некоторые приемы

• Все еще работает• Programming mothef@#$er!

• Разработка постепенно замедляется, так как фичи усложняются и усложняется процесс согласований

• Очень сильно на процесс начинает влиять взаимодействие с другими отделами

Наращивание функционала. Окружающая среда• Идеи фонтанируют из разных источников,

но качество их заметно упало• Постепенно выстраивается горячая линия

техподдержки• Отделы продаж и маркетинга работают

через тимлида, но старые контакты иногда капают на мозг программистов напрямую

• Пользователи достаточно много, и они разнородны, лояльность постепенно снижается

Наращивание функционала. Проблемы• Налажен CI, улучшена архитектура,

но удручает «старый код»• Проблемы взаимодействия с

продажниками, маркетологами• Проблемы взаимодействия с

техподдержкой выходят на новый уровень

Стабильное развитие

Стабильное развитие. Люди• Несколько команд по 5-6 человек• 1-2 тестировщика на команду• Иногда выделенный отдел

автоматизированного тестирования

• Глаза иногда посверкивают, огонечек тухнет

• 8 часовой рабочий день

Стабильное развитие. Методологии• Чаще всего используется что-то аджайл-

подобное, очень сильно зависит от команды и от самого руководителя

• Планирование новых фич все больше напоминает waterfall, хотя в разработке все еще Agile

• Взаимодействие с другими отделами также влияет на стиль работы

• Необходимость нормальной поддержки пользователей оказывает влияние на планирование спринтов

Стабильное развитие. Окружающая среда• Идеи фильтруются через методологов

и дизайнеров• Техподдержка работает по регламенту• Отделы продаж и маркетинга работают

через тимлида и систему управления задачами

• Пользователей настолько много, и желания их так сильно отличаются, что до разработки прямые идеи пользователей не доходят

Стабильное развитие. Проблемы• Масштабирование• Потеря гибкости развития• Проблемы обратной связи

Что делать?

• Зажигать людей• Возвращать настроение стартапа• Геймификация• Упрощение взаимодействия с

сопредельными отделами• Частичная «Дерегламентизация»

Вопросы