НЕ ПРОГРАММИСТАМИ ЕДИНЫМИ ЖИВ ПРОЕКТ. ЧАСТЬ 1.


 

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

ОРИГИНАЛЬНЫЙ ТЕКСТ НАХОДИТСЯ ЗДЕСЬ

 

ОБ АВТОРЕ

 

Rafał Węglarz - польский специалист в области информационных технологий и разработки программного обеспечения.
Он работает в компании
Droptica (Вроцлав, Польша), занимающейся веб-разработкой и digital-решениями, где занимает позицию, связанную с маркетингом и управлением проектами.
Rafał обладает опытом в области digital-маркетинга, разработки сайтов (в частности, на платформе Drupal), а также управления командами и реализации IT-проектов.
В его профессиональных интересах - современные технологии, оптимизация бизнес-процессов и развитие
digital-агентств.

 Роли в команде разработчиков

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

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

 Бизнес-аналитик (БА).

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

            Этот специалист осуществляет процесс определения бизнес-целей и предлагает пути их реализации. Тесно общается с клиентом, чтобы досконально понять его проблемы и потребности, анализирует и документирует собранную информацию, ищет наилучшее решение. Таким образом, помогает установить как базовые KPI (Key Performance Indicators -  ключевые показатели эффективности), так и соответствующие методы их внедрения, которые будут наиболее удобны для обеих сторон.

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

Инженер DevOps


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

          Роль такого специалиста характеризуется как комбинация технических и нетехнических знаний. Сам DevOps расшифровывается как Development and Operations (развитие и операции), т. е. набор практик, объединяющих в один процесс такие элементы, как разработка, внедрение, обслуживание и ремонт продукта, обеспечивая при этом высокое качество.

 Наличие в команде инженера DevOps даёт следующие плюсы:

  1. Более быстрое обнаружение и исправление ошибок, улучшение качества продукта и сокращение времени, необходимого на тестирование и выпуск новых релизов, согласно практикуемой Continuous Integration (непрерывной интеграции)
  2. Автоматическое внедрение всех изменений кода в тестовую и/или производственную среду в рамках практики Continuous Delivery (непрерывной поставки)
  3. Реализация практики архитектуры микросервисов, то есть совместное создание единого приложения как набора небольших сервисов, построенных вокруг определенных бизнес-возможностей.
  4. Управление сервером с использованием техники кодирования, которая обрабатывает инфраструктуру аналогично коду приложения
  5. Мониторинг сервисов в реальном времени, целью которого является сбор данных и проверка того, как производительность инфраструктуры влияет на работу конечного пользователя.
  6. Большее вовлечение в работу других членов команды - маркетинг, продажи и т.д.

 Кроме того, нужно знать ещё такие вещи:

  1. Linux и/или Windows
  2. Создание скриптов
  3. Хотя бы один из языков программирования, например, РНР.
  4. Инструменты автоматизации, например, Jenkins.
  5. Работа в сфере облачных вычислений, например, Веб-сервисы Amazon.

Инженер DevOps и Agile.

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

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

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

ВЕРНУТЬСЯ К ГЛАВНОМУ МЕНЮ

ЧТОБЫ БЫТЬ В КУРСЕ ПОСЛЕДНИХ НОВОСТЕЙ, ПОДПИСЫВАЙТЕСЬ НА Telegram-канал «КАРЬЕРА ИТ-МЕНЕДЖЕРА».