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 виконує завдання з налаштування, моніторингу та обслуговування баз даних, а також розробляє стратегії із резервного копіювання і відновлення даних.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ