Прикладное XP в «1С-Битрикс»: как
развивать продукт более 10 лет, постоянно
ускоряя темп?
Александр Сербул
руководитель направления
Карл…
Карл, я работаю по
Scrum в духе Agile.
Стендапы, спринты,
ДЕМОНстрации…
Это очень круто,
пап!
Карл… Карл, я специалист по
BigData….
Это очень круто,
пап!
Но проекты
заканчиваются
фашизмом,
разработчики
отправляются на каторгу
и … меня они достали,
ДОСТАЛИ!!! Горите все в
аду! В АДУ!!!
«Иди и смотри…»
• Про Agile много говорят…
• Про Agile много пишут…
• Все такие умные умные…
• Но увидеть «настоящий Agile» удается
мало кому – многие его не видели в глаза.
«Agile – это редкий, но меткий резонанс
людей и инструментов в некоторых
компаниях и проектах» (С)
Экономия на процессах, на
качестве… страх/жадность?
• Эпоха beta-quality веб-проектов
• Дырявые unit-тесты, дань
моде/самообман?
• Массовая некомпетентность инженеров…
• Массовая некомпетентность
менеджмента…
• Запах пороха забыли!
Хайп, болтовня и «армии зомби»
• Навязанные ценности (iphone)
• Навязанное общение (facebook)
• Раздолбайское образование, понты и
неуверенность в завтрашнем дне
• Бигдата, нейронные сети… магия,
оккультизм, нумерология, астрология
«Зачем тебе iphone? Иди алгебру учи, дура! » (С)
Это мы, мастурбирующие с «прямоугольным
калькулятором» все свободное время
Как облегчить «страдания»
человечества?
• Данных становится много…
• Управление «сложностью»
• Представительство в интернете
• Комфортная работа
сотрудников над проектами
• Чуткое управление компанией
Алгоритмы… «старые» и «новые»
• Старые добрые алгоритмы (поиск,
сортировка, графы)
• Классическая реляционная алгебра
• Распределенные системы, NoSQL,
бигдаты
• Быстрые коммуникации, highload
• Машинное обучение и нейронные
сети
Ну что, рубанем правду-
матку?
Я искал/внедрял Agile в разных
компаниях
• Администрация Президента России
• Сбербанк России, Юго-Западный
банк
• Веб-студия QSOFT
• Softline, allsoft.ru
• Но внезапно нашел его в
девственной и правильной форме в
Битрикс  И он работает, епта!
Я думал, что знаю об Agile все, что
можно и нельзя,
но был посрамлен…
«Миллионер из трущоб» - откуда он все
знал?
• Внимательность к мелочам
• Опыт, опыт, опыт
• Уважение к людям
• Любовь к братьям и сестрам
• Инженерная хитрость
• Удача!
Гибкое
управление
требованиями
Отделить зерна от плевел…
«Но он сказал: нет, чтобы, выбирая плевелы, вы не выдергали вместе с
ними пшеницы; оставьте вместе расти то и другое до жатвы; и во время
жатвы я скажу жнецам: соберите прежде плевелы и свяжите их в
связки, чтобы сжечь их, а пшеницу уберите в житницу мою»
(Евангелие от Матфея, гл. 13, ст. 24—30)
Лебедь, рак, щука и … медведь
• Страх
• Перетягивание одеяла, понты
• Корпоративный срач
• Самоутверждение за счет
разработчиков
• Мертворожденные проекты
• Загнивающая каша в ТЗ
StoryMapping идей
• idea.1c-bitrix.ru
• ~10к идей
• Коллаборативное обсуждение,
партнеры
• Ранжирование
• Экспертиза рынка
• ModelStorming и прототипы
• Метафоры, роль генерального
• Примеры…
Гибкое
планирование
Strip Poker
• Planning poker – как
средство принуждения
• Оценки «от глобальной
балды»
• Время на аналитику и
проектирование
• Product owner/customer
representative
“Expert” aided planning
• Опытные архитекторы, техн.
эксперты и аналитики
«оценивают» MMF
• Дополнительное проектирование
• Прототипы – на выброс
• Исполнитель может обратиться в
Европейский суд по правам
человека 
Подбор сотрудников
Соль несоленая…
«Вы - соль земли. Если же соль потеряет силу, то чем сделаешь ее
соленою? Она уже ни к чему негодна, как разве выбросить ее вон на
попрание людям.»
(Мф. 5:13)
Инкапсуляция, полиморфизм и
наследование
• Вы не знаете Haskell? Почему??
• Вы не отличаете Монады от Функторов?
• Как, у вас нет ФП/ООП головного мозга?
• Вы не мастурбируете на многотомник Кнута?
Ну почему??
• Вы не помните алгоритм сортировки Шелла
на память??? Вы что, с ума сошли? 
Хорошо что у нас не так 
Любовь или … смерть!
• 50 строк кода в день?
• Домой в 18:00?
• Выходные с семьей?
• Баги найдут тестировщики?
Щаз.
Ты не влюблен в
программирование??? Ты не
любишь красоту и
лаконичность???
Технологический фанатизм и экзорцизм
• Глубокое погружение до регистров
процессора
• Реляционный экзорцизм
• PHP на уровне исходников на C
• Unix – как образ жизни и смерти
• Веб-технологии – как
инфраструктура
• C++/Java/C#/Lua
Гибкое проектирование
в итерациях
ТЗ на ВСЁ… про ВСЁ
• Давайте все формально опишем, … в
UML, UseCases и другие диаграмки
• Нарисуем модель данных SQL и повесим
ее на стену в коридоре
• Давайте писать эмоциональные
UserStories и разбивать их на подзадачки
• ТЗ по ГОСТу
Как мы проектируем и почему так серьезно
• Роль архитектора
• Роль системного аналитика
• Роль здравого смысла: цепочки и данные
• Роль топ-менеджеров и гендира
• Иногда писать ТЗ полезно
• Когда ХЗ лучше ТЗ, а когда хуже
• Влияние астральной планеты
«Прозерпина» на схему SQL-таблиц
нового модуля 
Прозерпи́ на (лат. Proserpina) — в древнеримской
мифологии богиня подземного царства,
соответствующая древнегреческой Персефоне, дочь
Юпитера и Цереры, племянница и супруга Плутона
Iconix, XP, метафоры и simple design
• Не тормозни, сникерсни …
Еще квадратиков! По Амблеру…
Еще квадратиков! По Кенту Бэку…
Программирование в
итерациях
Что частенько бывает…
• Каждый за себя! Спасайся кто
может!
• Я в домике
• Собственный вариант CodeStyle
• Кто больше умничает, тот и круче
• ООП головного мозга
• ФТ головного мозга
• Предварительная оптимизация
головного мозга
XP, как оно есть
• Модели классов, диаграммы
последовательности, схемы
данных
• Коммуникации разработчиков
• Феноменальная доступность
экспертов, топов и
технического директора
• Программируют все
• Simple Design
• Metaphor
• Coding Standards
• Pair Multi Programming
• Whole Team?
• Micro Releases
XP, как оно есть
Управление изменениями
• Матрица зависимостей
• Юнит-тесты и психоз
• Люди и модули
• Архитектура и здравый смысл
• Документация – почему и
куда
• Тестирование изменений
• Цена ошибки
Демонстрации, роль дедлайна
и “sustainable pace”
Как не наложить в штаны
• Соломка, юнит-тесты,
модульные тесты и фазы Луны
• Коммуникации в команде, между
команд, между подразделениями
• Участники «демонстрации»
• Партнеры и клиенты
• Битрикс24
Еще квадратиков! По Рыжикову…
«Метод кратковременных
направленных толчков»
https://dev.1c-bitrix.ru/community/blogs/rsv/323.php
Принцип «Кимэ» в карате.
Берсерки, правда и легенды.
Как отдыхают разработчики
• Бордели
• Коррида
• Полеты в космос
• Реинкарнация
• Партнерские конференции
• Корпоративы
Почему это работает???
Ну как???
Корпоративные ценности
Коммуникации
• Вики
• Задачи
• Планерки
• Почта
• Чаты
• Роль «скрам-мастеров»
Менеджмент
• Постановка и контроль задач
• Делегирование ответственности
• Управление временем
• Управление рисками
• Кадровая политика
• Роль творчества
• Роль коучинга
Отношение к партнерам и клиентам
• Коммуникации
• Win&Win
• Что значит «полезно»
• Решение совместных проблем
• Роль высокой компетентности
• Управление рисками
Спасибо за
внимание!
Вопросы?
Александр Сербул
@AlexSerbul
serbul@1c-bitrix.ru

Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 10 лет, постоянно ускоряя темп?

  • 1.
    Прикладное XP в«1С-Битрикс»: как развивать продукт более 10 лет, постоянно ускоряя темп? Александр Сербул руководитель направления
  • 2.
    Карл… Карл, я работаюпо Scrum в духе Agile. Стендапы, спринты, ДЕМОНстрации… Это очень круто, пап!
  • 3.
    Карл… Карл, яспециалист по BigData…. Это очень круто, пап! Но проекты заканчиваются фашизмом, разработчики отправляются на каторгу и … меня они достали, ДОСТАЛИ!!! Горите все в аду! В АДУ!!!
  • 4.
    «Иди и смотри…» •Про Agile много говорят… • Про Agile много пишут… • Все такие умные умные… • Но увидеть «настоящий Agile» удается мало кому – многие его не видели в глаза. «Agile – это редкий, но меткий резонанс людей и инструментов в некоторых компаниях и проектах» (С)
  • 5.
    Экономия на процессах,на качестве… страх/жадность? • Эпоха beta-quality веб-проектов • Дырявые unit-тесты, дань моде/самообман? • Массовая некомпетентность инженеров… • Массовая некомпетентность менеджмента… • Запах пороха забыли!
  • 6.
    Хайп, болтовня и«армии зомби» • Навязанные ценности (iphone) • Навязанное общение (facebook) • Раздолбайское образование, понты и неуверенность в завтрашнем дне • Бигдата, нейронные сети… магия, оккультизм, нумерология, астрология «Зачем тебе iphone? Иди алгебру учи, дура! » (С)
  • 7.
    Это мы, мастурбирующиес «прямоугольным калькулятором» все свободное время
  • 8.
    Как облегчить «страдания» человечества? •Данных становится много… • Управление «сложностью» • Представительство в интернете • Комфортная работа сотрудников над проектами • Чуткое управление компанией
  • 9.
    Алгоритмы… «старые» и«новые» • Старые добрые алгоритмы (поиск, сортировка, графы) • Классическая реляционная алгебра • Распределенные системы, NoSQL, бигдаты • Быстрые коммуникации, highload • Машинное обучение и нейронные сети
  • 10.
    Ну что, рубанемправду- матку?
  • 11.
    Я искал/внедрял Agileв разных компаниях • Администрация Президента России • Сбербанк России, Юго-Западный банк • Веб-студия QSOFT • Softline, allsoft.ru • Но внезапно нашел его в девственной и правильной форме в Битрикс  И он работает, епта! Я думал, что знаю об Agile все, что можно и нельзя, но был посрамлен…
  • 12.
    «Миллионер из трущоб»- откуда он все знал? • Внимательность к мелочам • Опыт, опыт, опыт • Уважение к людям • Любовь к братьям и сестрам • Инженерная хитрость • Удача!
  • 13.
  • 14.
    Отделить зерна отплевел… «Но он сказал: нет, чтобы, выбирая плевелы, вы не выдергали вместе с ними пшеницы; оставьте вместе расти то и другое до жатвы; и во время жатвы я скажу жнецам: соберите прежде плевелы и свяжите их в связки, чтобы сжечь их, а пшеницу уберите в житницу мою» (Евангелие от Матфея, гл. 13, ст. 24—30)
  • 15.
    Лебедь, рак, щукаи … медведь • Страх • Перетягивание одеяла, понты • Корпоративный срач • Самоутверждение за счет разработчиков • Мертворожденные проекты • Загнивающая каша в ТЗ
  • 16.
    StoryMapping идей • idea.1c-bitrix.ru •~10к идей • Коллаборативное обсуждение, партнеры • Ранжирование • Экспертиза рынка • ModelStorming и прототипы • Метафоры, роль генерального • Примеры…
  • 17.
  • 18.
    Strip Poker • Planningpoker – как средство принуждения • Оценки «от глобальной балды» • Время на аналитику и проектирование • Product owner/customer representative
  • 19.
    “Expert” aided planning •Опытные архитекторы, техн. эксперты и аналитики «оценивают» MMF • Дополнительное проектирование • Прототипы – на выброс • Исполнитель может обратиться в Европейский суд по правам человека 
  • 20.
  • 21.
    Соль несоленая… «Вы -соль земли. Если же соль потеряет силу, то чем сделаешь ее соленою? Она уже ни к чему негодна, как разве выбросить ее вон на попрание людям.» (Мф. 5:13)
  • 22.
    Инкапсуляция, полиморфизм и наследование •Вы не знаете Haskell? Почему?? • Вы не отличаете Монады от Функторов? • Как, у вас нет ФП/ООП головного мозга? • Вы не мастурбируете на многотомник Кнута? Ну почему?? • Вы не помните алгоритм сортировки Шелла на память??? Вы что, с ума сошли?  Хорошо что у нас не так 
  • 23.
    Любовь или …смерть! • 50 строк кода в день? • Домой в 18:00? • Выходные с семьей? • Баги найдут тестировщики? Щаз. Ты не влюблен в программирование??? Ты не любишь красоту и лаконичность???
  • 24.
    Технологический фанатизм иэкзорцизм • Глубокое погружение до регистров процессора • Реляционный экзорцизм • PHP на уровне исходников на C • Unix – как образ жизни и смерти • Веб-технологии – как инфраструктура • C++/Java/C#/Lua
  • 25.
  • 26.
    ТЗ на ВСЁ…про ВСЁ • Давайте все формально опишем, … в UML, UseCases и другие диаграмки • Нарисуем модель данных SQL и повесим ее на стену в коридоре • Давайте писать эмоциональные UserStories и разбивать их на подзадачки • ТЗ по ГОСТу
  • 27.
    Как мы проектируеми почему так серьезно • Роль архитектора • Роль системного аналитика • Роль здравого смысла: цепочки и данные • Роль топ-менеджеров и гендира • Иногда писать ТЗ полезно • Когда ХЗ лучше ТЗ, а когда хуже • Влияние астральной планеты «Прозерпина» на схему SQL-таблиц нового модуля  Прозерпи́ на (лат. Proserpina) — в древнеримской мифологии богиня подземного царства, соответствующая древнегреческой Персефоне, дочь Юпитера и Цереры, племянница и супруга Плутона
  • 28.
    Iconix, XP, метафорыи simple design • Не тормозни, сникерсни …
  • 29.
  • 30.
  • 31.
  • 32.
    Что частенько бывает… •Каждый за себя! Спасайся кто может! • Я в домике • Собственный вариант CodeStyle • Кто больше умничает, тот и круче • ООП головного мозга • ФТ головного мозга • Предварительная оптимизация головного мозга
  • 33.
    XP, как оноесть • Модели классов, диаграммы последовательности, схемы данных • Коммуникации разработчиков • Феноменальная доступность экспертов, топов и технического директора • Программируют все • Simple Design • Metaphor • Coding Standards • Pair Multi Programming • Whole Team? • Micro Releases
  • 34.
  • 35.
    Управление изменениями • Матрицазависимостей • Юнит-тесты и психоз • Люди и модули • Архитектура и здравый смысл • Документация – почему и куда • Тестирование изменений • Цена ошибки
  • 36.
  • 37.
    Как не наложитьв штаны • Соломка, юнит-тесты, модульные тесты и фазы Луны • Коммуникации в команде, между команд, между подразделениями • Участники «демонстрации» • Партнеры и клиенты • Битрикс24
  • 38.
    Еще квадратиков! ПоРыжикову… «Метод кратковременных направленных толчков» https://dev.1c-bitrix.ru/community/blogs/rsv/323.php Принцип «Кимэ» в карате. Берсерки, правда и легенды.
  • 39.
    Как отдыхают разработчики •Бордели • Коррида • Полеты в космос • Реинкарнация • Партнерские конференции • Корпоративы
  • 40.
  • 41.
  • 42.
    Коммуникации • Вики • Задачи •Планерки • Почта • Чаты • Роль «скрам-мастеров»
  • 43.
    Менеджмент • Постановка иконтроль задач • Делегирование ответственности • Управление временем • Управление рисками • Кадровая политика • Роль творчества • Роль коучинга
  • 44.
    Отношение к партнерами клиентам • Коммуникации • Win&Win • Что значит «полезно» • Решение совместных проблем • Роль высокой компетентности • Управление рисками
  • 45.