JavaRush /Курси /Frontend SELF UA /Розробка продукту

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

Frontend SELF UA
Рівень 47 , Лекція 3
Відкрита

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 виконує завдання з налаштування, моніторингу та обслуговування баз даних, а також розробляє стратегії із резервного копіювання і відновлення даних.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ