SlideShare une entreprise Scribd logo
1  sur  76
Обязательные
 практики Agile
       и
правило 3-х П
Павел Габриель
agile-практик, программист, руководитель
          ООО “Смарт системз”
Вопросы?
Поговорим о

• Почему инженерные практики важны
• Обязательные практики Agile-проекта
• Правила успешного применения
Agile
Кто работает по Agile?
Что такое Agile?
Agile - это культура
разработки ПО
                http://www.flickr.com/photos/8363028@N08/3546340983/
Ценности
Принципы
нет практик!
Agile !=    XP
Agile != Scrum
Agile != Lean
       ...
3 принципа
Изменения
 на любой стадии
Частые релизы
Рабочее ПО
основной показатель прогресса
Качество?
Практики
Какие практики
используете вы?
Популярные практики
  не обеспечивают должного качества
•   Коммуникации
•   Самоорганизация
• ...
• Качество кода
Стремление к
уменьшению практик
XP > 20
Scrum ~ 10
Kanban = 3
Два варианта
 обеспечить качество




                       http://www.flickr.com/photos/freddy-click-boy/3221177018/
1.
QA, QC, etc.
Расходы

• Коммуникации
• Документация
• Контроль
• Планирование
2.
    практики
улучшающие качество продукта
Расходы


• На обучение
• Внедрение
Какие практики
обязаны быть в
Agile-проекте?
TDD
Test Driven Development
Тест > Код
•Red
• Green
• Refactoring
TDD

• Меньше ошибок
• Уверенность
• Смелость
• Definition of Done
• ...
Проблемы
BDD - замена понятий
Как это делаем мы?
Ruby/Rails
Continuous Integration
Легкие интеграции




            http://www.flickr.com/photos/myklroventine/3261364899/
CI часто включает

• Сборка
• Тестирование
• “Выкатка”
Как мы это делаем?
“Фича” / на команду
Завершили задачу

• Проинтегрировались
• Запустили все тесты
• Commit
Завершили “фичу”

• “склеили” с основной ветокой
• запустили тесты
• Commit
Выкатываем

• Staging
• Автоматическое тестирование
• ОК
• аналогично для Production
Refactoring
Улучшение кода
без изменения внешнего поведения
Что нам дает?
Уменьшение
стоимости изменений
Поддержка новой
функциональности
Оптимизация
...В долг не бери и взаймы не давай;
Легко и ссуду потерять и друга,
А займы тупят лезвие хозяйства.

                                 У. Шекспир
# TODO ...
Списки-копилки




                 http://www.flickr.com/photos/pewari/3566819343/
Займы


• Доведение до идеала
• Безудержный рефакторинг :)
Как лучше делать?
Не отходя от кассы
       далеко...
Отдельная итерация
     в крайнем случае
ППП
Просто
любое движение - затраты
Приятно
правильное подкрепление
Постоянно
чтобы было просто и приятно
ППП
- минимум для успеха
Из жизни
 подтверждение
Прием пищи
Просто
после долгих тренировок
Приятно
Если приготовить аппетитно
Постоянно
жизненная необходимость
Мой опыт и ППП
Индикатор плохого
     дизайна
     сложные тесты
Неправильное
применение TDD
 большие и сложные функции
Отказ от TDD
 медленный компьютер
Проблемные
“выкатки”, “билды” и
        т.п.
      сложный алгоритм
Проблемные
 интеграции
сложная система контроля версий
Итоги


• Обязательные практики: TDD, CI, Refactoring
• Делайте все Просто/Приятно/Постоянно
Спасибо за внимание!
        Вопросы?

Contenu connexe

Tendances

безуглый гибкая стратегия (Agile strategy)
безуглый   гибкая стратегия (Agile strategy)безуглый   гибкая стратегия (Agile strategy)
безуглый гибкая стратегия (Agile strategy)Magneta AI
 
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Denis Tuchin
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)Magneta AI
 
как убить поставку скрамом
как убить поставку скрамомкак убить поставку скрамом
как убить поставку скрамомAlexey Ilyichev
 
лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-командыMagneta AI
 
Agile Coach и Scrum Master как руководители нового типа
Agile Coach и Scrum Master как руководители нового типаAgile Coach и Scrum Master как руководители нового типа
Agile Coach и Scrum Master как руководители нового типаAskhat Urazbaev
 
Статегия agile-трансформации крупной компании
Статегия agile-трансформации крупной компанииСтатегия agile-трансформации крупной компании
Статегия agile-трансформации крупной компанииAskhat Urazbaev
 
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...ScrumTrek
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в AgileAskhat Urazbaev
 
щеголев по ту сторону баррикад
щеголев   по ту сторону баррикадщеголев   по ту сторону баррикад
щеголев по ту сторону баррикадMagneta AI
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектамиMikhail Sofonov, PMP, P2M, PRINCE2
 
Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.
Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.
Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.ScrumTrek
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAlexey Deryushkin
 
Пусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile PiterПусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile Piterazheglov
 
Частые ошибки Agile-трансформаций
Частые ошибки Agile-трансформацийЧастые ошибки Agile-трансформаций
Частые ошибки Agile-трансформацийDenis Tuchin
 
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...ScrumTrek
 
Введение в Scrum
Введение в Scrum Введение в Scrum
Введение в Scrum Nikita Filippov
 
Асхат Уразбаев. Agile Coach и Scrum Master как руководители нового типа
Асхат Уразбаев. Agile Coach и Scrum Master как руководители нового типаАсхат Уразбаев. Agile Coach и Scrum Master как руководители нового типа
Асхат Уразбаев. Agile Coach и Scrum Master как руководители нового типаScrumTrek
 
Борис Вольфсон. Agile ценности и принципы для новичков.
Борис Вольфсон. Agile ценности и принципы для новичков.Борис Вольфсон. Agile ценности и принципы для новичков.
Борис Вольфсон. Agile ценности и принципы для новичков.ScrumTrek
 
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.ScrumTrek
 

Tendances (20)

безуглый гибкая стратегия (Agile strategy)
безуглый   гибкая стратегия (Agile strategy)безуглый   гибкая стратегия (Agile strategy)
безуглый гибкая стратегия (Agile strategy)
 
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
 
вольфсон построение собственного Agile-фреймворка (шаблон)
вольфсон   построение собственного Agile-фреймворка (шаблон)вольфсон   построение собственного Agile-фреймворка (шаблон)
вольфсон построение собственного Agile-фреймворка (шаблон)
 
как убить поставку скрамом
как убить поставку скрамомкак убить поставку скрамом
как убить поставку скрамом
 
лобасев 3 ключевых навыка успешной agile-команды
лобасев   3 ключевых навыка успешной agile-командылобасев   3 ключевых навыка успешной agile-команды
лобасев 3 ключевых навыка успешной agile-команды
 
Agile Coach и Scrum Master как руководители нового типа
Agile Coach и Scrum Master как руководители нового типаAgile Coach и Scrum Master как руководители нового типа
Agile Coach и Scrum Master как руководители нового типа
 
Статегия agile-трансформации крупной компании
Статегия agile-трансформации крупной компанииСтатегия agile-трансформации крупной компании
Статегия agile-трансформации крупной компании
 
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
Владимир Завертайлов. Требовательность, мозгоклюйство и провокации: уровни уп...
 
Управление тестированием в Agile
Управление тестированием в AgileУправление тестированием в Agile
Управление тестированием в Agile
 
щеголев по ту сторону баррикад
щеголев   по ту сторону баррикадщеголев   по ту сторону баррикад
щеголев по ту сторону баррикад
 
Agile scrum - гибкое управление проектами
Agile   scrum - гибкое управление проектамиAgile   scrum - гибкое управление проектами
Agile scrum - гибкое управление проектами
 
Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.
Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.
Дмитрий Павлов. Бытовые трудности и анти-паттерны Agile-команд.
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в Райффайзенбанке
 
Пусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile PiterПусть Канбан будет странным - Agile Piter
Пусть Канбан будет странным - Agile Piter
 
Частые ошибки Agile-трансформаций
Частые ошибки Agile-трансформацийЧастые ошибки Agile-трансформаций
Частые ошибки Agile-трансформаций
 
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
Лилия Алексеева. Вальс Mrs. Agility и Mr. Waterfall - управление производство...
 
Введение в Scrum
Введение в Scrum Введение в Scrum
Введение в Scrum
 
Асхат Уразбаев. Agile Coach и Scrum Master как руководители нового типа
Асхат Уразбаев. Agile Coach и Scrum Master как руководители нового типаАсхат Уразбаев. Agile Coach и Scrum Master как руководители нового типа
Асхат Уразбаев. Agile Coach и Scrum Master как руководители нового типа
 
Борис Вольфсон. Agile ценности и принципы для новичков.
Борис Вольфсон. Agile ценности и принципы для новичков.Борис Вольфсон. Agile ценности и принципы для новичков.
Борис Вольфсон. Agile ценности и принципы для новичков.
 
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
Владимир Завертайлов. Выравнивание нагрузки в IT-компании: впихнуть невпихуемое.
 

Similaire à Обязательные практики Agile-проекта и правило ППП

Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий СтрелюкSQALab
 
Виталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в AgileВиталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в AgileSQADays_2009_Piter
 
Управление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить багиУправление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить багиSQALab
 
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.Anton Stoliar
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваSQALab
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAndrey Rebrov
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8Pavel Veinik
 
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITБесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITGoIT
 
Рефакторинг
РефакторингРефакторинг
РефакторингSmartStepGroup
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаMarina Peregud
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном миреTech Talks @NSU
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесуAndrey Rebrov
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Анастасия Виноградова
 
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибкиQA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибкиQAFest
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымVladimir Zavertaylov
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииCEE-SEC(R)
 
Automation Overview
Automation OverviewAutomation Overview
Automation OverviewKiraKeiss
 

Similaire à Обязательные практики Agile-проекта и правило ППП (20)

Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
Виталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в AgileВиталий Стрелюк, Постановка процесса тестирования в Agile
Виталий Стрелюк, Постановка процесса тестирования в Agile
 
Управление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить багиУправление качеством в Agile. Как опередить баги
Управление качеством в Agile. Как опередить баги
 
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
Anton Stoliar SQADays2012 Управление качеством в Agile. Как опередить баги.
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производства
 
Agile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформацииAgile тестирование в enterpise проектов: путь трансформации
Agile тестирование в enterpise проектов: путь трансформации
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITБесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Рефакторинг
РефакторингРефакторинг
Рефакторинг
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
 
Гибкие методологии разработки ПО в реальном мире
 Гибкие методологии разработки ПО в реальном мире Гибкие методологии разработки ПО в реальном мире
Гибкие методологии разработки ПО в реальном мире
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесу
 
Quality Assurance
Quality AssuranceQuality Assurance
Quality Assurance
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
 
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибкиQA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
QA Fest 2015. Aлександр Кузняк. Тестовая документация. How-To и типичные ошибки
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольным
 
Повышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документацииПовышение качества тестов и автоматическая валидация REST API документации
Повышение качества тестов и автоматическая валидация REST API документации
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 

Plus de Pavel Gabriel

Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSPavel Gabriel
 
Social factors in groups
Social factors in groupsSocial factors in groups
Social factors in groupsPavel Gabriel
 
ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.Pavel Gabriel
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRailsPavel Gabriel
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QAPavel Gabriel
 

Plus de Pavel Gabriel (7)

Immutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWSImmutable servers with Packer/Chef/AWS
Immutable servers with Packer/Chef/AWS
 
Social factors in groups
Social factors in groupsSocial factors in groups
Social factors in groups
 
ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.ActiveRecord::Callbacks. Готовим правильно.
ActiveRecord::Callbacks. Готовим правильно.
 
Pomodoro technique
Pomodoro techniquePomodoro technique
Pomodoro technique
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRails
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QA
 
Tdd from the middle
Tdd from the middleTdd from the middle
Tdd from the middle
 

Обязательные практики Agile-проекта и правило ППП