Что такое условия разработки и почему они важны?
Условия разработки (DX или DevEx) — это совокупность впечатлений, которые разработчики получают при повседневной работе: с какими трудностями они сталкиваются и насколько сильна эмоциональная связь с работой.
В этой статье объясняется, почему условия разработки важны и как их улучшение помогает разработчикам и организациям в целом достичь более высоких результатов. Также статья содержит рекомендации по реализации значимых изменений в вашей команде.
Что понимается под условиями разработки?
Сейчас об условиях разработки говорят довольно часто, поскольку продуктивность разработчиков стала главным приоритетом для большинства команд. В последние несколько лет руководители чувствуют все большее давление в связи с необходимостью извлекать максимум выгоды из инвестиций в талантливых разработчиков и технологии. Поэтому они прикладывают значительные усилия к тому, чтобы доказать высокую производительность и продуктивность своих команд.
Однако разработчики, которых оценивают по неподходящим показателям, таким как количество отработанных часов или строк кода, на самом деле теряют в продуктивности, стараясь соответствовать произвольным требованиям. В отчете Atlassian о состоянии условий разработки говорится, что более половины руководителей отделов разработки, использующих показатели оценки производительности, считают их неэффективными для измерения продуктивности разработчиков. Это неудивительно, учитывая, что 38 % организаций измеряют продуктивность разработчиков по количеству отработанных часов, при этом 69 % разработчиков теряют 8 или более часов в неделю из-за неэффективной организации задач.
Почему важны условия разработки?
Когда организации улучшают важнейшие условия разработки, у разработчиков появляется больше времени, чтобы сосредоточиться на главном, а именно на выпуске высококачественного программного обеспечения. Разработчики, которые могут сосредоточиться на любимом деле, гораздо продуктивнее тех, кого заставляют выдавать результат, несмотря на препятствия.
Улучшение условий разработки повышает не только продуктивность, но еще и удовлетворенность работой, а значит, разработчики реже уходят из команды.
Привлечение и удержание талантливых специалистов — еще одна причина, по которой важно поддерживать хорошие условия разработки. Наш отчет показывает, что 63 % разработчиков считают это важным или очень важным фактором, когда решают, оставаться ли на текущем месте работы. Более того, 86 % руководителей считают, что привлечь и удержать лучших специалистов будет практически невозможно без улучшения условий разработки.
Из чего складываются условия разработки?
Исследования показывают, что хорошие условия разработки складываются из трех основных компонентов.
Циклы обратной связи, которые обеспечивают непрерывное совершенствование посредством обучения и корректировки.
Посильная когнитивная нагрузка благодаря хорошо организованному коду и легкодоступной документации.
Возможность войти в состояние потока, когда разработчики полностью погружаются в работу и плавно переходят от одной задачи к другой.
Факторы, влияющие на условия разработки
На условия разработки сильно влияет качество инструментов и эффективность разработки ПО. Когда инструменты и процессы ежедневно обеспечивают наличие всех трех перечисленных выше компонентов, условия разработки резко улучшаются, а команды разработчиков получают преимущества в виде более качественного программного обеспечения и более довольных сотрудников.
На условия разработки также влияет культура команды. Команда, в которой нет циклов обратной связи, не выделяют время на сосредоточенную работу и не удовлетворяют потребности разработчиков, не может обеспечить комфортные условия. В конечном счете для улучшения условий разработки требуется сочетание правильных инструментов и изменений корпоративной культуры.
Стратегии улучшения условий разработки
Организации напрямую контролируют условия труда в командах разработчиков, а значит, могут целенаправленно улучшать условия разработки, и это действительно стоит делать.
Хотя у каждой команды и организации свои потребности и задачи, перечисленные здесь стратегии всегда могут стать отличной отправной точкой для улучшения условий. Если эти изменения будут реализованы, они могут значительно повысить удовлетворенность разработчиков и привести к росту производительности.
Инструменты и технологии
Пакет инструментов DevOps предоставляет доступ ко множеству точек данных. Поэтому важно быть уверенными, что команды используют их максимально эффективно. Добавьте модули для отслеживания выполняемых задач, количества багов, времени решения, соблюдения SLA, готовности к релизу, диаграмм Burndown для спринта и статуса сборки. Это даст разработчикам целостное представление о задачах, позволит отслеживать прогресс и постоянно обеспечивать обратную связь.
Более подробная информация о микрослужбах и других компонентах, с которыми работает команда, доступна в каталоге компонентов и системных картах оценки в Compass — внутренней платформе для разработчиков от Atlassian. С ее помощью разработчики могут быстро получить доступ к информации, необходимой для работы с компонентами, например определить владельца или способ взаимодействия с другими системами. А руководителям будут полезны карты оценки для отслеживания работоспособности ПО и команды, чтобы выявлять узкие места и блокеры.
Документация
Согласно отчету об удовлетворенности разработчиков, 41 % респондентов считают неэффективную документацию серьезным препятствием. Однако у разработчиков не всегда есть время (или желание) заниматься ее составлением. ИИ может быстро и беспроблемно создавать код и обрабатывать документацию, позволяя сотрудникам сосредоточиться на более важных задачах, что повышает их удовлетворенность работой.
На удовлетворенность влияет не только создание документации. Согласно последнему опросу разработчиков Stack Overflow, более четверти принявших участие в исследовании сотрудников тратят не менее часа в день на поиск информации. Инструменты ИИ, такие как Atlassian Rovo, могут собирать и обобщать внутреннюю документацию и данные из инструментов управления проектами, чтобы сократить время, которое уходит на поиск, и направить его на разработку.
Процесс адаптации
Некачественный процесс адаптации приводит к недовольству разработчиков. Создавая условия для эффективной работы, вы помогаете сотрудникам почувствовать больше удовлетворения от новой роли и быстрее войти в курс дела. Качественный процесс адаптации также становится ресурсом, к которому участники команды смогут обращаться по мере ознакомления с различными аспектами своих ролей и новыми компонентами программного обеспечения.
В подробном каталоге программных компонентов Compass есть все, что нужно вашим разработчикам. Информация собрана в одном месте и стандартизирована. Новым сотрудникам не придется пробираться через многостраничную документацию или постоянно обращаться за помощью к другим участникам команды в первые недели работы. И поскольку вся информация централизована на одной платформе, к ней можно без труда обращаться в любое время. Все, что есть в каталоге компонентов, — от репозиториев и библиотек до API — можно быстро и легко найти.
Еще больше идей по адаптации вы найдете в руководстве Atlassian по адаптации персонала.
Поддержка и создание сообщества
Степень удовлетворенности отражает оценку разработчиками инструментов и процессов, которые они используют — за такой информацией в рамках организации можно обратиться только к ним. Прислушивайтесь к мнению сотрудников — так вы сплотите команды и продемонстрируете свое стремление сделать работу разработчиков комфортной.
Если вы работаете в небольшой организации, то, возможно, сможете лично поговорить со всеми разработчиками. Но для создания масштабируемого процесса и безопасного способа поделиться обратной связью мы рекомендуем опросы об удовлетворенности разработчиков. Вы можете использовать информацию из опросов для отслеживания улучшений в определенной области. Не забывайте подтверждать получение отзывов и реагировать на них, чтобы команды видели, что вы заинтересованы в улучшениях.
Регулярные ретроспективы, проводимые командой, дают разработчикам и руководителям возможность вместе проанализировать успехи и создать циклы обратной связи, необходимые для улучшения условий деятельности разработчиков. Обсуждения могут касаться как вопросов культуры работы, например рабочей нагрузки и сроков, так и технических аспектов, например проектирования API. Наш сценарий ретроспективы поможет вам начать работу: в нем содержатся базовые инструкции и шаблоны, а также варианты для конкретных ситуаций.
Рабочая среда и культура
Разработчикам невозможно оставаться в потоке, если у них нет продолжительных периодов времени для непрерывной и сосредоточенной работы. Это означает, что нужно избегать культуры совещаний и постоянных уведомлений. Сократить переключение контекста можно также за счет централизованной платформы, например Compass, которая объединяет всю информацию и аналитические данные из вашего набора инструментов, необходимые разработчикам.
Некоторые команды выделяют один или два дня в неделю в качестве «дней без совещаний». Для более гибкого подхода предложите участникам команды забронировать в своих календарях несколько повторяющихся временных интервалов по 90–120 минут в удобное для них время. Еще больше идей вы найдете в отчете Atlassian о совещаниях за 2023 год.
Вне зависимости от рабочей культуры, которую вы хотите выстроить, предоставьте разработчикам возможность отключать звук на телефонах и уведомления в чатах, чтобы создать рабочую среду, в которой сотрудники смогут сосредоточиться на своих задачах.
Усовершенствуйте процесс разработки с помощью Compass
Compass — это внутренняя платформа для разработчиков, которая отвечает всем требованиям к процессу разработки.
Поддержка непрерывной работы. Разработчикам не нужно копаться в архивах или беспокоить коллег в поисках ответов: вся необходимая информация находится в едином каталоге программных компонентов Compass в стандартизированном формате.
Снижение когнитивной нагрузки. У разработчиков всегда есть доступ к информации на единой централизованной платформе, поэтому им не нужно помнить все детали общей картины.
Формирование циклов обратной связи. Команды могут совместно анализировать состояние разработки с помощью еженедельных ретроспектив на основе данных и практик CheckOps для постоянного повышения производительности.
Эти улучшения делают выполнение задач проще и приятнее, повышая степень удовлетворенности разработчиков в организации.
Удовлетворенность разработчиков: часто задаваемые вопросы
Как выглядит высокая степень удовлетворенности разработчиков?
Разработчики могут свободно сосредоточиться на самом важном — быстрой и регулярной поставке качественного ПО. Они могут работать, не прерываясь, когнитивная нагрузка на них снижена, а для обратной связи созданы специальные циклы. В результате разработчики довольны своей работой, могут быстрее адаптироваться и сосредоточиться на создании ПО, и не задумываются о смене деятельности.
Как оценить степень удовлетворенности разработчиков?
Не существует одного универсального показателя или набора показателей для измерения степени удовлетворенности разработчиков. Это связано с тем, что данный аспект очень сильно зависит от контекста конкретной команды и организации. Даже если бы все компании использовали одни и те же инструменты и показатели для повышения удовлетворенности разработчиков, результаты все равно бы значительно различались в зависимости от команды и компании.
Чтобы оценить степень удовлетворенности разработчиков в организации, необходим целостный взгляд на их повседневную работу. Для начала выберите одну из этих трех основных областей и сфокусируйтесь на ней.
Восприятие. Как разработчики относятся к своим задачам и рабочей среде?
Рабочие процессы. Насколько эффективны и надежны используемые системы и процессы?
Ключевые показатели эффективности (KPI). На каких показателях сосредоточены команды? Можно учитывать такие факторы, как удовлетворенность сотрудников и их взгляд на сложность поставки программного обеспечения и производительность команды.
Мы рекомендуем использовать опросы об удовлетворенности разработчиков для всех этих областей. Для начала воспользуйтесь нашим сценарием по проведению опросов об удовлетворенности разработчиков.
Каковы основные составляющие удовлетворенности разработчиков?
Три основных компонента высокой удовлетворенности разработчиков.
Циклы обратной связи, которые обеспечивают непрерывное совершенствование посредством обучения и корректировки.
Посильная когнитивная нагрузка благодаря хорошо организованному коду и легкодоступной документации.
Возможность войти в состояние потока, когда разработчики полностью погружаются в работу и плавно переходят от одной задачи к другой.