Почему владение кодом важно для исправления ошибок приложений?

Почему владение кодом важно для исправления ошибок приложений?

25 октября 2022 г.

Каждый день мы используем приложения, чтобы взаимодействовать с клиентами и взаимодействовать с ними, повышать производительность труда и даже останавливаться в конце дня — и мы ожидаем, что они каждый раз будут работать безупречно. Вот почему стабильность приложений стала ключевым показателем эффективности (KPI) для компаний, позволяющим максимизировать удержание и увеличить доход.

К счастью, Bugsnag помогает инженерам сосредоточиться на важных ошибках и максимизировать скорость разработки программного обеспечения. В результате разработчики получают более качественный код, пользователи избегают производственных ошибок, а заинтересованные стороны видят более высокую скорость разработки и лучшее удержание пользователей.

Давайте посмотрим, как вы можете дать командам разработчиков возможность взять на себя ответственность за свой код и быстро исправлять наиболее важные ошибки в приложениях с несколькими командами.

Стабильность приложений — это критический показатель эффективности для компаний, занимающихся разработкой программного обеспечения, а владение кодом необходимо для обеспечения максимальной стабильности.

Что такое владение кодом?

Владение кодом — это идея о том, что отдельные разработчики или команды несут ответственность за функции, которые они создают и внедряют. Например, предположим, что в приложении электронной коммерции есть две команды, отвечающие за конверсию пользователей и электронную торговлю. Если в корзине есть ошибка, команда электронной коммерции владеет кодом и будет нести ответственность за ее исправление.

Figure 1: Git commit activity suggests code ownership is an effective way to reduce bugs. Source: Microsoft

Существует три категории владения кодом:

  • Надежное владение кодом. Разработчик берет на себя ответственность за определенный раздел кодовой базы и вносит в него изменения. Если кому-то еще нужно внести изменения, он должен получить разрешение от владельца на их объединение. п
  • Слабое владение кодом. Разработчик берет на себя ответственность за определенный фрагмент кода, но любой может вносить изменения в код. Если они не вносят больших изменений, разработчикам не обязательно требуется разрешение на обновление кода. п
  • Общее владение кодом. Вся команда владеет кодовой базой и может вносить изменения в любом месте.

Большинство команд разработчиков используют комбинацию этих подходов. Очень сложные фрагменты кода могут быть прерогативой одной команды или инженера (сильное владение кодом), но в целом разработчики регулярно вносят свой вклад в более широкую кодовую базу. Оптимальный уровень обычно составляет от 50 до 90 % владения кодом для среднего файла в кодовой базе.

Bugsnag упрощает получение надежного или общего владения кодом в многокомандных приложениях, где маршрутизация ошибок может быстро стать проблемой.

Как определить приоритет ошибок

Большинство разработчиков знакомы с инструментами ведения журналов ошибок, такими как Splunk и Loggly, но они не помогают определить приоритет ошибок по их влиянию. И что еще хуже, разработчики должны обладать глубокими знаниями в этих инструментах, чтобы понимать ошибки при появлении неструктурированных данных. В результате разработчики тратят много времени просто на выявление ошибок, а на обнаружение высокоприоритетных ошибок уходит больше времени.

Существует несколько способов приоритизации ошибок: n

  • VIP-клиенты. Вы можете отслеживать ошибки, которые затрагивают критически важных клиентов, например корпоративных пользователей, а не пользователей бесплатной пробной версии. Таким образом, в случае возникновения проблемы, вы решаете наиболее дорогостоящие проблемы, прежде чем переходить к менее значимым ошибкам. п
  • Критическая функциональность. Вы можете отслеживать ошибки, влияющие на важные бизнес-функции, такие как процесс оплаты. Например, сбой при оформлении заказа может привести к полной потере дохода, что делает его более важным, чем другие ошибки. п
  • Соглашения об уровне обслуживания. Вы можете отслеживать ошибки, влияющие на SLA, чтобы избежать дорогостоящих нарушений. Например, корпоративные пользователи могут иметь соглашения об уровне обслуживания в течение 99,99 % времени безотказной работы, а это означает, что любое снижение качества их обслуживания является критическим.

Figure 2: Bugsnag lets you measure priority by events, users, or other metrics. Source: Bugsnag

Bugsnag упрощает добавление настраиваемых фильтров для поиска событий по настраиваемым метаданным, добавляемым в отчеты об ошибках. Затем вы можете направить эти ошибки соответствующим разработчикам или группам для их эффективного устранения, а не заставлять разработчиков извлекать проблемы из очереди. В результате уменьшается количество высокоприоритетных ошибок, влияющих на рабочих пользователей, и повышается скорость.

В дополнение к преимуществам, ориентированным на бизнес, эффективная маршрутизация ошибок является благом для счастья и производительности разработчиков. Разработчики тратят меньше времени на отслеживание ошибок и больше времени на создание новых функций. Делая разработчиков счастливыми, вы можете повысить культуру рабочего места и свести к минимуму текучесть кадров, с которой сталкиваются многие технологические компании.

Повышение производительности

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

Показатели стабильности могут помочь в принятии этих решений: n

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

Bugsnag позволяет легко измерять стабильность пользователей и сеансов в приложении. Руководители групп могут использовать эту информацию, чтобы определить, когда имеет смысл погрузиться в устранение ошибок, а не в работу над новыми функциями. Таким образом, проще максимизировать скорость без ущерба для качества продукта — беспроигрышный вариант для разработчиков, пользователей и заинтересованных сторон.

Кроме того, когда приходит время исправлять ошибки, Bugsnag также позволяет легко сегментировать ошибки и разумно направлять их нужным разработчикам, чтобы избежать усталости от уведомлений. Разработчики знают, что каждое уведомление, которое они получают, — это ошибка, над которой нужно действовать.

Создайте культуру собственности

В наиболее эффективных компаниях, занимающихся разработкой программного обеспечения, существует культура собственности. В то время как разработчики уже могут владеть определенными фрагментами кода, успешные компании распространяют концепцию собственности на всю организацию. Другими словами, все чувствуют себя комфортно, отмечая проблемы, предлагая улучшения и помогая при возникновении проблем.

Многие команды формируют культуру сопричастности с помощью OKR, или целей и ключевых результатов, когда отдельные лица, команды или организация устанавливают цели с измеримыми результатами. Кроме того, команды могут использовать цикл обратной связи "создать-оценить-учиться", чтобы постоянно совершенствоваться и учитывать отзывы каждого члена команды.

Гибкие инструменты и процессы могут помочь в достижении этих целей. Например, ретроспективы — это распространенный способ изменить и улучшить продукты и процессы. Между тем, такие инструменты, как Bugsnag, могут помочь командам легко отслеживать и определять приоритеты дефектов, а также измерять стабильность приложений с течением времени.

Итог

Стабильность приложения быстро становится критическим KPI. Сочетание культуры владения и эффективных инструментов может помочь командам разработчиков быстро определить приоритеты ошибок и максимально увеличить скорость. Эта комбинация помогает разработчикам, пользователям и заинтересованным сторонам, поскольку она эффективно уравновешивает необходимость продвижения новых функций с необходимостью устранять ошибки. п

Если вас интересует Bugsnag, посмотрите наш бесплатный веб-семинар, посвященный некоторые из наиболее распространенных вариантов использования или подпишитесь на бесплатную пробную версию сегодня


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE