Upload
scrumtrek
View
30
Download
0
Embed Size (px)
Citation preview
Прикладное 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
• Что значит «полезно»
• Решение совместных проблем
• Роль высокой компетентности
• Управление рисками