JavaRush /Курси /Kotlin SELF /Розроблення ІТ-продукту

Розроблення ІТ-продукту

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

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

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

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

Це цікаво. Yahoo — один із найвідоміших невдах у сфері придбання інших компаній. Свого часу їм кілька разів пропонували купити і Google, і Facebook. Зрештою, на схилі своєї карʼєри їх намагалася поглинути Microsoft за 40 мільярдів, але вони знову відмовилися. За кілька років Yahoo придбали всього за 3 мільярди. У 90-ті роки, на піку популярності, 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. Команда розроблення

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

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

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

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