JavaRush /Курсы /Модуль 1: Web Core /Разработка продукта

Разработка продукта

Модуль 1: Web Core
1 уровень , 4 лекция
Открыта

5.1 Немного истории

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

Крупнейший поисковик того времени, компания Yahoo, решил пойти по новому пути и перенять подход из Голливуда: их менеджеры даже назывались Продюсерами :) Неудивительно, что у них ничего не вышло. 🤦‍♂️

Это интересно

Yahoo — крупнейший неудачник в плане покупки других компаний. Им в свое время несколько раз предлагали купить и Google, и Facebook. Ну а на их закате их хотела поглотить Microsoft за 40 миллиардов, но они опять отказались. Спустя пару лет их купили за 3 миллиарда. Хотя в 90-е на своем пике они стоили 200 миллиардов, а если бы купили Google, то стоили бы сейчас пару триллионов. Не будь как Yahoo.

За время с Интернет-Революции протестировали десятки разных способов разработки ПО, и сейчас ситуация стабилизировалась. Существуют стандартные роли со стандартными обязанностями, стандартные процессы и стандартное ПО.

В процессе обучения вы узнаете все, что вам нужно знать, чтобы работать в современных ИТ-компаниях, с современными средствами разработки.

5.2 Продуктовая команда

Продуктовая команда

Типичная команда разработки состоит из:

  • Людей, которые решают, какие функции и фичи должны быть у продукта
    • Product Owner
    • Business Analytic
  • Разработчиков, которые все это реализуют
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Людей, которые отвечают за качественную работу продукта
    • QA Automation
    • DevOps

Product Owner в разработке ПО играет ключевую роль. Он управляет продуктом и удостоверивается в том, что команда разработки фокусируется на выполнении самых важных задач. Он определяет видение продукта, составляет и приоритизирует список задач (backlog). Это помогает гарантировать, что каждый этап разработки максимально отвечает бизнес-целям и требованиям пользователей.

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

DevOps специалисты занимаются оптимизацией процессов разработки ПО и его операционного управления, чтобы ускорить и упростить выпуск обновлений продукта. Их работа включает автоматизацию тестирования, развертывания и мониторинга систем, а также настройку инфраструктуры и обеспечение непрерывной интеграции и доставки (CI/CD).

5.3 Команда разработки

Непосредственно разработка ведется программистами. Их можно грубо поделить на 5 категорий:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • DBA

Роли и их наполнение могут меняться в зависимости от размера команды и специфики продукта, но ситуация примерно такая:

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

Backend Developer: специализируется на разработке серверной части приложений. Задачи Backend Developer включают реализацию логики, интеграцию баз данных и систем управления данными, обработку пользовательских запросов и поддержание взаимодействия с frontend-частью.

Frontend Developer: разрабатывает пользовательский интерфейс веб-приложений. Эта роль требует знаний HTML, CSS и JavaScript, а также фреймворков и библиотек для создания интерактивных и отзывчивых интерфейсов, которые обеспечивают хорошее взаимодействие пользователя с продуктом.

Mobile Developer: занимается разработкой приложений для мобильных устройств. Mobile Developer создает приложения для различных операционных систем (например, iOS и Android), учитывая особенности платформы, производительность устройств и пользовательский опыт.

DBA (Database Administrator): отвечает за управление базами данных, обеспечивая их доступность, безопасность и оптимизацию. DBA выполняет задачи по настройке, мониторингу и обслуживанию баз данных, а также разработку стратегий по резервному копированию и восстановлению данных.

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ