Статьи
Расставляйте приоритеты и сокращайте технический долг в бэклоге Jira с помощью Compass
КЭТИ СИЛЬВЕР
СТАРШИЙ МЕНЕДЖЕР ПО ПРОДУКТУ, ATLASSIAN
Краткое описание
Такая распространенная проблема разработки ПО, как технический долг, возникает из-за большого масштаба проектов и необходимости быстро поставлять новые возможности. Принимая на себя бремя технического долга, команда на первое время ускоряет поставку, но, накопив его слишком много, теряет скорость в долгосрочной перспективе. Оперативно находить нужную информацию и анализировать работоспособность и производительность выпускаемых продуктов можно с помощью централизованного каталога ПО на Atlassian Compass, внутренней платформе для разработчиков (IDP). Команда может связать задачи Jira с показателями работоспособности и каталогом в Compass, чтобы выявлять и сокращать серьезный технический долг в ходе расстановки приоритетов в бэклоге и сохранять высокую скорость поставки.
Время
Восемь минут на прочтение. Менее 10 минут на настройку Compass.
Аудитория
Вы — любой пользователь Jira в команде по поставке ПО. Статья также будет полезна разработчикам, инженерам, менеджерам по продуктам и другим специалистам.
Обязательные условия
- Получите Compass. Попробуйте бесплатно и начните работу за считаные минуты.
- Получите Jira. У вас есть активный проект компании в Jira.
Технический долг в бэклоге вышел из-под контроля? Вы не одиноки
Быстро создавайте, оценивайте ПО и делайте выводы. Agile-команды разработчиков поставляют код с невероятной скоростью. Однако платой за это становится технический долг — неизбежное явление, которое увеличивает уязвимость кода и замедляет работу. Насколько хорошо ваша команда осознает свой технический долг? Какие аналитические данные помогают расставить приоритеты в бэклоге так, чтобы сократить технический долг и продолжить поставлять инновационные возможности? Читайте далее и узнайте, как оценить приоритетность задач в бэклоге Jira и решить проблему технического долга вашей команды для ускорения разработки ПО.
Технический долг — это обещанная, но не сданная клиенту работа, дефекты в коде или снижающие гибкость рабочие задачи.
Основная причина технического долга: скорость и масштаб
Разработчики обязаны постоянно поддерживать высокую скорость поставки новых возможностей. Кроме того, по мере развития продуктов и команд увеличивается сложность, и организации сталкиваются с разрастанием служб и ПО. Это приводит к разрозненности знаний и путанице в вопросах владения, а поиск информации все сильнее затрудняется. Так как сложность продуктов растет и базы кода становятся все больше, а команды продолжают уделять приоритетное внимание поставке новых возможностей, увеличивается вероятность появления багов и проблем с производительностью. Статистика ошеломляет.
77%
of devs say their codebase grew 5x over the past 3 years [1]
15%
percent of a dev’s day that’s actually spent coding [2]
70%
of devs encounter a knowledge silo at least once a week [3]
1. Big Code in the AI Era («Большой код в эпоху ИИ»), Sourcegraph. 2. Today was a good day: The Daily Life of Software Developers («Сегодня был отличный день: будни разработчиков ПО»). 3. Stack Overflow, опрос разработчиков 2022 года.
Чтобы оставаться конкурентоспособными, компании должны быстро развиваться. Успешные компании будут расти в размерах, увеличивать доходы и расширять ассортимент продукции, поэтому практически каждая организация должна научиться эффективно управлять техническим долгом. Насколько хорошо ваша команда осознает свой технический долг?
Расставляйте приоритеты в бэклоге и сокращайте технический долг с помощью Compass
Для ведения централизованного каталога всех служб, библиотек, API и других программных компонентов, созданных и эксплуатируемых нашими командами, в Atlassian используют Compass. С помощью каталога ПО в Compass команды без труда отслеживают владельцев служб, объединяют данные по всей организации и оценивают работоспособность ПО. Благодаря этим аналитическим данным, команды эффективно расставляют приоритеты, работают быстро и поддерживают высокую планку качества кода. С их помощью устраняется наиболее актуальный технический долг сегодня, чтобы повысить скорость работы в будущем.
В этой статье рассказывается о том, как Atlassian сокращает технический долг и расставляет приоритеты в бэклоге Jira с помощью нашей платформы Compass для разработчиков.
Compass помогает командам осознать влияние своей работы и эффективно планировать
Compass — это платформа Atlassian для разработчиков, также известная как внутренняя платформа для разработчиков (IDP). Она была создана для того, чтобы помочь Atlassian в развитии микросервисов и оптимизировать процесс разработки. Compass облегчает повседневную жизнь разработчиков, помогая им быстрее находить информацию и аналитические данные, а также ускоряя создание и поставку ПО в рабочую среду.
Каталог
Снижайте когнитивную нагрузку с помощью обширного каталога программных компонентов.
Работоспособность
Применяйте карты оценки эксплуатационного состояния, формируйте политики и сообщайте о них, а также повышайте эффективность разработки.
Расширяемость
Подключите важные сведения о службе, чтобы сэкономить время на поиске и реже переключаться между приложениями.
Шаблоны
Автоматизируйте согласование и ускорьте ход разработки с помощью готовых шаблонов ПО.
С помощью компонентов Compass команды могут вести централизованный каталог своего ПО и проводить анализ. Компоненты — это все, что находится в репозитории: службы, библиотеки, модели машинного обучения и т. д. Вы можете связать их в Jira, чтобы соотнести задачи в бэклоге с реальными частями ПО, на которые они влияют. Это поможет командам понять, на что воздействует их работа и как она связана с общей картиной разработки.
Команда разработчиков платформы Atlassian полагается на Compass для централизации информации, стандартов и методов, которые укрепляют культуру удобной и быстрой разработки. Под этим подразумевается автономность команд, четкие стандарты и методы, ясность в вопросах владения службами и сокращение времени на поиск.
Начните работу с Compass за считаные минуты: настройте каталог, показатели и карты оценки
Начать работу с Compass можно за считаные минуты, выполнив несколько простых шагов: (1) импортируйте компоненты, (2) назначьте команды в качестве их владельцев и (3) настройте карты оценки.
Шаг 1. Импортируйте компоненты из любых источников
Для большинства команд это означает подключить инструмент управления исходным кодом (SCM), например GitHub или Bitbucket, либо импортировать репозитории, связанные с проектами Jira. Можно также импортировать компоненты из CSV-файла или использовать любое сочетание этих способов, чтобы быстро составить исчерпывающий каталог всех элементов, которые создают и поддерживают ваши разработчики.
Начать работу с Compass можно за считаные минуты, импортировав компоненты из любых источников. Для большинства команд это означает подключить инструмент управления исходным кодом (SCM), например GitHub или Bitbucket, либо импортировать репозитории, связанные с проектами Jira. Можно также импортировать компоненты из CSV-файла или использовать любое сочетание этих способов, чтобы быстро составить исчерпывающий каталог всех элементов, которые создают и поддерживают ваши разработчики.
Шаг 2. Назначьте команды в качестве владельцев компонентов
Как правило, для каждого компонента назначается одна команда, которая несет основную ответственность за его функционирование. Добавление ответственной команды к каждому компоненту укрепляет культуру автономности, помогает разработчикам следить за актуальной информацией и гарантирует экспертную поддержку каждого компонента даже на случай, если отдельный сотрудник или руководитель будет недоступен. Все команды, настроенные в Jira, сохраняются в каталоге Atlassian, который подключается к Compass, а потому доступны и в этом сервисе.
Благодаря каталогу компонентов разработчики в организации могут быстро найти документацию или последние действия CI/CD, связанные с любой службой или библиотекой. Сокращается время на поиск информации, а поскольку ее можно найти самостоятельно, не нужно отвлекать коллег. Все это повышает производительность разработки.
Когда подключено решение SCM, в Compass автоматически обнаруживаются события, например развертывания, после чего они собираются в специальной ленте. Compass берет события из репозитория и автоматически рассчитывает несколько готовых ключевых показателей, таких как частота развертывания и процент успешных сборок. Вы можете настроить показатели DORA и даже отслеживать собственные метрики, например количество уязвимостей в защите, выявленных в том или ином компоненте.
Шаг 3. Настройте карты оценки для стандартизации компонентов
Теперь, когда в вашем каталоге появились данные, а показатели настроены, самое время приступить к работе с картами оценки. Такие карты используются для разработки и применения стандартов к компонентам в организации. В картах оценки для показателей компонентов и данных полей можно выбрать любые целевые значения. Это поможет следить за состоянием программных компонентов и за тем, чтобы команды применяли рекомендуемые методы работы. В Compass встроено несколько стандартных карт оценки с показателями, которые мы рекомендуем отслеживать, такими как готовность компонентов и состояние DevOps, но вы можете создавать и собственные карты оценки. Данные с карт оценки помогут определить, в каких компонентах накопился технический долг.
Продолжая приведенный выше пример, давайте улучшим безопасность с помощью специальной карты оценки, которая покажет неудовлетворительный результат, если одновременно обнаружится более одной уязвимости. Уязвимости в защите — классический пример технического долга. Сначала создайте показатель для отслеживания уязвимостей и настройте его так, чтобы он получал данные из верных источников в ваших компонентах.
Затем перейдите в раздел Scorecards (Карты оценки) во вкладке Health (Состояние), расположенной на верхней навигационной панели. Нажмите Create Scorecard (Создать карту оценки), заполните данные и обязательно добавьте в качестве критерия карты оценки созданный вами показатель уязвимостей в защите. Настройте его так, чтобы карта оценки показала неудовлетворительный результат, если одновременно обнаружится более одной уязвимости. Это хороший выбор для служб уровня 1, которые критически важны для работоспособности программного обеспечения. Задайте оператору значение 1 и выберите вариант less than or equal to (меньше или равно). Установите значение веса 100 % и нажмите кнопку Create (Создать). Теперь у вас есть единое средство, с помощью которого вы можете отслеживать уязвимости в защите и давать командам четкие указания к действиям по улучшению работоспособности ПО.
В процессе работы вы настроите несколько карт оценки для различных стандартов, чтобы получать полное представление о техническом долге.
Привяжите Compass к Jira: определяйте крупные технические долги и расставляйте приоритеты в бэклоге
Теперь, когда решение Compass настроено, у нас есть все необходимое для выявления и сокращения технического долга. Сначала убедитесь, что ваш проект Jira включен в компоненты Compass: нажмите Components (Компоненты) на левой навигационной панели и проверьте поле с выпадающим списком в правом верхнем углу. Там должно быть указано Compass components (Компоненты Compass).
Затем вернитесь в Compass и изучите свои карты оценки. Определите направления, в которых результаты карт оценки являются неудовлетворительными или близки к этому. Затем, исходя из приоритетов команды, выделите наиболее важную проблему. Просмотреть определенную карту оценки можно во вкладке Health (Состояние), где показан результат всех оцениваемых этой картой компонентов. Здесь можно применить дополнительные фильтры, например по ответственной команде, чтобы точно понять, как оцениваются ваши собственные компоненты, и определить технический долг, требующий вашего внимания.
Рассмотрим другой пример, воспользовавшись встроенной картой оценки DevOps Health (Состояние DevOps). Вы изучаете компоненты своей команды и замечаете, что некоторые из них не соответствуют критерию Deployment Frequency (Частота развертывания). Условия карты оценки требуют не менее пяти развертываний в неделю, но вы видите, что у некоторых компонентов лишь одно или два развертывания в неделю. Это потенциальная проблема, требующая изучения. Возможно, возникла проблема, связанная с процессом сборки или конвейерами развертываний, или команде тяжело справиться с технически сложным заданием. В любом случае, это — технический долг, который необходимо сократить.
Вернитесь к бэклогу и проверьте, есть ли в нем задачи, позволяющие решить проблему медленного развертывания. В противном случае вы можете создать новую задачу прямо со страницы Scorecard (Карта оценки) в Compass. Убедитесь, что в этих задачах отмечены правильные компоненты Compass, чтобы организовать работу и четко отслеживать влияние бэклога.
На данном этапе вы можете уверенно включить эти задачи в следующий спринт или добавить их на доску Kanban. Вы будете знать, что это — высокоприоритетные технические задачи, и что проделанная вами работа повлияет на производительность архитектуры ПО. После того как команда решит задачу, вы сможете вернуться к карте оценки DevOps Health (Состояние DevOps) и посмотреть историю того, как вы со временем увеличили частоту развертывания. Это отличная визуализация ценности вашей работы, которой можно поделиться как с руководством, так и со своей командой.
Итог: используйте Compass, чтобы расставить приоритеты в бэклоге Jira и сократить технический долг
В современных процессах доставки ПО технический долг неизбежен, но эффективные команды знают, как приоритизировать важнейшие технические задачи, чтобы поддерживать высокий уровень надежности и выпускать инновационные функции с постоянной скоростью. Привязка задач Jira к централизованному каталогу компонентов в Compass позволяет командам анализировать влияние своей работы и находить эффективный компромисс между техническим долгом и выпуском функций. Для этого им требуется лишь несколько шагов:
- Быстро настройте каталог программного обеспечения в Compass: подключите решение SCM или импортируйте репозитории из Jira либо CSV-файла.
- Начните со встроенных карт оценки, а затем создайте собственные, используя показатели и другие источники данных, чтобы отслеживать производительность программного обеспечения в соответствии со стандартами и практиками вашей организации и выявлять высокоприоритетные технические долги.
- Сделайте Compass частью своих еженедельных ритуалов: разбирайтесь с техническим долгом, а затем перемещайте задачи из бэклога в раздел выполненных. Так вы сможете предотвращать инциденты и непрерывно выпускать новые функции.