SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Как инженерные практики
помогают экономить бизнесу
Ребров Андрей
О чем этот доклад
Для кого этот доклад
Если вы…
•  dev (qa, ops) и хотите что-то внедрить
•  менеджер и вам постоянно что-то
«впаривают»
•  коуч/консультант и никак не можете
объяснить, что команде нужно что-то
внедрить
…то вы пришли по адресу!
Пришло время историй
История 1. Про Selenium
•  Есть классный фреймворк – Selenium!
Давайте его использовать у нас!
•  У нас есть проработанная система на
TestComplete.
•  TestComplete - $#$&#!
•  …
Don`t!
•  Никогда не говори, что текущие наработки
– ерунда
•  Новизна технологии – не аргумент
•  То, что технологию используют «вот эти
ребята» не аргумент, даже если это
Google
Как сработало
•  Привлекай «ручных» тестировщиков на свою
сторону – они твои заказчики
•  Делай демо своих наработок как можно чаще –
так ты покажешь, что фреймворк прост в
использовании
•  Во время демо создай позитивную обстановку
– принеси чай и печеньки
•  Тренируйся в обучении своему фреймворку
Как продали бизнесу
•  Удешевляем разработку, так как
быстрее находим баги
•  Долгое время не понадобятся новые
тестировщики – есть автотесты
•  Можем брать больше задач в
итерацию
•  Можем быстрее выходить в релиз
Новые безопасны и дают преимущество
История 2. Про TDD
• Ребята, вам нужно TDD – оно
рулит!
• Но нам придется переписать весь
наш проект, чтобы можно было
тестировать!!!
• Ну и что, зато у вас будут тесты!
• …
Don`t!
• TDD ради тестов и TDD – самый
глупый аргумент
• TDD ради всеобщего блага – еще
более глупый аргумент
• То, что TDD используют «вот эти
ребята» - ну вы поняли…
Как сработало
• Просвещение в виде видео
• Личный пример – сделал, засек
временя, не нашел багов,
повторил
• Conding Dojo – пробовать что-то
новое самому _ВСЕГДА_ страшно,
лучше бояться вместе
Как продали бизнесу
Партизанский TDD:
• Применяем в течении 3-4 недель
• Показываем, что ситуация
(метрики по SLA, баги, wtf/sec)
улучшилась
• фиксируем договоренности
TDD позволяет писать код эффективно
История 3. Про Refactoring
• Давайте отрефакторим вон тот
модуль!
• Зачем? Он же работает!
• Но там спагетти-код и масса
нарушений в коде
• …
Don`t!
•  Когда ты говоришь о рефакторинге –
ты оскорбляешь чей-то код, будь
готов к сопротивлению
•  Переписать, потому что так написано
в книге – очередной глупый аргумент
•  Сразу говорю, убеждать, что на
рефакторинг нужен сразу месяц не
стоит
Как сработало
•  Визуализация проблем – поставь Sonar,
менеджеров пугают цифры
•  Рассказать про технический долг и как
он влияет в перспективе
•  Подготовить план рефакторинга с
объяснением почему в определенный
момент времени мы переделываем
именно этот код
Как продали бизнесу
•  Показать график
•  Рассказать, что делают с должниками =)
Рефакторинг позволяет не бояться долгов
История 4. Про автоматизацию
• Дима, давай автоматизируем
тестирование!
• И зачем нам это?
• Ну, мы сможем заниматься
интересными задачами и будет
круто!
• …
Don`t!
•  Автоматизация ради автоматизации – как
TDD ради TDD, а это мы уже прошли
•  Не говори, что автоматизация ничего не
стоит – будешь выглядеть дураком
•  Запомни! Не бывает бесплатных
инструментов, как минимум они стоят твое
рабочее время
•  Не стоит бежать к лиду, как только
прочитал про инструмент, попробуй сам
Как сработало
•  Показать концепт как оно работает
•  Знать о преимуществах и
недостатках
•  Показать, разные варианты
использования – чем больше выбор,
тем больше вероятность, что хоть
один подойдет
Как продали бизнесу
• Посчитать ROI автоматизации
• Показать, что поддержка стоит
дешевле, чем отдельный человек,
который будет делать все вручную
• Показать стоимость ОШИБКИ,
которую может допустить такой
человек
Хорошие роботы спасут в беде
История 5. Про Feature Toggling и ветки
• Нужно перестать делать ветки
под каждую новую ветку!
• Почему?
• Так завещал Martin Fowler!
• …
Don`t!
•  Не все знают, кто такой Фаулер =)
•  Прочти Фаулера сначала сам
•  Не стоит кидаться терминами cherry
pick, feature branch и так далее – вы
будете выглядеть как колдун вуду
•  Говорить, что «feature toggle это как
if, но не if, а по другому» тоже не
стоит
Как сработало
•  Экономим время на merge`ах веток –
теперь их нет
•  У всех разработчиков всегда
последний код – все видят картину
целиком
•  В разы проще становится настройка
Continuous Integration (о нем ниже)
Как продали бизнесу
• Теперь в любой момент мы
можем выключить тот или
иной элемент функционала – у
нас есть набор конфигов для
этого
Не плодим сущностей без необходимости
История 6. Про Continuous
Integration
•  Нам срочно нужен Continuous
Integration, чтобы мы знали, что
ничего не сломали!
•  А почему ты не проверяешь на своем
компьютере?
•  А зачем?
•  …
Don`t!
•  Никогда, еще раз, никогда не
говорите, что CI будет находить ваши
ошибки – вы выставляете себя в
плохом свете
•  CI не просто штука, которая запускает
тесты – если ваш менеджер технарь,
ему не стоит такое говорить
Как сработало
• CI позволяет делать регрессионное
тестирование на уровне кода –
снимаем нагрузку с
тестировщиков
• Можем автоматизировать наши
процессы (см. пункт 4)
• Не требует поддержки
Как продали бизнесу
• Так же, как автоматизацию
• Сказали, что это путь к
непрерывной поставке
(будет дальше)
CI заботится о стабильности в коде
История 7. Про DevOps
•  Давайте настроим Nagios, Chef,
Graphite и Logstash и станем
DevOps`ами!
•  А как это поможет?
•  Ну мы просто будем делать все
быстрее
•  …
Don`t!
•  Не продавай инструменты – проблему
процессов ими не решишь, а фейл за
тобой останется
•  Построение DevOps процесс долгий –
не говори, что за неделю все станет
здорово
•  Не решай проблему админов за них
самих – они обидятся
Как сработало
•  Визуализация процесса – все увидят,
что творится что-то не ладное и
появляется поддержка всей команды
•  «Затуши пожар» в течении недели -
быстрая победа добавляет очков
•  Как обычно, показать прототипы не
помешает
Как продали бизнесу
•  Процесс поставки становится
прозрачным и управляемым
•  Поставка делается за пару часов, а не
дней
•  Мы не потеряем данные
пользователей
•  Мы сможем стать «фабрикой по
производству фич»
DevOps позволяет нам быть первыми на рынке
В качестве эпилога
Twitter
@andrebrov
E-mail
arebrov@scrumtrek.ru
Skype
rebrov.andrey
Вопросы?

Contenu connexe

Tendances

Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ruКак автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ruBadoo Development
 
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийАлексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийScrumTrek
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?SQALab
 
Selenium camp 2013
Selenium camp 2013Selenium camp 2013
Selenium camp 2013ivan816
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущееBadoo Development
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Igor Khrol
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьSQALab
 
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014it-people
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предамSQALab
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрокаSQALab
 
Асхат Уразбаев, Руководство по организации тестирования в Agile
Асхат Уразбаев, Руководство по организации тестирования в AgileАсхат Уразбаев, Руководство по организации тестирования в Agile
Асхат Уразбаев, Руководство по организации тестирования в AgileSQADays_2009_Piter
 
Xp days ukraine
Xp days ukraineXp days ukraine
Xp days ukraineivan816
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17OdessaFrontend
 
Практики масштабирования гибкой разработки
Практики масштабирования гибкой разработкиПрактики масштабирования гибкой разработки
Практики масштабирования гибкой разработкиAskhat Urazbaev
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...ScrumTrek
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Igor Khrol
 
История HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуИстория HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуSQALab
 
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийSQALab
 

Tendances (20)

Как автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ruКак автотесты ускоряют релизы в OK.ru
Как автотесты ускоряют релизы в OK.ru
 
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникацийАлексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
Алексей Трошин. Менеджер не нужен: быстрые шаблоны правильных коммуникаций
 
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?Автоматизация тестирования: доступна каждому или удел избранных?
Автоматизация тестирования: доступна каждому или удел избранных?
 
Selenium camp 2013
Selenium camp 2013Selenium camp 2013
Selenium camp 2013
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизировать
 
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
А. Ахметов "Когда тесты пишут разработчики", DUMP-2014
 
10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам10 принципов автоматизации, которые я не предам
10 принципов автоматизации, которые я не предам
 
Как играть без игрока
Как играть без игрокаКак играть без игрока
Как играть без игрока
 
Асхат Уразбаев, Руководство по организации тестирования в Agile
Асхат Уразбаев, Руководство по организации тестирования в AgileАсхат Уразбаев, Руководство по организации тестирования в Agile
Асхат Уразбаев, Руководство по организации тестирования в Agile
 
Maybe some qa
Maybe some qaMaybe some qa
Maybe some qa
 
Xp days ukraine
Xp days ukraineXp days ukraine
Xp days ukraine
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
 
Практики масштабирования гибкой разработки
Практики масштабирования гибкой разработкиПрактики масштабирования гибкой разработки
Практики масштабирования гибкой разработки
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17
 
История HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качествуИстория HERE Maps for Windows: меняемся не изменяя качеству
История HERE Maps for Windows: меняемся не изменяя качеству
 
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиков
 
Автоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегийАвтоматизация тестирования ролей и привилегий
Автоматизация тестирования ролей и привилегий
 

En vedette

грабли автоматизации тестирования мобильного веба с помощью Selenium 2
грабли автоматизации тестирования мобильного веба с помощью Selenium 2грабли автоматизации тестирования мобильного веба с помощью Selenium 2
грабли автоматизации тестирования мобильного веба с помощью Selenium 2Andrey Rebrov
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Empathy Map Poster Rus
Empathy Map Poster RusEmpathy Map Poster Rus
Empathy Map Poster RusAndrey Rebrov
 
Don’t turn your logs into cuneiform
Don’t turn your logs into cuneiformDon’t turn your logs into cuneiform
Don’t turn your logs into cuneiformAndrey Rebrov
 
Spec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each otherSpec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each otherAndrey Rebrov
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013Andrey Rebrov
 
How engineering practices help business
How engineering practices help businessHow engineering practices help business
How engineering practices help businessAndrey Rebrov
 
Agile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAgile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAndrey Rebrov
 
Курс молодого бойца-автоматизатора - как остаться в живых и стать ветераном
Курс молодого бойца-автоматизатора - как остаться в живых и стать ветераномКурс молодого бойца-автоматизатора - как остаться в живых и стать ветераном
Курс молодого бойца-автоматизатора - как остаться в живых и стать ветераномAndrey Rebrov
 
Как научить людей общаться с помощью Spec By Example
Как научить людей общаться с помощью Spec By ExampleКак научить людей общаться с помощью Spec By Example
Как научить людей общаться с помощью Spec By ExampleAndrey Rebrov
 
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьAndrey Rebrov
 
DevOps tools cargo tools
DevOps tools cargo toolsDevOps tools cargo tools
DevOps tools cargo toolsAndrey Rebrov
 
Test Automation Canvas
Test Automation CanvasTest Automation Canvas
Test Automation CanvasAndrey Rebrov
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAndrey Rebrov
 
Карго культ инструментов в DevOps
Карго культ инструментов в DevOpsКарго культ инструментов в DevOps
Карго культ инструментов в DevOpsAndrey Rebrov
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииAndrey Rebrov
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Andrey Rebrov
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииAndrey Rebrov
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 

En vedette (20)

Agile Games
Agile GamesAgile Games
Agile Games
 
грабли автоматизации тестирования мобильного веба с помощью Selenium 2
грабли автоматизации тестирования мобильного веба с помощью Selenium 2грабли автоматизации тестирования мобильного веба с помощью Selenium 2
грабли автоматизации тестирования мобильного веба с помощью Selenium 2
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Empathy Map Poster Rus
Empathy Map Poster RusEmpathy Map Poster Rus
Empathy Map Poster Rus
 
Don’t turn your logs into cuneiform
Don’t turn your logs into cuneiformDon’t turn your logs into cuneiform
Don’t turn your logs into cuneiform
 
Spec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each otherSpec By Example or How to teach people talk to each other
Spec By Example or How to teach people talk to each other
 
Rebrov selenium camp2013
Rebrov selenium camp2013Rebrov selenium camp2013
Rebrov selenium camp2013
 
How engineering practices help business
How engineering practices help businessHow engineering practices help business
How engineering practices help business
 
Agile Testing: вопросы и ответы
Agile Testing: вопросы и ответыAgile Testing: вопросы и ответы
Agile Testing: вопросы и ответы
 
Курс молодого бойца-автоматизатора - как остаться в живых и стать ветераном
Курс молодого бойца-автоматизатора - как остаться в живых и стать ветераномКурс молодого бойца-автоматизатора - как остаться в живых и стать ветераном
Курс молодого бойца-автоматизатора - как остаться в живых и стать ветераном
 
Как научить людей общаться с помощью Spec By Example
Как научить людей общаться с помощью Spec By ExampleКак научить людей общаться с помощью Spec By Example
Как научить людей общаться с помощью Spec By Example
 
Не превращайте ваши логи в клинопись
Не превращайте ваши логи в клинописьНе превращайте ваши логи в клинопись
Не превращайте ваши логи в клинопись
 
DevOps tools cargo tools
DevOps tools cargo toolsDevOps tools cargo tools
DevOps tools cargo tools
 
Test Automation Canvas
Test Automation CanvasTest Automation Canvas
Test Automation Canvas
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформации
 
Карго культ инструментов в DevOps
Карго культ инструментов в DevOpsКарго культ инструментов в DevOps
Карго культ инструментов в DevOps
 
Test Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизацииTest Automation Canvas - не наступайте на глабли автоматизации
Test Automation Canvas - не наступайте на глабли автоматизации
 
Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014Agile Testing in Enterprise: Way to transform - SQA Days 2014
Agile Testing in Enterprise: Way to transform - SQA Days 2014
 
DevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюцииDevOps модное слово или следующая ступень эволюции
DevOps модное слово или следующая ступень эволюции
 
DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 

Similaire à как инженерные практики помогают экономить бизнесу

Типичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и AgileТипичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и AgileMagneta AI
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doorsYegor Maksymchuk
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныRoman Dvornov
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps_Fest
 
Keep calm and believe in agile
Keep calm and believe in agileKeep calm and believe in agile
Keep calm and believe in agileArman Karibayev
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Andrey Karpov
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППPavel Gabriel
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Devops: от заката до рассвета
Devops: от заката до рассветаDevops: от заката до рассвета
Devops: от заката до рассветаAlexander Titov
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8Pavel Veinik
 
рентабельный код
рентабельный кодрентабельный код
рентабельный кодMax Arshinov
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеReturn on Intelligence
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskAlex Chistyakov
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...it-people
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваSQALab
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterAleksandr Tarasov
 

Similaire à как инженерные практики помогают экономить бизнесу (20)

Типичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и AgileТипичные ошибки внедрения Lean и Agile
Типичные ошибки внедрения Lean и Agile
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doors
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
 
Keep calm and believe in agile
Keep calm and believe in agileKeep calm and believe in agile
Keep calm and believe in agile
 
Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?Что DevOps должен знать про статический анализ кода?
Что DevOps должен знать про статический анализ кода?
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ППП
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Devops: от заката до рассвета
Devops: от заката до рассветаDevops: от заката до рассвета
Devops: от заката до рассвета
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
рентабельный код
рентабельный кодрентабельный код
рентабельный код
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Experience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбинеExperience report: внедрение Scrum на чужбине
Experience report: внедрение Scrum на чужбине
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon SaranskPerformance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производства
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Jbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot StarterJbreak 2016: Твой личный Spring Boot Starter
Jbreak 2016: Твой личный Spring Boot Starter
 

Plus de Andrey Rebrov

Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAndrey Rebrov
 
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...Andrey Rebrov
 
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNGвебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNGAndrey Rebrov
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модноAndrey Rebrov
 
Agile игры для бизнеса: играем и улучшаем
Agile игры для бизнеса: играем и улучшаемAgile игры для бизнеса: играем и улучшаем
Agile игры для бизнеса: играем и улучшаемAndrey Rebrov
 
Расширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагиновРасширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагиновAndrey Rebrov
 
Mobile web development
Mobile web developmentMobile web development
Mobile web developmentAndrey Rebrov
 
Саморазвитие
СаморазвитиеСаморазвитие
СаморазвитиеAndrey Rebrov
 
Продукты Atlassian для работы по гибким процессам. опыт реализаци
Продукты Atlassian для работы по гибким процессам. опыт реализациПродукты Atlassian для работы по гибким процессам. опыт реализаци
Продукты Atlassian для работы по гибким процессам. опыт реализациAndrey Rebrov
 

Plus de Andrey Rebrov (10)

Automation Functional Testing in Agile Projects
Automation Functional Testing in Agile ProjectsAutomation Functional Testing in Agile Projects
Automation Functional Testing in Agile Projects
 
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
 
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNGвебинар - функциональное тестирование с использованием Selenium 2 и TestNG
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модно
 
Agile игры для бизнеса: играем и улучшаем
Agile игры для бизнеса: играем и улучшаемAgile игры для бизнеса: играем и улучшаем
Agile игры для бизнеса: играем и улучшаем
 
Расширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагиновРасширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагинов
 
Mobile web development
Mobile web developmentMobile web development
Mobile web development
 
Саморазвитие
СаморазвитиеСаморазвитие
Саморазвитие
 
Продукты Atlassian для работы по гибким процессам. опыт реализаци
Продукты Atlassian для работы по гибким процессам. опыт реализациПродукты Atlassian для работы по гибким процессам. опыт реализаци
Продукты Atlassian для работы по гибким процессам. опыт реализаци
 

как инженерные практики помогают экономить бизнесу

  • 1. Как инженерные практики помогают экономить бизнесу Ребров Андрей
  • 2.
  • 3. О чем этот доклад
  • 4.
  • 6. Если вы… •  dev (qa, ops) и хотите что-то внедрить •  менеджер и вам постоянно что-то «впаривают» •  коуч/консультант и никак не можете объяснить, что команде нужно что-то внедрить …то вы пришли по адресу!
  • 8. История 1. Про Selenium •  Есть классный фреймворк – Selenium! Давайте его использовать у нас! •  У нас есть проработанная система на TestComplete. •  TestComplete - $#$&#! •  …
  • 9.
  • 10. Don`t! •  Никогда не говори, что текущие наработки – ерунда •  Новизна технологии – не аргумент •  То, что технологию используют «вот эти ребята» не аргумент, даже если это Google
  • 11. Как сработало •  Привлекай «ручных» тестировщиков на свою сторону – они твои заказчики •  Делай демо своих наработок как можно чаще – так ты покажешь, что фреймворк прост в использовании •  Во время демо создай позитивную обстановку – принеси чай и печеньки •  Тренируйся в обучении своему фреймворку
  • 12. Как продали бизнесу •  Удешевляем разработку, так как быстрее находим баги •  Долгое время не понадобятся новые тестировщики – есть автотесты •  Можем брать больше задач в итерацию •  Можем быстрее выходить в релиз
  • 13. Новые безопасны и дают преимущество
  • 14. История 2. Про TDD • Ребята, вам нужно TDD – оно рулит! • Но нам придется переписать весь наш проект, чтобы можно было тестировать!!! • Ну и что, зато у вас будут тесты! • …
  • 15.
  • 16. Don`t! • TDD ради тестов и TDD – самый глупый аргумент • TDD ради всеобщего блага – еще более глупый аргумент • То, что TDD используют «вот эти ребята» - ну вы поняли…
  • 17. Как сработало • Просвещение в виде видео • Личный пример – сделал, засек временя, не нашел багов, повторил • Conding Dojo – пробовать что-то новое самому _ВСЕГДА_ страшно, лучше бояться вместе
  • 18. Как продали бизнесу Партизанский TDD: • Применяем в течении 3-4 недель • Показываем, что ситуация (метрики по SLA, баги, wtf/sec) улучшилась • фиксируем договоренности
  • 19. TDD позволяет писать код эффективно
  • 20. История 3. Про Refactoring • Давайте отрефакторим вон тот модуль! • Зачем? Он же работает! • Но там спагетти-код и масса нарушений в коде • …
  • 21.
  • 22. Don`t! •  Когда ты говоришь о рефакторинге – ты оскорбляешь чей-то код, будь готов к сопротивлению •  Переписать, потому что так написано в книге – очередной глупый аргумент •  Сразу говорю, убеждать, что на рефакторинг нужен сразу месяц не стоит
  • 23. Как сработало •  Визуализация проблем – поставь Sonar, менеджеров пугают цифры •  Рассказать про технический долг и как он влияет в перспективе •  Подготовить план рефакторинга с объяснением почему в определенный момент времени мы переделываем именно этот код
  • 24. Как продали бизнесу •  Показать график •  Рассказать, что делают с должниками =)
  • 25. Рефакторинг позволяет не бояться долгов
  • 26. История 4. Про автоматизацию • Дима, давай автоматизируем тестирование! • И зачем нам это? • Ну, мы сможем заниматься интересными задачами и будет круто! • …
  • 27.
  • 28. Don`t! •  Автоматизация ради автоматизации – как TDD ради TDD, а это мы уже прошли •  Не говори, что автоматизация ничего не стоит – будешь выглядеть дураком •  Запомни! Не бывает бесплатных инструментов, как минимум они стоят твое рабочее время •  Не стоит бежать к лиду, как только прочитал про инструмент, попробуй сам
  • 29. Как сработало •  Показать концепт как оно работает •  Знать о преимуществах и недостатках •  Показать, разные варианты использования – чем больше выбор, тем больше вероятность, что хоть один подойдет
  • 30. Как продали бизнесу • Посчитать ROI автоматизации • Показать, что поддержка стоит дешевле, чем отдельный человек, который будет делать все вручную • Показать стоимость ОШИБКИ, которую может допустить такой человек
  • 32. История 5. Про Feature Toggling и ветки • Нужно перестать делать ветки под каждую новую ветку! • Почему? • Так завещал Martin Fowler! • …
  • 33.
  • 34. Don`t! •  Не все знают, кто такой Фаулер =) •  Прочти Фаулера сначала сам •  Не стоит кидаться терминами cherry pick, feature branch и так далее – вы будете выглядеть как колдун вуду •  Говорить, что «feature toggle это как if, но не if, а по другому» тоже не стоит
  • 35. Как сработало •  Экономим время на merge`ах веток – теперь их нет •  У всех разработчиков всегда последний код – все видят картину целиком •  В разы проще становится настройка Continuous Integration (о нем ниже)
  • 36. Как продали бизнесу • Теперь в любой момент мы можем выключить тот или иной элемент функционала – у нас есть набор конфигов для этого
  • 37. Не плодим сущностей без необходимости
  • 38. История 6. Про Continuous Integration •  Нам срочно нужен Continuous Integration, чтобы мы знали, что ничего не сломали! •  А почему ты не проверяешь на своем компьютере? •  А зачем? •  …
  • 39.
  • 40. Don`t! •  Никогда, еще раз, никогда не говорите, что CI будет находить ваши ошибки – вы выставляете себя в плохом свете •  CI не просто штука, которая запускает тесты – если ваш менеджер технарь, ему не стоит такое говорить
  • 41. Как сработало • CI позволяет делать регрессионное тестирование на уровне кода – снимаем нагрузку с тестировщиков • Можем автоматизировать наши процессы (см. пункт 4) • Не требует поддержки
  • 42. Как продали бизнесу • Так же, как автоматизацию • Сказали, что это путь к непрерывной поставке (будет дальше)
  • 43. CI заботится о стабильности в коде
  • 44. История 7. Про DevOps •  Давайте настроим Nagios, Chef, Graphite и Logstash и станем DevOps`ами! •  А как это поможет? •  Ну мы просто будем делать все быстрее •  …
  • 45.
  • 46. Don`t! •  Не продавай инструменты – проблему процессов ими не решишь, а фейл за тобой останется •  Построение DevOps процесс долгий – не говори, что за неделю все станет здорово •  Не решай проблему админов за них самих – они обидятся
  • 47. Как сработало •  Визуализация процесса – все увидят, что творится что-то не ладное и появляется поддержка всей команды •  «Затуши пожар» в течении недели - быстрая победа добавляет очков •  Как обычно, показать прототипы не помешает
  • 48. Как продали бизнесу •  Процесс поставки становится прозрачным и управляемым •  Поставка делается за пару часов, а не дней •  Мы не потеряем данные пользователей •  Мы сможем стать «фабрикой по производству фич»
  • 49. DevOps позволяет нам быть первыми на рынке
  • 51.