SlideShare a Scribd company logo
1 of 26
Когда проектов больше чем людей: процесс разработки в маленькой, но амбициозной компании Горник Александр Исполнительный директор компании ITCD
О себе Александр Горник www.itcd.ru, Исполнительный директор http://agornik.moikrug.ru/ agornik@gmail.com Google for other things
История бизнеса Маленькая компания, почти веб студия Требование быстрой самоокупаемости Постоянная нехватка ресурсов Множество быстрых, мелких проектов Выход в определенный сегмент рынка (промо), желание делать продукт Клиенты – маркетологи, требования не ясны, fixed cost контракты
Чего нам удалось достичь > 100 locпродукт Ежедневные релизы Одновременно силами 7ми разработчиков 5+ проектов с ежедневным (или чаще) релизом по необходимости 5+ поддержка 2-5 в разработке Запуск проекта за неделю 2000-4000 транзакций в секунду, ~0,5 TB базы, 3+ M хитов в месяц только на сайтах Белая, самоокупаемая компания c двухзначным ежегодным ростом оборота
Эволюция процесса разработки Внедрение SCRUM по результатам консалтинга ScrumTrek (2008) + joel on software Кризис (2008-2009) Оптимизация всего (2009-2010), естественная эволюция процесса Ретроспектива, ревью практик и новая итерация (2011)
Команда, менеджмент и общие практики Кто и как
Текущие роли и коммуникации Генеральный Исполнительный (технический) Не начальник разработчика! Scrum master, deploy master, team lead, technical manager Дизайнеры на аутсорсе Product Owner, Tester, Account manager Technical manager, lead dev Клиенты Разработчики Html Верстка
Команда Теория Практика Кросс функциональные команды мотивированных самородков Аналитика Дизайн Верстка Разработка Тест Приемка и релиз Менеджер говорит по телефону – не может сидеть рядом Дизайн – на фрилансе Верстка –отдельна и слабо связана  Менеджер – он же тестер Программист не хочет ничего видеть кроме кода Конечно, хочется стремиться к идеалу. Технический менеджер (он же аналитик) в одной комнате с разработчиками и выделенными тестерами. Но пока и так получилось неплохо.
Product owner / менеджер Теория Практика Клиент участвует в разработке как PO Клиент квалифицирован и держит руку на пульсе, т.к. заинтересован Клиент не участвует и ему все пофиг PO – менеджер внутри компании, но его мотивация слаба PO – не технарь Менеджер = тестер Менеджер – полностью ответственный за весь конечный результат. Без оговорок. Это нужно постоянно доносить до людей. Нужен технический менеджер (а где их взять?), тестеры
Чек лист менеджера Нет в багтрекере = забыли и не сделали. «А я говорил(а) по телефону» - не считается. Задача  =«что разработчик должен показать менеджеру». Не технические US. Оценка сроков - разработчик. Рули приоритетом и дедлайном Срочные задачи – зло, все что можно – отложи и вставь в план Все документы и требования – должны быть общедоступны, нет почте, телефону и локальным папкам
Топы – конфликты Технический Клиентский Это сделать нельзя Это невозможно успеть в срок Не знаю, что делать c сначала Не понимаю что нужно сделать Не знаю как поставить задачу Кто это должен делать? Не знаю, как клиенту перевести то, что сказал разработчик Не понимаю разработчика Клиент недоволен, я не знаю как это исправить Несогласие с техническим директором Презентация косяков клиенту  Договора, сметы и прочее Паника !
Рабочие условия Аккаунты отдельно от программистов Мощные компьютеры, SSD Удобная мебель и достаточно места 2 монитора у каждого Работа без овертаймов Здоровая атмосфера плавной работы без нервов Дополнительно:  Программистами руководит технарь Индивидуальный график, и бесплатные сладости  Возможность расслабиться
Процессные практики – теория, жизнь и светлое будущее Что и зачем
Итерации Теория Практика Гарантировать завершение работы Timeboxфичей Управлять набором задач в разработке (firefighting) Обозримые сроки, точность оценки Борьба с изменением требований Суровые дедлайны(сроки и продакшен) Фиксированные требования (смена после старта) Мало поддержки Разделить команды для длительных и коротких задач В результате: итерации отмерли вместе с внедрением багтрекера и отказа от доски (время!). Сейчас хочется вернуть ради выделенного, т.к. поддержки стало больше.
Демонстрации Теория Практика Повысить ответственность  Сплотить команду Definition of Done Получить фидбэк Ответственности– выше крыши Все пашут, это прозрачно (daily, bt, релиз, managers) Фидбэк только от клиента, менеджер дает его во время теста Итого, от демонстраций отказались ради экономии времени. Пока желание вернуть не возникает, максимум – для команды с длительными задачами.
Ретроспективы Теория Практика Повышать скорость разработки Повышать удовлетворенность людей Выявлять и решать проблемы Сплачивать команду Нулевая текучка Притертая команда Очень большая производительность (по опыту) Быстро сошли на нет, т.к. говорить не о чем. Сейчас рост команды, новые люди – хотелось бы вернуть, хотя бы разок в месяц (еще нежно просто говорить со всеми)
Дейли митинг Теория На практике Выявить проблемы Убедиться что все работают Поддержать темп Обсудить срочные задачи (лимитировать общение менеджера и разработчика) Оказался мегаполезным, без него никак Отнимает не больше 5-10ти минут Поддерживает дисциплину и тонус ДА!
Планирование Теория Практика Оценка, планирование сроков Выяснение задач на итерацию Timebox, ориентиры производительности Итераций нет Сроки оценивать все равно нужно Общие планирования с покером – только на проекты (сайт/акция) Прежде чем начать работу – оценка (багтрекер) Самое важное – сроки всегда оценивает разработчик, они не спускаются сверху. Планинг покеру – ДА!
Спецификация Теория Практика Agile: no specs Joel: no code without a spec Wiki  Не технические менеджеры Спецификация нужна клиенту = office + sharepoint Спецификация нужна, чтобы оценить риски и планировать загрузку Минимальные спецификации (по joel) пишутся до планирования проектав doc. Планирование проходит на их основе, дальше спецификации не поддерживаются, или поддерживаются минимально. CR -> tickets. Хочется перейти на wiki (FB + Createrly+ Balsamiq), уменьшить кол-во документов, приблизить их к кейсам, сделать, чтобы разработчики сами писали. Должен писать человек с техническим бэкграундом (хотя бы частично)
Метрики процесса Теория Практика Burndown Velocity Focus factor Timesheets Working on Work in progress Новые люди = очень хочется начать мерить velocity и focus factor для измерения динамики процесса. Еще хочется мерить количество поступающих незапланированных задач от менеджеров  (как? тэг в багтрекере).
Отдельно о Kanban Теория Практика Оптимизация конвеера с кучей стадий Минимизация потерь передачи У нас конвейер сделать не так просто (аналитика далеко от разработки) Потери на передаче вроде не так страшны Затраты на визуализацию и поддержку Хотелось бы измерить потери (как?). Возможное будущее - к примеру, для команды поддержки (если такая будет). Или, как вариант, внутри каждой итерации, если мы увидим что есть существенные потери времени на передаче
Резюмируя
Joel test – просто,но метко Используете ли вы сорс контроль? Можете ли сделать билд одним шагом? Делаете ли ежедневные билды? Есть ли у вас багтрекер? Чините ли вы баги, прежде чем писать новый код? Есть ли у вас актуальный график работ? Есть ли у вас спецификация? Работают ли программисты в тишине? Используете ли вы лучшие доступные инструменты? Есть ли у вас тестеры? Пишут ли кандидаты код на интервью? Проводите ли вы юзабилити тестирование в коридоре?
No silver bullet Наш опыт – не догма, напротив, очень специфичен Процесс должен быть изменчивым и обладать мощной обратной связью Но! Опасайтесь шрамов и бюрократии Лучше всего процесс разрабатывать итерациями Не надо внедрять методологию – осознайте проблемы и решайте их (теория ограничений) http://en.wikipedia.org/wiki/Theory_of_Constraints Методология – просто способ затыкания дырок в квалификации людей, если люди идеальные – все и так и будет работать в таких масштабах
Референсы http://scrumtrek.ru/ http://www.joelonsoftware.com (и книги) Экстремальное программирование, Kent Beck AgileDaysи другие конференции
СПАСИБО! И приходите к нам работать!  Мы ищем менеджера прекрасных продуктов и smart & gets things done разработчиков. www.itcd.ru

More Related Content

What's hot

Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымVladimir Zavertaylov
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsPavel Veinik
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаPavel Veinik
 
Как мотивировать себя - лайфхаки при постановки целей
Как мотивировать себя - лайфхаки при постановки целейКак мотивировать себя - лайфхаки при постановки целей
Как мотивировать себя - лайфхаки при постановки целейVladimir Zavertaylov
 
Производство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеровПроизводство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеровAnna Tarasenko
 
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...Ontico
 
Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)Ontico
 
Артур Арсёнов
Артур АрсёновАртур Арсёнов
Артур АрсёновCodeFest
 
Иван Константинов
Иван КонстантиновИван Константинов
Иван КонстантиновCodeFest
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Асхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусыАсхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусыScrumTrek
 
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...it-people
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйMax Babich
 
Дмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкойДмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкойScrumTrek
 
Виктор Вальчук (АРБ-консалтинг)
Виктор Вальчук (АРБ-консалтинг)Виктор Вальчук (АРБ-консалтинг)
Виктор Вальчук (АРБ-консалтинг)Ontico
 
Процесс Mindbox 2015
Процесс Mindbox 2015Процесс Mindbox 2015
Процесс Mindbox 2015Alexander Gornik
 
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileКонстантин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileScrumTrek
 
Олег Балбеков (Evrone)
Олег Балбеков (Evrone)Олег Балбеков (Evrone)
Олег Балбеков (Evrone)Ontico
 

What's hot (20)

Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольным
 
Software craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systemsSoftware craftsmanship 12 online highload systems
Software craftsmanship 12 online highload systems
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Software craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчикаSoftware craftsmanship 11 online: мотивация и эффектисность разработчика
Software craftsmanship 11 online: мотивация и эффектисность разработчика
 
Как мотивировать себя - лайфхаки при постановки целей
Как мотивировать себя - лайфхаки при постановки целейКак мотивировать себя - лайфхаки при постановки целей
Как мотивировать себя - лайфхаки при постановки целей
 
Производство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеровПроизводство счастья промышленными методами, для программистов и их менеджеров
Производство счастья промышленными методами, для программистов и их менеджеров
 
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
Опыт осторожного внедрения инструментов Теории Ограничений в крупной компании...
 
14 project-mistakes
14 project-mistakes14 project-mistakes
14 project-mistakes
 
Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)Михаил Табунов (Coub.com)
Михаил Табунов (Coub.com)
 
Артур Арсёнов
Артур АрсёновАртур Арсёнов
Артур Арсёнов
 
Иван Константинов
Иван КонстантиновИван Константинов
Иван Константинов
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Асхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусыАсхат Уразбаев, КПЭ и бонусы
Асхат Уразбаев, КПЭ и бонусы
 
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. Управляй
 
Дмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкойДмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкой
 
Виктор Вальчук (АРБ-консалтинг)
Виктор Вальчук (АРБ-консалтинг)Виктор Вальчук (АРБ-консалтинг)
Виктор Вальчук (АРБ-консалтинг)
 
Процесс Mindbox 2015
Процесс Mindbox 2015Процесс Mindbox 2015
Процесс Mindbox 2015
 
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileКонстантин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
 
Олег Балбеков (Evrone)
Олег Балбеков (Evrone)Олег Балбеков (Evrone)
Олег Балбеков (Evrone)
 

Viewers also liked

разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)Alexander Gornik
 
как нанять и сделать счастливыми хороших программистов и других сотрудников
как нанять и сделать счастливыми хороших программистов и других сотрудниковкак нанять и сделать счастливыми хороших программистов и других сотрудников
как нанять и сделать счастливыми хороших программистов и других сотрудниковAlexander Gornik
 
разработка бизнес приложений (8)
разработка бизнес приложений (8)разработка бизнес приложений (8)
разработка бизнес приложений (8)Alexander Gornik
 
Разработка бизнес приложений (5)
Разработка бизнес приложений (5)Разработка бизнес приложений (5)
Разработка бизнес приложений (5)Alexander Gornik
 
разработка бизнес приложений (6)
разработка бизнес приложений (6)разработка бизнес приложений (6)
разработка бизнес приложений (6)Alexander Gornik
 
Финансовая отчетность в компании разработчике (Александр Горник)
Финансовая отчетность в компании разработчике (Александр Горник)Финансовая отчетность в компании разработчике (Александр Горник)
Финансовая отчетность в компании разработчике (Александр Горник)Ontico
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)Alexander Gornik
 
Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Alexander Gornik
 
Разработка бизнес приложений (4)
Разработка бизнес приложений (4)Разработка бизнес приложений (4)
Разработка бизнес приложений (4)Alexander Gornik
 
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Alexander Gornik
 
Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)Alexander Gornik
 
Stop starting start finishing
Stop starting start finishingStop starting start finishing
Stop starting start finishingAlexander Gornik
 

Viewers also liked (12)

разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)
 
как нанять и сделать счастливыми хороших программистов и других сотрудников
как нанять и сделать счастливыми хороших программистов и других сотрудниковкак нанять и сделать счастливыми хороших программистов и других сотрудников
как нанять и сделать счастливыми хороших программистов и других сотрудников
 
разработка бизнес приложений (8)
разработка бизнес приложений (8)разработка бизнес приложений (8)
разработка бизнес приложений (8)
 
Разработка бизнес приложений (5)
Разработка бизнес приложений (5)Разработка бизнес приложений (5)
Разработка бизнес приложений (5)
 
разработка бизнес приложений (6)
разработка бизнес приложений (6)разработка бизнес приложений (6)
разработка бизнес приложений (6)
 
Финансовая отчетность в компании разработчике (Александр Горник)
Финансовая отчетность в компании разработчике (Александр Горник)Финансовая отчетность в компании разработчике (Александр Горник)
Финансовая отчетность в компании разработчике (Александр Горник)
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)
 
Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)
 
Разработка бизнес приложений (4)
Разработка бизнес приложений (4)Разработка бизнес приложений (4)
Разработка бизнес приложений (4)
 
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)
 
Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)
 
Stop starting start finishing
Stop starting start finishingStop starting start finishing
Stop starting start finishing
 

Similar to Когда проектов больше чем людей - процесс разработки в маленькой, но амбициозной компании (SWP #11)

Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...
Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...
Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...Svetlana Gulyaeva
 
Применение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияПрименение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияAskhat Urazbaev
 
Макс Гапонов. Тактическое управление продуктами: все еще недостающее звено
Макс Гапонов. Тактическое управление продуктами: все еще недостающее звеноМакс Гапонов. Тактическое управление продуктами: все еще недостающее звено
Макс Гапонов. Тактическое управление продуктами: все еще недостающее звеноScrumTrek
 
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON
 
Software craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgileSoftware craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgilePavel Veinik
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиDmitry Lobasev
 
Development process в большой компании
Development process в большой компанииDevelopment process в большой компании
Development process в большой компанииLilia Gorbachik
 
Тактическое управление продуктами: все еще недостающее звено
Тактическое управление продуктами: все еще недостающее звеноТактическое управление продуктами: все еще недостающее звено
Тактическое управление продуктами: все еще недостающее звеноMaxim Gaponov
 
Project management. Intro
Project management. IntroProject management. Intro
Project management. IntroAlexey Chernyak
 
Введение в Lean и Agile
Введение в Lean и AgileВведение в Lean и Agile
Введение в Lean и AgileKirill Rubinshteyn
 
Управление командой 30+ чел. на удаленке: бизнес-процессы, структура
Управление командой 30+ чел. на удаленке: бизнес-процессы, структураУправление командой 30+ чел. на удаленке: бизнес-процессы, структура
Управление командой 30+ чел. на удаленке: бизнес-процессы, структураNaZapad
 
Эволюция веб разработки
Эволюция веб разработкиЭволюция веб разработки
Эволюция веб разработкиVictor Bolshakov
 
Agileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee
 
10 принципов маркетинга крупного интернет-проекта
10 принципов маркетинга крупного интернет-проекта10 принципов маркетинга крупного интернет-проекта
10 принципов маркетинга крупного интернет-проектаE96
 
Дернов Григорий
Дернов ГригорийДернов Григорий
Дернов ГригорийAlisa Vasilkova
 
Who is Delivery Manager?
Who is Delivery Manager?Who is Delivery Manager?
Who is Delivery Manager?Anton Vityaz
 
горник процесс Mindbox
горник   процесс Mindboxгорник   процесс Mindbox
горник процесс MindboxMagneta AI
 

Similar to Когда проектов больше чем людей - процесс разработки в маленькой, но амбициозной компании (SWP #11) (20)

Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...
Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...
Виктор Лисицын, East Media Как учитывать время разработчиков, чтобы их не тош...
 
Применение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятияПрименение принципов Lean в масштабах предприятия
Применение принципов Lean в масштабах предприятия
 
Макс Гапонов. Тактическое управление продуктами: все еще недостающее звено
Макс Гапонов. Тактическое управление продуктами: все еще недостающее звеноМакс Гапонов. Тактическое управление продуктами: все еще недостающее звено
Макс Гапонов. Тактическое управление продуктами: все еще недостающее звено
 
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигниSECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
SECON'2017, Кузнецов Михаил, Самоуправляемая компания без бюрократии и фигни
 
Software craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы AgileSoftware craftsmanship фиксит проблемы Agile
Software craftsmanship фиксит проблемы Agile
 
Денис Базин. Как убедить руководство в необходимости системного управления пр...
Денис Базин. Как убедить руководство в необходимости системного управления пр...Денис Базин. Как убедить руководство в необходимости системного управления пр...
Денис Базин. Как убедить руководство в необходимости системного управления пр...
 
Роль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработкиРоль ретроспектив в создании эффективного процесса разработки
Роль ретроспектив в создании эффективного процесса разработки
 
Development process в большой компании
Development process в большой компанииDevelopment process в большой компании
Development process в большой компании
 
Тактическое управление продуктами: все еще недостающее звено
Тактическое управление продуктами: все еще недостающее звеноТактическое управление продуктами: все еще недостающее звено
Тактическое управление продуктами: все еще недостающее звено
 
Agile
AgileAgile
Agile
 
Project management. Intro
Project management. IntroProject management. Intro
Project management. Intro
 
Введение в Lean и Agile
Введение в Lean и AgileВведение в Lean и Agile
Введение в Lean и Agile
 
Lean in Offshore
Lean in OffshoreLean in Offshore
Lean in Offshore
 
Управление командой 30+ чел. на удаленке: бизнес-процессы, структура
Управление командой 30+ чел. на удаленке: бизнес-процессы, структураУправление командой 30+ чел. на удаленке: бизнес-процессы, структура
Управление командой 30+ чел. на удаленке: бизнес-процессы, структура
 
Эволюция веб разработки
Эволюция веб разработкиЭволюция веб разработки
Эволюция веб разработки
 
Agileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile ManifestoAgileee Petelin самый непонимаемый принцип Agile Manifesto
Agileee Petelin самый непонимаемый принцип Agile Manifesto
 
10 принципов маркетинга крупного интернет-проекта
10 принципов маркетинга крупного интернет-проекта10 принципов маркетинга крупного интернет-проекта
10 принципов маркетинга крупного интернет-проекта
 
Дернов Григорий
Дернов ГригорийДернов Григорий
Дернов Григорий
 
Who is Delivery Manager?
Who is Delivery Manager?Who is Delivery Manager?
Who is Delivery Manager?
 
горник процесс Mindbox
горник   процесс Mindboxгорник   процесс Mindbox
горник процесс Mindbox
 

Когда проектов больше чем людей - процесс разработки в маленькой, но амбициозной компании (SWP #11)

  • 1. Когда проектов больше чем людей: процесс разработки в маленькой, но амбициозной компании Горник Александр Исполнительный директор компании ITCD
  • 2. О себе Александр Горник www.itcd.ru, Исполнительный директор http://agornik.moikrug.ru/ agornik@gmail.com Google for other things
  • 3. История бизнеса Маленькая компания, почти веб студия Требование быстрой самоокупаемости Постоянная нехватка ресурсов Множество быстрых, мелких проектов Выход в определенный сегмент рынка (промо), желание делать продукт Клиенты – маркетологи, требования не ясны, fixed cost контракты
  • 4. Чего нам удалось достичь > 100 locпродукт Ежедневные релизы Одновременно силами 7ми разработчиков 5+ проектов с ежедневным (или чаще) релизом по необходимости 5+ поддержка 2-5 в разработке Запуск проекта за неделю 2000-4000 транзакций в секунду, ~0,5 TB базы, 3+ M хитов в месяц только на сайтах Белая, самоокупаемая компания c двухзначным ежегодным ростом оборота
  • 5. Эволюция процесса разработки Внедрение SCRUM по результатам консалтинга ScrumTrek (2008) + joel on software Кризис (2008-2009) Оптимизация всего (2009-2010), естественная эволюция процесса Ретроспектива, ревью практик и новая итерация (2011)
  • 6. Команда, менеджмент и общие практики Кто и как
  • 7. Текущие роли и коммуникации Генеральный Исполнительный (технический) Не начальник разработчика! Scrum master, deploy master, team lead, technical manager Дизайнеры на аутсорсе Product Owner, Tester, Account manager Technical manager, lead dev Клиенты Разработчики Html Верстка
  • 8. Команда Теория Практика Кросс функциональные команды мотивированных самородков Аналитика Дизайн Верстка Разработка Тест Приемка и релиз Менеджер говорит по телефону – не может сидеть рядом Дизайн – на фрилансе Верстка –отдельна и слабо связана Менеджер – он же тестер Программист не хочет ничего видеть кроме кода Конечно, хочется стремиться к идеалу. Технический менеджер (он же аналитик) в одной комнате с разработчиками и выделенными тестерами. Но пока и так получилось неплохо.
  • 9. Product owner / менеджер Теория Практика Клиент участвует в разработке как PO Клиент квалифицирован и держит руку на пульсе, т.к. заинтересован Клиент не участвует и ему все пофиг PO – менеджер внутри компании, но его мотивация слаба PO – не технарь Менеджер = тестер Менеджер – полностью ответственный за весь конечный результат. Без оговорок. Это нужно постоянно доносить до людей. Нужен технический менеджер (а где их взять?), тестеры
  • 10. Чек лист менеджера Нет в багтрекере = забыли и не сделали. «А я говорил(а) по телефону» - не считается. Задача =«что разработчик должен показать менеджеру». Не технические US. Оценка сроков - разработчик. Рули приоритетом и дедлайном Срочные задачи – зло, все что можно – отложи и вставь в план Все документы и требования – должны быть общедоступны, нет почте, телефону и локальным папкам
  • 11. Топы – конфликты Технический Клиентский Это сделать нельзя Это невозможно успеть в срок Не знаю, что делать c сначала Не понимаю что нужно сделать Не знаю как поставить задачу Кто это должен делать? Не знаю, как клиенту перевести то, что сказал разработчик Не понимаю разработчика Клиент недоволен, я не знаю как это исправить Несогласие с техническим директором Презентация косяков клиенту Договора, сметы и прочее Паника !
  • 12. Рабочие условия Аккаунты отдельно от программистов Мощные компьютеры, SSD Удобная мебель и достаточно места 2 монитора у каждого Работа без овертаймов Здоровая атмосфера плавной работы без нервов Дополнительно: Программистами руководит технарь Индивидуальный график, и бесплатные сладости  Возможность расслабиться
  • 13. Процессные практики – теория, жизнь и светлое будущее Что и зачем
  • 14. Итерации Теория Практика Гарантировать завершение работы Timeboxфичей Управлять набором задач в разработке (firefighting) Обозримые сроки, точность оценки Борьба с изменением требований Суровые дедлайны(сроки и продакшен) Фиксированные требования (смена после старта) Мало поддержки Разделить команды для длительных и коротких задач В результате: итерации отмерли вместе с внедрением багтрекера и отказа от доски (время!). Сейчас хочется вернуть ради выделенного, т.к. поддержки стало больше.
  • 15. Демонстрации Теория Практика Повысить ответственность Сплотить команду Definition of Done Получить фидбэк Ответственности– выше крыши Все пашут, это прозрачно (daily, bt, релиз, managers) Фидбэк только от клиента, менеджер дает его во время теста Итого, от демонстраций отказались ради экономии времени. Пока желание вернуть не возникает, максимум – для команды с длительными задачами.
  • 16. Ретроспективы Теория Практика Повышать скорость разработки Повышать удовлетворенность людей Выявлять и решать проблемы Сплачивать команду Нулевая текучка Притертая команда Очень большая производительность (по опыту) Быстро сошли на нет, т.к. говорить не о чем. Сейчас рост команды, новые люди – хотелось бы вернуть, хотя бы разок в месяц (еще нежно просто говорить со всеми)
  • 17. Дейли митинг Теория На практике Выявить проблемы Убедиться что все работают Поддержать темп Обсудить срочные задачи (лимитировать общение менеджера и разработчика) Оказался мегаполезным, без него никак Отнимает не больше 5-10ти минут Поддерживает дисциплину и тонус ДА!
  • 18. Планирование Теория Практика Оценка, планирование сроков Выяснение задач на итерацию Timebox, ориентиры производительности Итераций нет Сроки оценивать все равно нужно Общие планирования с покером – только на проекты (сайт/акция) Прежде чем начать работу – оценка (багтрекер) Самое важное – сроки всегда оценивает разработчик, они не спускаются сверху. Планинг покеру – ДА!
  • 19. Спецификация Теория Практика Agile: no specs Joel: no code without a spec Wiki Не технические менеджеры Спецификация нужна клиенту = office + sharepoint Спецификация нужна, чтобы оценить риски и планировать загрузку Минимальные спецификации (по joel) пишутся до планирования проектав doc. Планирование проходит на их основе, дальше спецификации не поддерживаются, или поддерживаются минимально. CR -> tickets. Хочется перейти на wiki (FB + Createrly+ Balsamiq), уменьшить кол-во документов, приблизить их к кейсам, сделать, чтобы разработчики сами писали. Должен писать человек с техническим бэкграундом (хотя бы частично)
  • 20. Метрики процесса Теория Практика Burndown Velocity Focus factor Timesheets Working on Work in progress Новые люди = очень хочется начать мерить velocity и focus factor для измерения динамики процесса. Еще хочется мерить количество поступающих незапланированных задач от менеджеров (как? тэг в багтрекере).
  • 21. Отдельно о Kanban Теория Практика Оптимизация конвеера с кучей стадий Минимизация потерь передачи У нас конвейер сделать не так просто (аналитика далеко от разработки) Потери на передаче вроде не так страшны Затраты на визуализацию и поддержку Хотелось бы измерить потери (как?). Возможное будущее - к примеру, для команды поддержки (если такая будет). Или, как вариант, внутри каждой итерации, если мы увидим что есть существенные потери времени на передаче
  • 23. Joel test – просто,но метко Используете ли вы сорс контроль? Можете ли сделать билд одним шагом? Делаете ли ежедневные билды? Есть ли у вас багтрекер? Чините ли вы баги, прежде чем писать новый код? Есть ли у вас актуальный график работ? Есть ли у вас спецификация? Работают ли программисты в тишине? Используете ли вы лучшие доступные инструменты? Есть ли у вас тестеры? Пишут ли кандидаты код на интервью? Проводите ли вы юзабилити тестирование в коридоре?
  • 24. No silver bullet Наш опыт – не догма, напротив, очень специфичен Процесс должен быть изменчивым и обладать мощной обратной связью Но! Опасайтесь шрамов и бюрократии Лучше всего процесс разрабатывать итерациями Не надо внедрять методологию – осознайте проблемы и решайте их (теория ограничений) http://en.wikipedia.org/wiki/Theory_of_Constraints Методология – просто способ затыкания дырок в квалификации людей, если люди идеальные – все и так и будет работать в таких масштабах
  • 25. Референсы http://scrumtrek.ru/ http://www.joelonsoftware.com (и книги) Экстремальное программирование, Kent Beck AgileDaysи другие конференции
  • 26. СПАСИБО! И приходите к нам работать!  Мы ищем менеджера прекрасных продуктов и smart & gets things done разработчиков. www.itcd.ru