Agile Agile-методології управління проектами
AgileAgile-методології управління проектами
Про мене
Анатолій Охотніков, начальник відділу розробки вкомпанії Softjourn Inc.
маю більше 18 років досвіду роботи у ІТ
більше 10 років досвіду управління, як team lead,project manager, керівник відділу у банках тасервісних компаніях
Працював в Україні та в США
Про що буде йти мова
Lean. Чому? Що? Як?
Agile проти традиційного підходу. Agile Manifesto. Процес та філософія
Kanban & Scrum
Чому Lean? Agile не взявся з повітря
"the application development crisis" або"application delivery lag" 3-20 років
Френсис Бейкон та науковий метод у 1620
Волтер Шухарт та PDSA цикл у Bell Labs
Едвардс Демінг та TPS
Вибух Lean - 80/90 роки
“organizational anarchists”, 2001
XP, ASD, FDD, DSDM
Ми програємо естафету“Підхід ‘естафета’ до розробки продукту…може протирічити цілям максимальноїшвидкості та гнучкості. Замість цього,цілісний або ‘регбі’-підхід, де команданамагається пройти дистанцію як єдинеціле, передаючи м’яч назад та вперед -може краще служити сьогоденнимконкурентним потребам.”
Хіротака Такеучи та Ікуджиро Нонака,“The New New Product Development Game”,Harvard Business Review, Січень 1986.
Що таке Lean?
«Усе, що ми робимо – це дивимосяна час від моменту отриманнязамовлення, до моменту отриманнягрошей з клієнта. І ми зменшуємоцей час, шляхом видалення втрат,що не додають кінцевої вартості(сігото,しごと )»
Таїті Оно 大野 耐
7 принципів LeanЗменшення втрат
Вбудована якість
Створення знання
Відкласти фіксування рішення
Швидка доставка
Повага до людей
Покращення системи (в цілому)
7 втрат LeanРозробка ПЗ:
Частково зроблена роботаЗатримкиПередачіПовторне навчанняДодаткові фічіПереключення задачДефекти
Оригінальні:
ПеревиробництвоОчікуванняНепотрібнетранспортуванняЗайві етапи обробкиЗайві запасиНепотрібні переміщенняДефектна продукція
Інкрементальний процес
WaterfallВодоспадна (каскадна) модель життєвого циклу
Плюси методу
Ніяких переробокГарна специфікація перетікає в гарнудокументаціюЗрозуміла модельКодери можуть мати низьку кваліфікацію
Мінуси
Необхідний перфекціонізм на кожному етапіВажко вносити зміни (якщо взагалі можливо)Надлишкове проектуванняПоділ розробників на "perfect" та "code monkeys"
Традиційний ПідхідКлієнт знає чого він бажає
Розробники знають як це зробити
Нічого не змінюється упродовж роботи
Підхід Agile
Клієнт дізнається чого він бажає
Розробники знаходять як це зробити
Багато речей змінюються упродовж роботи
Що таке Agile?
Це філософія, культура, спосіб мислення або набір цінностей.
Agile розробка - цє інший спосіб управління ІТ-командами тапроектами. Також це альтернатива традиційній послідовнійрозробці або водоспаду.
Основи Agile
Маніфест (Цінності): 4 цінності що є основою філософії.Принципи: 12 принципів що втілюють цінності та дають більш конкретні прикладищо є Agile на нижньому рівніМетодології: Методи що підтримують цінності та принципи (Scrum, XP, і т.д.).
Agile МаніфестЛюди та співпраця важливіші за процеси та інструменти
Працюючий продукт важливіший за вичерпну документацію
Співпраця із замовником важливіша за обговорення умовконтракту
Готовність до змін важливіша за дотримання плану
Майстерність понад виконання
Тобто, хоча, цінності, що не виділені важливі,ми все ж цінуємо більше те, що стоїть спочатку.
Agile
Інкрементальна проти Ітеративної
Розробка: послідовна проти паралельної
Принципи Безперевна доставка
Зміни вимогШвидка доставкаПрацювати разомЛюди та середовищеРозмовляйте обличчям до обличчяРобоче ПЗ - міра прогресуПостійний темп та сталий розвитокТехнічна досконалість та маневриністьПростотаСамоорганізаціяРегулярна саморефлексія
Піраміда Agile
Директивні проти Адаптивних
Дуже коротко про Kanban
"Кан" візуальний(видимий), і "бан" –картка або дошка
● Фізична картка, використовується у TPS длядецетралізованого "витягуючого" контролю виробництва
● У виробництвах по цілому світу, як інструмент LeanManufacturing (Бережливого Виробництва)
Дуже коротко про KanbanВізуалізуйте потік робіт
Розбийте роботу на частини, занотуйте кожен зпунктів на карку та приклейте її на стіну.
Підпишіть стовбчики, щоб бачити на якій стадіїзнаходиться кожне завдання.
Обмежуйте НЗР (WIP)
Вимірюйте lead time та cycle time
Витягуйте цінність (не штовхайте)
Канбан дошка
Дошка
Обличчям до обличчя, біля дошки – найкращій спосібспілкування/обговорення
Дошка показує що відбувається, хто що робить і чому
Що ми вже зробили і що будемо робити далі
Стимулює роботу в потоці, покращує роботу в команді,дозволяє виявляти проблеми
Підходить практично для будь-яких процесів
Головна дошка
Карточки (Сторона 1)
Створено Трекер
Опис
Розмір*
Почато Закінчено
*Розмір (t-shirt sizing): S - малий, M - середній, L - великий
Карточки (Сторона 2)
Ім'я Прізвище
Почав Закінчив
Ім'я Прізвище
Почав Закінчив
Ім'я Прізвище
Почав Закінчив
Персоналізація та кольори
Використовуйте персоналізовані значки для ідентифікаціїроботи над карткою:
Кольорове кодування для позначення пріоритетів:
Кумулятивна діаграма
Адміністратор та Дизайнер
Маркетинг
...інший проект
Scrum vs Kanban
Що таке Scrum?
Скрам – це один з Agile процесів, що дозволяє фокусуватися на поставцінайважливіших, з точки зору бізнеса, цінностей у найстислі строки
Він дозволяє нам швидко та регулярно оглядати реально працюючепрограмне забезпечення (від двох тижднів до місяця).
Бізнес розставляє пріоритети. Команди самоорганізуються та визначаютькращій спосіб, щоб випустити функції з високим пріорітетом.
З регулярністю від двох тижднів до місяця усі можуть бачити реальнопрацюючий програмний продукт, та вирішити випускати його як він є абопродовжити покращення в наступному спринті.
Популярність Scrum
IntuitNielsen MediaFirst American Real EstateBMC SoftwareIpswitchJohn DeereLexis NexisSabreSalesforce.comTime WarnerTurner Broadcasting
MicrosoftYahooGoogleElectronic ArtsLockheed MartinPhilipsSiemensNokiaIBMCapital OneBBC
https://docs.google.com/spreadsheets/d/1fm15YSM7yzHl6IKtWZOMJ5vHW96teHtCwTE_ZY7dP7w/
Застосування Scrum
Розробка відеоігор
Життєво важливі системи,затверджені Управлінням зконтролю за продуктами таліками (США)
ПЗ контроля за супутниками
Мобільні телефони
Деякі найбільші додатки що широковикористовуються
Комерційне ПЗ
Розробка на замовлення
Проекти з фіксованою вартістю
ISO 9001-сертифіковані додатки
Вбудовані системи
24x7 системи з вимогами 99.999%
Створення «Уніфікованоговинищувача-бомбардувальника»
Основні характеристикиСамоорганізовані команди
Продукт розробляється “спринтами”, один не більше місяця
Усі вимоги записуються у вигляді одного списку “беклогапродукту”
Інженерні практики не є частиною Scrum
Використовує прості правила для створення гнучкогосередовища розробки проектів
Один з “Agile процесів”
Scrum
Структура Scrum
Планування спринта
Кожен відповідає на три питання
Це НЕ статусний звіт Scrum-майстру!
Це обов’язки перед колегами
Беклог продуктуВимоги
Список бажаного функціоналу
В ідеалі написаний так, щоб коженелемент мав значення длякінцевого користувача
Пріоритети виставляютьсяВласником продукту
Пріоритеты оновлюються на початкуспринта
Приклад беклогу продуктуБеклог Оцінка
Як гість, я хочу резервувати номер 3
Як гість, я хочу відмінити резервацію 5
Як гість, я хочу змінити дату резервації 3
Як співробітник готелю, я хочу проглядати звіти 8
Покращити обробку виключень 8
... 30
... 50
Приклад беклога спринтаАктивності Пн Вт Ср Чт Пт
Зробити інтерфейс користувача 8 4 8
Зробити логіку 16 12 10 4
Протестувати логіку 8 16 16 11 8
Написати документаціюкористувача
12
Винести утілити в загальний клас 8 8 8 8 8
Додати журнал помилок 8 4
Спринт burndown chart
Модель
Посилання
https://hbr.org/2016/04/the-secret-history-of-agile-innovationhttps://www.slideshare.net/Cartmendum/intro-2-leanhttp://www.management.com.ua/qm/qm061.htmlhttp://www.mountaingoatsoftware.com/agile/scrum
Майк Кон [email protected]://ronjeffries.com/xprog/book/whatisxp/ https://www.scrumalliance.org/https://www.codeproject.com/articles/1064114/agile-software-development-basicshttps://habrahabr.ru/post/64997/
Питання та обговорення“Анатолій Охотніков”
Дякую!