JavaRush /Курси /C# SELF /Розробка ІТ-продукту

Розробка ІТ-продукту

C# SELF
Рівень 6 , Лекція 6
Відкрита

1. Трохи історії

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

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

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

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

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

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).

3. Команда розробки

Безпосередньо розробкою займаються програмісти. Їх можна умовно поділити на п’ять категорій:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • Database Administrator

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

  • 🏗️ Software Architect: відповідає за проєктування складної архітектури програмних систем. Архітектор розробляє технічну інфраструктуру, визначає структуру та способи взаємодії різних компонентів програмного продукту, забезпечуючи їх масштабованість, продуктивність і безпеку.
  • ⚙️ Backend Developer: спеціалізується на розробці серверної частини застосунків. До завдань Backend Developer належать реалізація логіки, інтеграція з базами даних і системами керування даними, обробка запитів користувачів та підтримка взаємодії з фронтенд-частиною.
  • 🖥️ Frontend Developer: розробляє користувацький інтерфейс веб-застосунків. Ця роль вимагає знань HTML, CSS і JavaScript, а також фреймворків та бібліотек для створення інтерактивних і адаптивних інтерфейсів, які забезпечують якісну взаємодію користувача з продуктом.
  • 📱 Mobile Developer: займається розробкою застосунків для мобільних пристроїв. Mobile Developer створює застосунки для різних операційних систем (наприклад, iOS та Android), з урахуванням особливостей платформи, продуктивності пристроїв і користувацького досвіду.
  • 🗄️ DBA (Database Administrator): відповідає за керування базами даних, забезпечуючи їхню доступність, безпеку та оптимізацію. DBA виконує завдання з налаштування, моніторингу та обслуговування баз даних, а також розроблення стратегій резервного копіювання та відновлення даних.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ