Промислові технології розробки ПЗ (RUP, MSF, Agile, Scrum, XP, Kanban)
Розділ: Інженерія систем і програмного забезпечення
📌 Про що ця тема
Тут перевіряють знання промислових методологій і моделей розробки програмного забезпечення: як організувати роботу команди, щоб створити якісний продукт у строк. Ключові поняття — життєвий цикл ПЗ, ітеративність, гнучкі (Agile) та каркасні методології. Часто питають про відмінності між підходами та хто за що відповідає.
📖 Головне
• Методологія розробки — це сукупність принципів, правил і практик організації процесу створення ПЗ (від ідеї до супроводу).
• Два великі класи: важковагові (формалізовані, багато документації: RUP, MSF, каскадна) та гнучкі/Agile (швидкі ітерації, менше документів: Scrum, XP, Kanban).
• RUP (Rational Unified Process) — ітеративна методологія з 4 фазами: Початок (Inception), Уточнення (Elaboration), Побудова (Construction), Впровадження (Transition). Орієнтована на UML-моделювання та варіанти використання (use cases).
• MSF (Microsoft Solutions Framework) — методологія від Microsoft; команда рівноправних ролей без єдиного керівника, кожна роль відповідає за свою ціль якості.
• Agile — не конкретний метод, а філософія (Agile-маніфест): люди і взаємодія важливіші за процеси; робочий продукт важливіший за документацію; співпраця із замовником; готовність до змін.
• Scrum — гнучкий фреймворк на основі спринтів (коротких ітерацій 1–4 тижні). Ролі: Product Owner (визначає пріоритети, веде Product Backlog), Scrum Master (усуває перешкоди, стежить за процесом), Development Team (розробники).
• Основні елементи Scrum: Product Backlog (список вимог), Sprint Backlog (завдання на спринт), щоденні зустрічі (Daily Scrum), огляд спринту та ретроспектива.
• XP (Extreme Programming) — акцент на інженерних практиках: парне програмування, розробка через тестування (TDD), безперервна інтеграція, часті релізи, рефакторинг.
• Kanban — візуалізація робочого процесу на дошці з колонками (To Do → In Progress → Done); обмеження кількості завдань у роботі (WIP); безперервний потік без фіксованих спринтів.
🔢 Як це працює на прикладі
Команда розробляє мобільний застосунок за Scrum. Product Owner формує Product Backlog: «реєстрація», «оплата», «профіль». На плануванні спринту (2 тижні) беруть у Sprint Backlog пункт «реєстрація». Щодня о 10:00 — Daily Scrum: кожен каже, що зробив, що робитиме, які перешкоди. Scrum Master усуває блокери. У кінці спринту — демонстрація готової функції замовнику (огляд) і ретроспектива: що покращити. Далі — новий спринт.
Для Kanban ту саму роботу вели б на дошці: картка «реєстрація» рухається колонками, а правило WIP=2 забороняє брати третє завдання, поки два не завершені.
⚠️ Типові помилки
• Плутають Agile і Scrum: Agile — це філософія/набір принципів, а Scrum — конкретний фреймворк, що її реалізує.
• Приписують Scrum Master-у керівні повноваження: він не начальник, а фасилітатор; пріоритети задає Product Owner.
• Вважають Kanban різновидом спринтів — у Kanban немає фіксованих ітерацій, лише безперервний потік і ліміт WIP.
• Плутають RUP (ітеративна, важковагова, з UML) з каскадною моделлю (послідовні етапи без повернень).
• Називають XP методологією управління — насправді її суть у інженерних практиках кодування.
🎯 Що завчити напамʼять
• 4 фази RUP: Inception, Elaboration, Construction, Transition.
• 3 ролі Scrum: Product Owner, Scrum Master, Development Team.
• Артефакти Scrum: Product Backlog, Sprint Backlog, Increment.
• Практики XP: парне програмування, TDD, рефакторинг, безперервна інтеграція.
• Kanban = дошка + колонки + обмеження WIP.
• Agile — це маніфест і принципи, а не метод.
🧠 Перевір себе
1. Хто у Scrum відповідає за пріоритети у Product Backlog?
2. Чим Kanban відрізняється від Scrum за організацією часу?
3. Назвіть дві інженерні практики XP.
4. Скільки фаз має RUP і як називається перша?
Відповіді: 1 — Product Owner; 2 — Kanban має безперервний потік без фіксованих спринтів (замість ітерацій — ліміт WIP); 3 — напр., парне програмування і TDD (також рефакторинг, безперервна інтеграція); 4 — чотири фази, перша — Inception (Початок).