Мне было удовольствие работать с Cathy Axais. Когда я был руководством команды в SeedBox. У нее была незавидная задача, являющаяся единоличным ресурсом обеспечения качества в компании для команды из 30 разработчиков. Там не было никакого способа, чтобы она не смогла идти в ногу с нагрузкой на QA, размещенную на нее, если она пыталась выполнить традиционную DEV -> QA -> производственный цикл; ей нужен путь к масштабу.
Что она сделала? Она встроила себя с каждым из команд развития в свою очередь и научила нас, как тестировать. Каковы были ее требования? Довольно просто —
- PRS необходимо проверить, прежде чем они пойдут на производство
- Разработчик, который написал код, не может быть разработчиком, который это тестирует
Она провела около 3 недель с моей командой, показывая нам то, что она искала при тестировании системы, как определить вещи, которые, вероятно, сломаются, и как попасть в «тестирование мышления». Это было не самое простое, что нужно сделать, иногда мы (разработчики) могут быть сварливыми, когда представлены с изменениями, но с моей точки зрения он окупился в пиках. После того, как она закончила с нами, она пошла в следующую команду, и так далее, пока она не получила всех разработчиков на борту. У меня нет номеров, но я знаю, что уровень дефекта существенно упал, когда мы перестали тестировать наш собственный код, оптимизацию, которую я принимаю как должное сейчас, но даже не рассматривал ранее.
Я не нашел лучшего способа масштабировать функцию поддержки к процессу разработки. Нужно ваше приложение быть в безопасности? Не передавайте его в команду безопасности, вместо этого заставить команду безопасности учить разработчикам, что искать для того, чтобы найти небезопасный код, и покажи им, как это исправить. Хотите производительность? Не звоните в кучу экспертов по производительности, чтобы исправить все ваши проблемы с производительностью, позвоните в одну и заставить ее принять участие в «производительности мышления» в ваших разработчиках.
Это то, что означает для меня полный стек. Вы получаете тематические эксперты, которые могут помочь вашим командам улучшить функции, для которых они могут быть оптимизированы. Каждая рука с кода до того, как она достигла производства, увеличивает время, необходимое для того, чтобы получить функции из двери, особенно если есть путь, который возвращает этот код разработчику, где процесс должен начать снова. Сколько из нас работало в средах, где получают код до производства, требует выхода на выбору QA, обзор безопасности, обзора в области архитектуры, диспетчер выпуска, дата выпуска, план обратного списка и 4 часа вашего дня (если все идет хорошо )?
Каждый из этих шагов представлен возможность того, что ваш код может пройти весь путь к начальной линии, возможно, несколько дней после того, как вы затронули его.
Если вы хотите быстро двигаться, важно сохранить свои циклы обратной связи максимально короткой. Часто это значит получать разработчики делать все Отказ OPS, безопасность, производительность, QA, развертывание, надежность сайта. Ни одно из этих вещей не должно быть за пределами способности команды.
Я не говорю, что вы должны избавиться или вашей команды QA или команду вашей безопасности или вашу службу безопасности, или ваши SRES, только что вы должны думать о них как о них как эксперты по предмету, которые могут обучать своих разработчиков на лучшие практики для своей области опыта. Подумайте о них больше как наставников, а инструменты. Например, OPS может построить инфраструктуру в качестве кода, чтобы команды разработки могут определить свою собственную инфраструктуру, необходимую независимую от команды OPS. Нам всегда понадобится команда OPS, когда мы достигли пределов нашего понимания, или для помощи на планировании архитектуры, но мы должны быть в состоянии прийти к ним с 80% этой работы.
Передача вашего кода в другую группу приводит к узким местам, и всегда будут дефекты, которые проходят. Я думаю, что лучше быстро найти дефекты и толкать исправления так же быстро. Получите цикл обратной связи как можно короткое и просветите своих разработчиков в районах, где они слабы.
Как вы масштабируете свои команды?
Оригинал: «https://dev.to/gabeguz/scaling-your-engineering-teams-2b9e»