План уроку:
Agile Umbrella
Канбан
XP методологія
Команда: Product Owner, Development Team, Scrum Master.
Заходи: Sprint, Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective.
Діаграма згорання (burndown chart).
Scrum дошка (Scrum board).
Agile та Scrum
Agile – це не методологія, а збірна назва різних методик та підходів до управління, які:
•Фокусують команду на потребах та цілях клієнтів.
•Спрощують оргструктуру та процеси.
•Пропонують роботу короткими циклами.
•Активно використовують зворотний зв'язок.
•Передбачають підвищення повноважень працівників.
•Мають у своїй основі гуманістичний підхід.
•Не є кінцевим станом, а, радше, способом мислення та життя.
Agile: Екстремальне програмування
1. Екстремальне програмування дозволяє розробникам реагувати на вимоги клієнтів, що змінюються, навіть на пізніх етапах життєвого циклу.
2. Менеджери, клієнти та розробники є рівноправними партнерами у спільній команді (короткий цикл зворотного зв'язку).
3. Основні шляхи поліпшення процесу: спілкування, простота, зворотний зв'язок, повага і сміливість.
4. Парне програмування.
5. Безперервна інтеграція.
6. Рефакторинг кодом.
Agile: Kanban
1. Відповідальність розділяється на всю команду.
2. Використання засобів візуалізації: Канбан Дошка та карти.
3. Немає заздалегідь визначеного графіка виконання завдань.
4. Постійний та безперервний процес розробки, який
обмежений лише робочим навантаженням членів команди.
5. Дуже гнучка та сприятлива методологія для роботи зі змінами.
Agile: Scrum
Scrum – це фреймворк, що надає спектр можливостей для продуктивної та творчої розробки продуктів з максимально можливою цінністю та вирішення нетривіальних завдань у процесі роботи.
Scrum фреймворк:
1. Скрам-команди.
2. Ролі, з ними пов'язані.
3. Події.
4. Артефакти.
5. Правила.
Найвищим пріоритетом є задоволення потреб замовника, завдяки регулярній та ранній поставці цінного програмного забезпечення.
Зміна вимог можлива навіть на пізніх стадіях розробки.
Працюючий продукт слід випускати як можна, можливо частіше, з періодичністю від пари тижнів до пари
місяців.
Протягом всього проєкту розробники та представники бізнесу повинні щоденно працювати разом.
Продукт що працює - основний показник прогресу.
Постійна увага до технічної досконалості
і якості проєктування підвищує гнучкість
проєкту.
Над проєктом повинні працювати мотивовані професіонали.
Безпосереднє спілкування є найбільш практичним і ефективним способом обміну інформації і отримання фідбеку, як з клієнтом, так і всередині команди.
Найкращі вимоги, архітектурні та технічні рішення народжуються у командах, які самоорганізуються.
Команда повинна систематично аналізувати можливі способи покращення ефективності і відповідно коригувати стиль своєї роботи.
Scrum ролі
Основні Ролі :
- Product Owner
- SCRUM майстер
- Команда розробки (3-9 осіб)
Другорядні Ролі :
- Користувачі
- Зацікавлені особи
- Менеджери
- Консультуючі експерти в доменний області
Product Owner:
Формулює вимоги (Product Vision);
Пріоритизує і декомпозує вимоги;
Коригує пріоритети на кожному спринті;
Несе персональну відповідальність за цінність вимог для
ринку/користувачів;
Відповідає за взаємодію із замовником;
Приймає результати спринтів;
Тільки одна людина.
Вміння:
Мати особисту залученість в проєкт і його результати;
Гарно володіти навичкою написання вимог.
Product Owner – це представник підрозділу, яке володіє продуктом, котрий розроблюється.
SCRUM майстер:
Слідкує за коректним застосуванням принципів Agile і процесів (ритуалів)
Scrum;
Організовує роботу команди і забезпечує її всім необхідним;
Забезпечує тісну співпрацю всіх ролей і функцій;
Захищає команду, несе відповідальність за її ефективність.
Скрам майстер не призначає людей на завдання - це робить сама команда;
Майстер не змушує людей робити роботу - це відповідальність команди;
Майстер не вказує Product Owner, які вимоги він повинен написати – це
робота власника продукту.
Найкращим синонімом ролі Scrum Master буде "фасилітатор".
Скрам Майстер організовує роботу команди проєкту, але не втручається в її
роботу.
SCRUM команда:
Кросфункціональна;
Взаємозамінна;
Самоорганізується;
З фіксованим складом (у ході спринту);
7-9 осіб.
Команда відповідає за розробку продукту ітераціями (спринтами).
Команда визначає самостійно :
Тривалість спринту;
Місткість (capacity) команди;
Трудомісткість вимог, які будуть реалізовані в спринті;
Черговість виконання завдань і багато іншого.
Scrum Sprints
Спринт – це «обмежене в часі» зусилля, тобто воно обмежене певною тривалістю.
Тривалість встановлюється заздалегідь кожного спринту і зазвичай становить від одного тижня до одного місяця.
Продукт розроблений, закодований, протестований та задокументований під час спринту.
Без змін під час спринту.
Scrum Події: Daily meetings
ПИТАННЯ кожному учаснику команди:
• Що я зробив вчора?
• Що я буду робити сьогодні?
• Які проблеми у роботі?
Scrum Sprint планування
Agile: Scrum board
Scrum Demo
DEMO:
Опишіть продукт;
Представте мету спринту;
Зосередьтеся на демонстрації реального робочого застосунку;
Тримайте фокус DEMO на бізнес-орієнтованому рівні
(яку користь продукт принесе кінцевому користувачеві);
Залиште технічні деталі осторонь;
Зосередьтеся на тому, «що ми зробили», а не «як ми це зробили»;
Якщо можливо, дозвольте аудиторії протестувати продукт;
Не демонструйте дрібних виправлень помилок та тривіальних функцій.
Scrum Burndown chart
Scrum Retrospective
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Тема уроку: 3. Agile та Scrum
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩