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

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

Модуль 1: Python Core
Рівень 1 , Лекція 4
Відкрита

5.1 Трішки історії

Коли в 90-ті роки Інтернет-Революція лише починалась, ніхто не знав, як правильно розробляти інтернет-сервіси. Всі їхні фічі відразу ставали доступними користувачам, що суттєво відрізняло цей підхід від класичної розробки ПЗ.

Найбільший пошуковик тих часів, компанія Yahoo, вирішила піти новим шляхом і перейняти підхід з Голлівуду – їх менеджери називалися продюсерами :) Не дивно, що у них нічого не вийшло.

Це цікаво. Yahoo – найбільший невдаха у плані купівлі інших компаній. У свій час їм кілька разів пропонували купити і Google, і Facebook. Зрештою, на заході своєї кар'єри їх намагалася поглинути Microsoft за 40 мільярдів, але вони знову відмовилися. Через кілька років їх придбали лише за 3 мільярди. У 90-ті роки на піку своєї популярності Yahoo оцінювали у 200 мільярдів доларів, і якби вони купили Google, то їхня вартість могла б досягати кількох трильйонів. Не будь як Yahoo.

З часів Інтернет-Революції були протестовані десятки різних способів розробки ПЗ, і зараз ситуація стабілізувалась. Існують стандартні ролі зі стандартними обов'язками, стандартні процеси і стандартне ПЗ.

В процесі навчання ви дізнаєтеся все, що вам потрібно знати, щоб працювати в сучасних ІТ-компаніях, з сучасними засобами розробки.

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

Типова команда розробки складається з:

  • Людей, які вирішують, які функції і фічі повинні бути у продукту
    • Product Owner
    • Business Analyst
  • Людей, які вирішують, як продукт буде виглядати
    • UI Designer
    • UX Designer
  • Розробників, які все це реалізують
    • 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 виконує завдання з налаштування, моніторингу та обслуговування баз даних, а також розробку стратегій з резервного копіювання та відновлення даних.

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