7. Вимоги ринку ІТ: технології
ІТ
AI
IoT
BigData
Robotic
Cybersecurity
VR/AR
AI – Artificial intelligence
штучний інтелект
IoT – Internet of things
інтернет речей
BigData
аналіз великих
масивів даних
Robotics
програмування
роботизованих систем
Cybsecurity, Blockchain
кібербезпека, технолог
ії шифрування, Blockcha
in
VR – Virtual Reality
віртуальна реальність
AR – Augmented Reality
доповнена реальність
14. Популярність гнучких методології
14th Annual State of Agile Report. 2020
https://stateofagile.com/#ufh-i-615706098-14th-annual-state-of-agile-report/7027494
15. Порівняння ефективності розробки ПЗ за
методологією Скрам та Каскадною моделлю
Schwaber K., Sutherland J., P
atel D., Casanave C. (1997). "
Scrum Development Process
" . OOPSLA Business Object
Design and Implementation
Workshop: 117–134.
16. Етап 2: Практичний
Робота над командним проектом за
методологіями Скрам і Канбан
Ролі
•Власник продукту
•Скрам майстер
•Команда розробників
Артефакти
•Беклог продукту
•Беклог спринту
•Канбан-дошка
Події
•Планування спринту
•Щоденний Скрам
•Рев’ю спринта
•Ретроспектива спринта
•Демо
21. Використання гнучких методологій розробки
програмного забезпечення:
Висновки
Готовність
до змін
Постійне
покращення
змінює підходи до організації проектів з розробки ПЗ,
зумовлює застосування нових інструментів,
висуває нові вимоги до розробників;
Доброго дня шановні колеги! Дозвольте представити Вам результати мого дисертаційного дослідження на тему: Використання гнучких методологій
розробки програмного забезпечення у підготовці майбутніх програмістів.
Аналіз ранку праці показав широкий попит на програмістів в Україні і світі, як ключової посади в ІТ галузі, що для України є 3-ю по величині доходу з експорту.
Всі гнучкі методології розробки ПЗ об’єднані спільними ідеями і принципами, описаними у Маніфесті гнучкої розробки. (Agile manifesto) Готовність до змін, постійна співпраця з замовником, регулярна поставка працюючого продукту є основними ідеями Маніфесту.
Гнучкий підхід сутєво відрізняєть від традиційної лінійної розробки програмних продуктів, Waterfall або каскадної моделі, де один раз на початку визначаються вимоги і замовник бачить результат тільки в самому кінці.
Гнучкі ж методології є ітеративними. Під час кожної ітерації реалізуються всі етапи Каскадної моделі, тобто програмне забезпечення проходить повний Життєвий цикл. Результат кожного циклу - працюючий програмний продукт з розширеним функціоналом – інкрементом, створеним в цю ітерацію. У такого підходу багато переваг: ранній час поставки працюючого програмного забезпечення, раннє тестування, виявлення помилок і внесення змін є дешевшим, продукт є завжди актуальним.
Сучасна розробка програмних продуктів характеризується складністю розроблюваних систем в умовах невизначеності: змінюються вимоги замовників, умови, технології. Це спричиняє популярність гнучких методологій розробки програмного забезпечення. Серед їх особливестей: ітеративна безперервна розробка, модульність систем, слідкування за якістю програмного продукту на всіх етапах, надання розробникам більшої свободи і відповідальності у виборі методів розробки програмного забезпечення.
Основними у підготовці програмістів є знання актуальних технологій і мов програмування. Так за останні 10 років популярність мов програмування в Україні істотно змінилась. Хоча в світі ці зміни не на стільки суттєві, що показує гнучкість Українського ІТ сегменту. Використання мов і технологій програмування суттєво залежить від сфери призначення програмних продуктів.
Серед яких останнім часом з’явилось багато нових, пов’язаних виключно з інформаційними технологіями.
За даними Digital.ai в найбільш популярною гнучкою методологіє в Світі є Скрам. Також компанії ІТ та іншого профілю часто доповнюють її іншими методологіями. Наприклад використання Скрам разом з Канбан, що отримало назву СкрамБан, Скрам і Екстремальне програмування. Наступною за популярністю є методологія Канбан.
Розробники Скраму Кен Швабер і Джеф Сазерлен в своїх дослідженнях показують що у випадках зі складними проєктами застосування їх методики може збільшити продуктивність роботи команди у два рази в порівнянні з каскадною моделлю.
На 2му етапі студенти виконували проєкт з розробки програмного забезпечення за методологією Скрам, доповненою Канбан. Процес і ролі були адаптовані до умов практики, так: в середині команд у кожного була своя роль основна і додаткова. Перший тиждень роль Скрам майстра, що допомагає організовувати процеси в команді, виконував викладач. На початку кожного Спринту команда вибирала задачі для розробки з прорієтизованого беклогу, кожен день проводились 15-хвилинні стендапи, в кінці Спринта Рев’ю для демонстрації виконаної роботи Власнику продукту, внесення змін та вибір задач на наступний Спринт та Ретроспектива для обговорення та покращення процесу розробки. В кінці останнього Спринта проводилась подія Демо – на якій демонструвався весь розроблений програмний продукт.
Весь процес розробки фіксувався на Канбан-дошці в Huboard, а код проєкту зберігався в Git-репозиторії з доступом через GitHub.
Зміна підходів до розробки програмного забезпечення та ускладнення розроблюваних систем спричинили появу і використання багатьох програмних інструментів різного призначення. Так особливими інструментами, що використовуються для гнучкої розробки ми виділили менеджери проєктів, та системи контролю версій.
Актуальність дослідження спричинена масовим використанням гнучких методологій розробки програмного забезпечення в Україні і світі, що є відповіддю на сучасні виклики ІТ галузі, та як наслідок спричиняє зміни у процесі організації і розробки програмного забезпечення, використання нових інструментів та підходів.