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