Как оптимизировать работу команды разработчиков с помощью внутреннего фреймворка

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

О том, как создать и внедрить внутренний фреймворк в рабочий процесс команды так, чтобы результаты оправдали ожидания, рассказывает senior PHP-developer в международном дейтинг-стартапе Андрей Лукин.

Что такое внутренний фреймворк, и для чего он нужен

Фреймворк — это набор инструментов и библиотек, созданных, чтобы упростить процесс разработки программного обеспечения. Он включает в себя модульную структуру, которая позволяет разработчикам использовать только необходимые готовые инструменты и сфокусироваться на написании кода.

Создание собственного фреймворка может быть полезно по нескольким причинам:

Ускорение процесса разработки. Если команда frontend и backend инженеров тратит много времени на исправление багов в системе, это может привести к тому, что каждый член команды должен быть full-stack разработчиком. Создание фреймворка позволяет каждому разработчику сосредоточиться на своей специализации и не тратить время на написание обработчиков в 10-20 строк.

Улучшение структуры кода. Использование готового шаблона и дополнение его функциональными блоками помогает создать «чистый» код, который соответствует стандартам разработки. Фреймворк также позволяет разработчику сфокусироваться на логике своего кода, не беспокоясь о контексте в рамках операционной системы.

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

План создания внутреннего фреймворка

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

Шаг 1. Определите функции и требования к фреймворку

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

Например, в создании фреймворка, в котором я принимал участие, ключевой функцией было обеспечение удобной работы frontend и backend разработчиков, а также минимальной API системы для снижения затрат на коммуникацию.

Шаг 2. Создайте структуру фреймворка

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

  • Создание и базовые настройки
  • Поддержка устройств
  • Аудитория + A/B тесты
  • Время доставки
  • Настройка конверсий
  • Тестирование и отправка

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

Шаг 3. Определите ключевые метрики

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

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

Как успешно внедрить и адаптировать фреймворк в рабочий процесс команды

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

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

Однако стоит учитывать, что каждый член команды может по-разному отнестись к новому фреймворку. Как это часто бывает с внедрением новых технологий в работу команды: кто-то воспримет их с энтузиазмом, а кто-то не будет рад нововведениям. Поэтому важно не перегружать последних и дать им достаточно времени и поддержки для адаптации.

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

Советы по созданию фреймворка для оптимизации работы разработчиков

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

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

Следите за скоростью работы команды. Необходимо иметь систему мониторинга и анализа производительности команды, чтобы определить, какие задачи занимают больше времени и какие ресурсы могут быть оптимизированы.

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

Заранее подумайте о метриках. При создании фреймворка разработчики часто допускают серьезную ошибку — уделяют недостаточное внимание метрикам. А ведь именно они помогают продемонстрировать результаты работы и убедить стейкхолдеров в эффективности разработки.

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

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

5011

Комментировать могут только авторизованные пользователи.
Предлагаем Вам в систему или зарегистрироваться.

Предметная область
Отрасль
Управление
Мы используем файлы cookie в аналитических целях и для того, чтобы обеспечить вам наилучшие впечатления от работы с нашим сайтом. Заходя на сайт, вы соглашаетесь с Политикой использования файлов cookie.