Промислові технології розробки ПЗ (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 (Початок).

Перевірити себе на практиці

Прочитати — половина справи. Далі потрібні завдання цієї ж теми з розбором кожної відповіді: саме на них видно, чи справді тема закрита.