Top Banner
Как инженерные практики помогают экономить бизнесу Ребров Андрей
52

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

Jun 26, 2015

Download

Documents

Andrey Rebrov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: как инженерные практики помогают экономить бизнесу

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

Ребров Андрей

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

О чем этот доклад

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

Для кого этот доклад

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

Если вы…

•  dev (qa, ops) и хотите что-то внедрить

•  менеджер и вам постоянно что-то «впаривают»

•  коуч/консультант и никак не можете объяснить, что команде нужно что-то внедрить

…то вы пришли по адресу!

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

Пришло время историй

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

История 1. Про Selenium •  Есть классный фреймворк – Selenium!

Давайте его использовать у нас!

•  У нас есть проработанная система на TestComplete.

•  TestComplete - $#$&#!

•  …

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

Don`t!

•  Никогда не говори, что текущие наработки – ерунда

•  Новизна технологии – не аргумент

•  То, что технологию используют «вот эти ребята» не аргумент, даже если это Google

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

Как сработало

•  Привлекай «ручных» тестировщиков на свою сторону – они твои заказчики

•  Делай демо своих наработок как можно чаще – так ты покажешь, что фреймворк прост в использовании

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

•  Тренируйся в обучении своему фреймворку

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

Как продали бизнесу

•  Удешевляем разработку, так как быстрее находим баги

•  Долгое время не понадобятся новые тестировщики – есть автотесты

• Можем брать больше задач в итерацию

• Можем быстрее выходить в релиз

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

Новые безопасны и дают преимущество

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

История 2. Про TDD • Ребята, вам нужно TDD – оно

рулит!

• Но нам придется переписать весь наш проект, чтобы можно было тестировать!!!

• Ну и что, зато у вас будут тесты!

• …

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

Don`t! • TDD ради тестов и TDD – самый

глупый аргумент

• TDD ради всеобщего блага – еще более глупый аргумент

• То, что TDD используют «вот эти ребята» - ну вы поняли…

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

Как сработало

• Просвещение в виде видео

• Личный пример – сделал, засек временя, не нашел багов, повторил

• Conding Dojo – пробовать что-то новое самому _ВСЕГДА_ страшно, лучше бояться вместе

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

Как продали бизнесу

Партизанский TDD:

• Применяем в течении 3-4 недель

• Показываем, что ситуация (метрики по SLA, баги, wtf/sec) улучшилась

• фиксируем договоренности

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

TDD позволяет писать код эффективно

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

История 3. Про Refactoring

• Давайте отрефакторим вон тот модуль!

• Зачем? Он же работает!

• Но там спагетти-код и масса нарушений в коде

• …

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

Don`t! •  Когда ты говоришь о рефакторинге –

ты оскорбляешь чей-то код, будь готов к сопротивлению

•  Переписать, потому что так написано в книге – очередной глупый аргумент

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

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

Как сработало

•  Визуализация проблем – поставь Sonar, менеджеров пугают цифры

•  Рассказать про технический долг и как он влияет в перспективе

•  Подготовить план рефакторинга с объяснением почему в определенный момент времени мы переделываем именно этот код

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

Как продали бизнесу •  Показать график

•  Рассказать, что делают с должниками =)

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

Рефакторинг позволяет не бояться долгов

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

История 4. Про автоматизацию

• Дима, давай автоматизируем тестирование!

• И зачем нам это?

• Ну, мы сможем заниматься интересными задачами и будет круто!

• …

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

Don`t! •  Автоматизация ради автоматизации – как

TDD ради TDD, а это мы уже прошли

•  Не говори, что автоматизация ничего не стоит – будешь выглядеть дураком

•  Запомни! Не бывает бесплатных инструментов, как минимум они стоят твое рабочее время

•  Не стоит бежать к лиду, как только прочитал про инструмент, попробуй сам

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

Как сработало

• Показать концепт как оно работает

•  Знать о преимуществах и недостатках

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

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

Как продали бизнесу

• Посчитать ROI автоматизации

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

• Показать стоимость ОШИБКИ, которую может допустить такой человек

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

Хорошие роботы спасут в беде

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

История 5. Про Feature Toggling и ветки

• Нужно перестать делать ветки под каждую новую ветку!

• Почему?

• Так завещал Martin Fowler!

• …

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

Don`t! •  Не все знают, кто такой Фаулер =)

•  Прочти Фаулера сначала сам

•  Не стоит кидаться терминами cherry pick, feature branch и так далее – вы будете выглядеть как колдун вуду

•  Говорить, что «feature toggle это как if, но не if, а по другому» тоже не стоит

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

Как сработало

•  Экономим время на merge`ах веток – теперь их нет

•  У всех разработчиков всегда последний код – все видят картину целиком

•  В разы проще становится настройка Continuous Integration (о нем ниже)

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

Как продали бизнесу

• Теперь в любой момент мы можем выключить тот или иной элемент функционала – у нас есть набор конфигов для этого

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

Не плодим сущностей без необходимости

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

История 6. Про Continuous Integration

•  Нам срочно нужен Continuous Integration, чтобы мы знали, что ничего не сломали!

•  А почему ты не проверяешь на своем компьютере?

•  А зачем?

•  …

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

Don`t!

•  Никогда, еще раз, никогда не говорите, что CI будет находить ваши ошибки – вы выставляете себя в плохом свете

•  CI не просто штука, которая запускает тесты – если ваш менеджер технарь, ему не стоит такое говорить

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

Как сработало • CI позволяет делать регрессионное

тестирование на уровне кода – снимаем нагрузку с тестировщиков

• Можем автоматизировать наши процессы (см. пункт 4)

• Не требует поддержки

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

Как продали бизнесу

• Так же, как автоматизацию

• Сказали, что это путь к непрерывной поставке (будет дальше)

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

CI заботится о стабильности в коде

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

История 7. Про DevOps

•  Давайте настроим Nagios, Chef, Graphite и Logstash и станем DevOps`ами!

•  А как это поможет?

•  Ну мы просто будем делать все быстрее

•  …

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

Don`t!

•  Не продавай инструменты – проблему процессов ими не решишь, а фейл за тобой останется

•  Построение DevOps процесс долгий – не говори, что за неделю все станет здорово

•  Не решай проблему админов за них самих – они обидятся

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

Как сработало

•  Визуализация процесса – все увидят, что творится что-то не ладное и появляется поддержка всей команды

•  «Затуши пожар» в течении недели - быстрая победа добавляет очков

•  Как обычно, показать прототипы не помешает

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

Как продали бизнесу

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

•  Поставка делается за пару часов, а не дней

• Мы не потеряем данные пользователей

• Мы сможем стать «фабрикой по производству фич»

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

DevOps позволяет нам быть первыми на рынке

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

В качестве эпилога

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

Twitter

@andrebrov

E-mail

[email protected]

Skype

rebrov.andrey

Вопросы?