Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Хотите начать работать по TDD, но команда упирается? Не удается убедить всех, что DevOps - самая лучшая культура? Боретесь за права Selenium на проекте? Тогда этот доклад для вас. Это и многое другое внутри.

Andrey Rebrov

May 31, 2013
Tweet

More Decks by Andrey Rebrov

Other Decks in Programming

Transcript

  1. Если вы… •  dev (qa, ops) и хотите что-то внедрить

    •  менеджер и вам постоянно что-то «впаривают» •  коуч/консультант и никак не можете объяснить, что команде нужно что-то внедрить …то вы пришли по адресу!
  2. История 1. Про Selenium •  Есть классный фреймворк – Selenium!

    Давайте его использовать у нас! •  У нас есть проработанная система на TestComplete. •  TestComplete - $#$&#! •  …
  3. Don`t! •  Никогда не говори, что текущие наработки – ерунда

    •  Новизна технологии – не аргумент •  То, что технологию используют «вот эти ребята» не аргумент, даже если это Google
  4. Как сработало •  Привлекай «ручных» тестировщиков на свою сторону –

    они твои заказчики •  Делай демо своих наработок как можно чаще – так ты покажешь, что фреймворк прост в использовании •  Во время демо создай позитивную обстановку – принеси чай и печеньки •  Тренируйся в обучении своему фреймворку
  5. Как продали бизнесу •  Удешевляем разработку, так как быстрее находим

    баги •  Долгое время не понадобятся новые тестировщики – есть автотесты •  Можем брать больше задач в итерацию •  Можем быстрее выходить в релиз
  6. История 2. Про TDD • Ребята, вам нужно TDD – оно

    рулит! • Но нам придется переписать весь наш проект, чтобы можно было тестировать!!! • Ну и что, зато у вас будут тесты! • …
  7. Don`t! • TDD ради тестов и TDD – самый глупый аргумент

    • TDD ради всеобщего блага – еще более глупый аргумент • То, что TDD используют «вот эти ребята» - ну вы поняли…
  8. Как сработало • Просвещение в виде видео • Личный пример – сделал,

    засек временя, не нашел багов, повторил • Conding Dojo – пробовать что-то новое самому _ВСЕГДА_ страшно, лучше бояться вместе
  9. Как продали бизнесу Партизанский TDD: • Применяем в течении 3-4 недель

    • Показываем, что ситуация (метрики по SLA, баги, wtf/sec) улучшилась • фиксируем договоренности
  10. История 3. Про Refactoring • Давайте отрефакторим вон тот модуль! • Зачем?

    Он же работает! • Но там спагетти-код и масса нарушений в коде • …
  11. Don`t! •  Когда ты говоришь о рефакторинге – ты оскорбляешь

    чей-то код, будь готов к сопротивлению •  Переписать, потому что так написано в книге – очередной глупый аргумент •  Сразу говорю, убеждать, что на рефакторинг нужен сразу месяц не стоит
  12. Как сработало •  Визуализация проблем – поставь Sonar, менеджеров пугают

    цифры •  Рассказать про технический долг и как он влияет в перспективе •  Подготовить план рефакторинга с объяснением почему в определенный момент времени мы переделываем именно этот код
  13. История 4. Про автоматизацию • Дима, давай автоматизируем тестирование! • И зачем

    нам это? • Ну, мы сможем заниматься интересными задачами и будет круто! • …
  14. Don`t! •  Автоматизация ради автоматизации – как TDD ради TDD,

    а это мы уже прошли •  Не говори, что автоматизация ничего не стоит – будешь выглядеть дураком •  Запомни! Не бывает бесплатных инструментов, как минимум они стоят твое рабочее время •  Не стоит бежать к лиду, как только прочитал про инструмент, попробуй сам
  15. Как сработало •  Показать концепт как оно работает •  Знать

    о преимуществах и недостатках •  Показать, разные варианты использования – чем больше выбор, тем больше вероятность, что хоть один подойдет
  16. Как продали бизнесу • Посчитать ROI автоматизации • Показать, что поддержка стоит

    дешевле, чем отдельный человек, который будет делать все вручную • Показать стоимость ОШИБКИ, которую может допустить такой человек
  17. История 5. Про Feature Toggling и ветки • Нужно перестать делать

    ветки под каждую новую ветку! • Почему? • Так завещал Martin Fowler! • …
  18. Don`t! •  Не все знают, кто такой Фаулер =) • 

    Прочти Фаулера сначала сам •  Не стоит кидаться терминами cherry pick, feature branch и так далее – вы будете выглядеть как колдун вуду •  Говорить, что «feature toggle это как if, но не if, а по другому» тоже не стоит
  19. Как сработало •  Экономим время на merge`ах веток – теперь

    их нет •  У всех разработчиков всегда последний код – все видят картину целиком •  В разы проще становится настройка Continuous Integration (о нем ниже)
  20. Как продали бизнесу • Теперь в любой момент мы можем выключить

    тот или иной элемент функционала – у нас есть набор конфигов для этого
  21. История 6. Про Continuous Integration •  Нам срочно нужен Continuous

    Integration, чтобы мы знали, что ничего не сломали! •  А почему ты не проверяешь на своем компьютере? •  А зачем? •  …
  22. Don`t! •  Никогда, еще раз, никогда не говорите, что CI

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

    – снимаем нагрузку с тестировщиков • Можем автоматизировать наши процессы (см. пункт 4) • Не требует поддержки
  24. История 7. Про DevOps •  Давайте настроим Nagios, Chef, Graphite

    и Logstash и станем DevOps`ами! •  А как это поможет? •  Ну мы просто будем делать все быстрее •  …
  25. Don`t! •  Не продавай инструменты – проблему процессов ими не

    решишь, а фейл за тобой останется •  Построение DevOps процесс долгий – не говори, что за неделю все станет здорово •  Не решай проблему админов за них самих – они обидятся
  26. Как сработало •  Визуализация процесса – все увидят, что творится

    что-то не ладное и появляется поддержка всей команды •  «Затуши пожар» в течении недели - быстрая победа добавляет очков •  Как обычно, показать прототипы не помешает
  27. Как продали бизнесу •  Процесс поставки становится прозрачным и управляемым

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