Как обеспечить эффективный KTLO в разработке: взгляд руководителя

Анализ с помощью ИИ
Получите аналитику на основе ИИ для этой статьи Enji:
Многим технологическим и бизнес-менеджерам знакома такая ситуация.
Бизнес и маркетинг хотят, чтобы команда разработки создала привлекательную фичу или приложение для роста пользовательской базы и выручки. Разработчики готовы это сделать, но сосредоточены на деталях и качестве существующего программного обеспечения, а также на работоспособности текущей или устаревшей инфраструктуры.
Это перетягивание каната за человеческие и материальные ресурсы встречается во многих компаниях. Но так быть не должно. Непонимание возникает из-за того, что разные подразделения говорят на разных языках и имеют разные приоритеты. Тем не менее общий язык найти можно — и тогда коммуникация начинает работать на результат для всех стейкхолдеров.
Команда Enji годами применяет бизнес-цели проектов и компании в целом к реалиям создания качественного программного обеспечения. В этой статье мы делимся опытом и лучшими практиками в области Keeping the Lights On (KTLO).
Эффективное KTLO в разработке
Значение
KTLO в разработке программного обеспечения — это непрерывное обслуживание и поддержка существующих систем, обеспечивающие их бесперебойную работу и соответствие потребностям пользователей. Инженерные команды также управляют рисками, связанными с новыми разработками, включая уязвимости в безопасности. Это включает исправление багов, обновление зависимостей, устранение проблем с производительностью и применение патчей безопасности для предотвращения сбоев. Разработчики балансируют между требованиями бизнеса и техническими задачами. Без эффективной политики KTLO "свет гаснет", и продукты перестают работать.
Вызовы
Ни бизнес-менеджеры, ни технические руководители не хотят, чтобы это происходило. Но напряжение неизбежно возникает, когда компания под давлением ограничений должна делать больше меньшими силами. Команда Enji выделяет несколько ключевых вызовов KTLO.
Нехватка ресурсов
Эпоха дешевых денег закончилась, а значит, разработчики должны развивать профессиональные и личные навыки, чтобы оставаться востребованными. При этом им сложно объяснять бизнес-стейкхолдерам необходимость выделения ресурсов — времени, денег, людей, — которые не кажутся напрямую связанными с бизнес-целями.
Коммуникационные сбои и недоверие
Проблема ресурсов обостряется, когда между бизнесом и командой разработки нет доверия. Если ни одна из сторон не верит, что другая работает в интересах компании или приносит реальную ценность, коммуникация разрушается — и никто не хочет объяснять свои потребности.
Недостаточная квалификация разработчиков
KTLO требует специалистов, способных справляться с широким спектром задач. Компания должна учитывать финансовые затраты на найм и удержание таких людей.
Несогласованность целей
Чтобы эффективно управлять техническим долгом и поддерживать качество программного обеспечения, разработчики должны верить в бизнес- и продуктовые цели. Если их единственная мотивация — деньги, убедить их вкладываться в задачи KTLO крайне сложно. Разработчикам важно не просто работать на благо компании, но и понимать, что достигнутые результаты полезны им самим как профессионалам.
Решения
Ниже — стратегии, которые помогут командам минимизировать влияние перечисленных вызовов, а порой и вовсе их избежать.
Выстроить систему
Это означает определить этапы процесса KTLO внутри организации. Сначала команды проводят планирование, в ходе которого приоритизируют задачи. Это позволяет выявить критические потребности и временные рамки, в которые проблемы должны быть решены. На этапе планирования также оцениваются доступные ресурсы — финансовые и человеческие.
Наличие системы упрощает коммуникацию с бизнес-стейкхолдерами: команда может четко объяснить свои возможности, не соглашаясь на все подряд и не рискуя срывать дедлайны или накапливать технический долг. После этого команда распределяет время и людей между задачами KTLO и разработкой новых фич.
Выстроить доверие
Доверие необходимо для эффективной стратегии KTLO, и часть этой работы — выстраивание доверия внутри самой команды.
Во-первых, это означает эффективную коммуникацию между участниками команды и менеджментом. Она обеспечивает прозрачность и помогает не тратить ресурсы на ненужные проекты и задачи. Во-вторых, это постановка целей с разбивкой на конкретные задачи, их четкое описание и объяснение шагов разработчикам. Так инженеры получают всю необходимую информацию для успешной работы, а их удовлетворенность растет — они понимают, что менеджеры не заинтересованы в их провале.
Кроме того, руководители могут изучать проблемы, чтобы понять их источник — тогда они смогут быстро и эффективно реагировать на запросы инженеров, когда те сталкиваются с дополнительными вопросами или трудностями. Это тоже укрепляет доверие. Немаловажно и то, что метрики разработчиков используются как сигналы для выявления блокеров, а не как единственный способ оценки их эффективности.
Улучшить найм
Стройте процессы рекрутинга и найма так, чтобы привлекать людей, чьи цели и идеи совпадают с целями компании. Проверяйте их творческое мышление и знания, узнавайте их мотивацию. KTLO не требует высококвалифицированных разработчиков — важнее найти тех, кто готов учиться и принимать новые вызовы.
Инвестировать в людей
Сложные задачи KTLO требуют инженеров, которые умеют творчески решать проблемы и получают от этого удовольствие. Это значит обучать молодых специалистов, расширяя их навыки за пределы текущего стека, давать им новые сложные задачи, которые проверят их знания и подтолкнут к профессиональному росту. Им нужно достаточно самостоятельности, чтобы выполнять работу и совершать ошибки, которые станут уроками. Инвестиции — это также доверие к разработчикам и общение с ними по-человечески, без избыточного микроменеджмента. Поддержка и удержание ценных специалистов через материальную и нематериальную компенсацию — затраты, которые в итоге ведут к лучшим продуктам и большей прибыли.
В основе всех этих стратегий — потребность в прозрачности и готовность регулярно пересматривать и адаптировать процессы к меняющимся условиям. Это достижимо, учитывая объем данных, которые люди и команды создают в процессе работы. Команда Enji верит в силу данных как основы для улучшения отношений и программного обеспечения.
Enji и KTLO в управлении проектами
Приверженность команды Enji прозрачности и данным согласуется с четырьмя принципами эффективной разработки:
- Порядок в процессах.
- Дисциплинированные процессы.
- Решения на основе данных.
- Ответственность.
Решения в области KTLO, описанные в этой статье, пересекаются с этими принципами: системный подход с дисциплинированными процессами к управлению техническим долгом и обслуживанием помогает командам поддерживать порядок. Команды, которые доверяют данным и принимают решения на основе объективных фактов, действуют ответственно и создают ценность для бизнеса.
Enji существует для того, чтобы сделать эти решения доступными для любых команд и создать прозрачную среду с универсальным сбором данных по всей активности проекта.
- Индивидуальные метрики кода. Видно, где каждый разработчик работает хорошо, а где нуждается в поддержке.
- Командные метрики кода. Понимание ритма команды и сигналы о том, где процессы можно улучшить.
- Ворклоги. Четкие бизнес метрики о времени, необходимом для разных задач, для оптимизации планирования.
Все стейкхолдеры могут получать доступ к этим данным через лаконичные текстовые отчеты и сводки, которые дают нужную информацию для выявления блокеров и понимания работы инженерных команд. Разработчики, в свою очередь, получают инструменты, помогающие выстраивать и соблюдать дисциплинированные процессы.
- Асинхронные стендапы. Участники команды отправляют письменные статус-апдейты в нужном формате. Обновления и блокеры видны по каждому человеку и проекту.
- Оповещения и боты. Настраиваемые напоминания о конкретных задачах и зонах ответственности, которые помогают командам двигаться к целям и не упускать задачи.
Команда Enji практикует dogfooding и использует все эти функции для создания платформы, которая дает клиентам ценность, необходимую для создания качественного программного обеспечения.
Clutch.co и Enji
Команда разработки Clutch.co включает менеджеров и разработчиков из разных стран и часовых поясов. Это создает понятные трудности для эффективной коммуникации и управления, включая планирование и реализацию политик KTLO. С Enji команда Clutch оптимизировала свою работу.
Например, используя функции ворклогов и аналитики, команда обнаружила, что значительная часть времени уходит на коммуникацию. Этот сигнал побудил менеджмент разобраться в деталях: выяснилось, что часть коммуникации можно перевести в асинхронный формат, а другую часть — устранить за счет оптимизации процессов. В результате время на коммуникацию сократилось вдвое, и команда смогла уделять больше внимания стратегическим задачам, в том числе KTLO.
Как уже говорилось, ограниченность ресурсов нередко мешает командам справляться с задачами по обслуживанию и техническому долгу. Enji помогает руководителям находить способы экономить время и деньги для создания эффективных процессов на основе данных.
Bовышайте эффективность уже сегодня
Enji — это не инструмент для KTLO напрямую, но он дает руководителям и бизнес-стейкхолдерам данные, необходимые для эффективной коммуникации о приоритетах и реалистичного планирования. Таким образом, при использовании KTLO не возникает недопонимания между командами разработчиков и бизнес-подразделениями компании, поскольку прозрачность и ответственность лежат в основе формирования политик.



