SlideShare a Scribd company logo
1 of 62
Жизненный цикл
программного обеспечения
         Тема № 2
Почему «цикл»?
Почему «цикл»?
Почему «цикл»?
Жизненный цикл ПО (AL)
Эдвард Деминг
       Американский ученый-
         статистик, консультант
         по теории управления
         качеством.
         Основоположник
         концепции
         «бережливого
         производства» (lean
         manufacturing)
Цикл Деминга (PDCA)
Определение AL
• Жизненный цикл программного
  обеспечения (ПО) — период времени,
  который начинается с момента принятия
  решения о необходимости создания
  программного продукта и заканчивается в
  момент его полного изъятия из
  эксплуатации
                           Стандарт IEEE 610.12
Разные модели AL
• Модель AL – это способ организации
  процессов разработки, внедрения и
  сопровождения программного
  обеспечения
• Модель AL – это способ, которым решили
  потратить время жизненного цикла ALб
Примитивная модель AI:
     Code & Fix
Стадии и активности AL
Модели AL
• «Водопадная»
  – Стадии проходятся последовательно с
    максимальным качеством приближения к
    заданному результату. Итерации внутри
    стадий.
• «Спиральная»
  – Стадии укорачиваются и проходятся
    итеративно, каждая итерация приближает к
    промежуточному результату. Стадии внутри
    итераций.
Уинстон Ройс
      Американский
        менеджер в сфере
        разработки ПО,
        руководитель Центра
        программных
        технологий компании
        «Локхид». В 1970 г.
        опубликовал работу с
        описанием
        «водопадной» модели
Водопадная модель AL
Три амиго
Rational Unfied Process (RUP)
Читаем
 А. Якобсон
 Г. Буч
 Дж. Рамбо
 Унифицированный
    процесс разработки
    программного
    обеспечения
Барри Боэм
     Директор отдела
       исследований програм
       много обеспечения и
       технологий
       аэрокосмической
       корпорации TRW.
       Автор метода оценки
       затрат на разработку
       ПО COCOMO и
       спиральной модели AI.
Спиральная модель AL
Спиральная модель AL
Спиральная модель AL
Время в водопадной модели AL
Время в спиральной модели AL
Гибкая разработка (Agile)
Гибкая разработка (Agile)
             • Жизненный цикл
               состоит из
               повторяющихся
               итераций
             • Каждая итерация
               содержит все стадии
             • Результатом итераций
               является выпуск
               законченной версии
               продукта
Основные идеи Agile
• Личности и их взаимодействия важнее, чем
  процессы и инструменты;
• Работающее программное обеспечение
  важнее, чем полная документация;
• Сотрудничество с заказчиком важнее, чем
  контрактные обязательства;
• Реакция на изменения важнее, чем
  следование плану.
                            Agile Manifesto, 2001
Принципы Agile
• удовлетворение клиента за счёт ранней и
  бесперебойной поставки ценного ПО;
• приветствие изменений требований, даже в конце
  разработки (это может повысить
  конкурентоспособность полученного продукта);
• частая поставка рабочего ПО (каждый месяц или
  неделю или ещё чаще);
• тесное, ежедневное общение заказчика с
  разработчиками на протяжении всего проекта;

                                   Agile Manifesto, 2001
Принципы Agile
• проектом занимаются мотивированные личности,
  которые обеспечены нужными условиями работы,
  поддержкой и доверием;
• рекомендуемый метод передачи информации —
  личный разговор (лицом к лицу);
• работающее ПО — лучший измеритель прогресса;
• спонсоры, разработчики и пользователи должны
  иметь возможность поддерживать постоянный
  темп на неопределенный срок;

                                  Agile Manifesto, 2001
Принципы Agile
• постоянное внимание на улучшение
  технического мастерства и удобную
  архитектуру;
• простота — искусство НЕ делать лишней
  работы;
• лучшие технические требования и архитектура
  получаются у самоорганизованной команды;
• постоянная адаптация к изменяющимся
  обстоятельствам.
                               Agile Manifesto, 2001
Варианты методологий Agile
• SCRUM
• Экстремальное программирование
  (eXtreme Programming, XP)
• Бережливая разработка (Lean
  Development); Kanban
SCRUM
Джефф Сазерленд, Кен Швабер
SCRUM
SCRUM: Burndown diagram
SCRUM: Burndown diagram
SCRUM: Task board
Максим Дорофеев
               Руководитель отдела
                 разработки Лаборатории
                 Касперского.

               Возможно, один из лучших
                 IT-менеджеров России.




http://cartmendum.livejournal.com/
Дорофеев: История одной доски
Дорофеев: История одной доски
Дорофеев: История одной доски
Дорофеев: История одной доски
Читаем
 Хенрик Книберг
 SCRUM и XP: Заметки
   с передовой. Как
   мы делаем SCRUM
eXtreme programming
Кент Бек, Уорд Каннингем
eXtreme programming (XP)
Более технологичная методология, чем
  SCRUM
Фокус не только на человеческом
  взаимодействии, но и на инженерных
  практиках
12 основных практик XP
• Короткий цикл обратной связи (Fine scale feedback)
    –   Заказчик всегда рядом (Whole team, Onsite customer)
    –   Игра в планирование (Planning game)
    –   Разработка через тестирование (Test driven development)
    –   Парное программирование (Pair programming)
• Непрерывный, а не пакетный процесс
    – Непрерывная интеграция (Continuous Integration)
    – Рефакторинг (Design Improvement, Refactor)
    – Частые небольшие релизы (Small Releases)
• Понимание, разделяемое всеми
    – Простота (Simple design)
    – Метафора системы (System metaphor)
    – Коллективное владение кодом (Collective code ownership) или
      выбранными шаблонами проектирования (Collective patterns ownership)
    – Стандарты кодирования (Coding standard or Coding conventions)
• Социальная защищенность программиста (Programmer welfare):
    – 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
Читаем
 Кент Бек
 Экстремальное
  программирование
Читаем
Кент Бек,
Мартин Фаулер
Экстремальное
 программирование:
 Планирование
Читаем
Кент Бек,
Экстремальное
 программирование:
 Разработка через
 тестирование
Kanban
Kanban
• Kanban – это метод «гладкого и
  непрерывного» выполнения
  производственного процесса
• Это часть методологии «бережливого
  производства» (Lean Manufacturng)
• Разработано в Производственной системе
  компании Toyota (Toyota Production System,
  TPS) и подсмотрено американцами.
Толстая книжка
       Джеффри Лайкер
       Дао «Тойота»: 14
        принципов
        менеджмента
        ведущей
        компании мира
Смотрим презентацию
                         Максим Дорофеев
                         Lean: Принципы
                           бережливого
                           производства




http://www.slideshare.net/Cartmendum/intro-2-lean
Таичи Оно
7 принципов Lean
1. Убираем потери
2. Встраиваем качество
3. Постоянное обучение
4. Откладывать обещания на более позднее
   время
5. Доставлять заказчику как можно быстрее
6. Уважать людей и доверять им
7. Оптимизировать целое, а не частности
7 видов потерь
1.   Не полностью сделанная работа
2.   Лишние возможности
3.   Изучение заново
4.   Слишком длинная цепочка
5.   Переключение с задачи на задачу
6.   Задержки
7.   Дефекты
Kanban
Читаем
   Хенрик Книберг
   Маттиас Скарин
   Scrum и Kanban:
     выжимаем
     максимум
Выпуск продукта в «водопаде» и
     итеративной модели
Выбор модели AL
•   В зависимости от размера проекта
•   Его типичности или новизны
•   Выделенного на него времени
•   Состава и опыта команды
•   Требований заказчика
Вопросы для реферата
• Какая модель жизненного цикла Вам лично
  ближе?
• Почему?
• Как можно было бы применить полученные
  знания в учебном процессе или на
  (будущей) работе?

More Related Content

What's hot

CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest
 
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Denis Tuchin
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignAndrey Bibichev
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…Mikhail Payson
 
Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Mikhail Payson
 
карта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шагикарта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шагиCOMAQA.BY
 
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаПромышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаMikhail Payson
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППPavel Gabriel
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипированиеMaxim Gaponov
 
многогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерахмногогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерахCOMAQA.BY
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU
 
7 Способы проведения ретроспектив для анализа и улучшения процесса
7 Способы проведения ретроспектив для анализа и улучшения процесса7 Способы проведения ретроспектив для анализа и улучшения процесса
7 Способы проведения ретроспектив для анализа и улучшения процессаMagneta AI
 
карта IT профессий
карта IT профессийкарта IT профессий
карта IT профессийCOMAQA.BY
 
Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.Arseny Kravchenko
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ruRoman Ivliev
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективыMagneta AI
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...ScrumTrek
 
Денис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметилДенис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметилDenis Tuchin
 

What's hot (20)

CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиков
 
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
Денис Тучин - Удачные и неудачные паттерны распределённого Agile (Agile Days ...
 
Обзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven DesignОбзор Feature-Driven Development и Domain-Driven Design
Обзор Feature-Driven Development и Domain-Driven Design
 
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…Промышленная разработка ПО. Лекция 4. Особенности работы программиста.  Ча…
Промышленная разработка ПО. Лекция 4. Особенности работы программиста. Ча…
 
Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)Как отучить программиста колбасить (Прагматик 2012)
Как отучить программиста колбасить (Прагматик 2012)
 
User Story Canvas
User Story CanvasUser Story Canvas
User Story Canvas
 
карта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шагикарта It профессий, точки входа, первые шаги
карта It профессий, точки входа, первые шаги
 
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитикаПромышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
Промышленная разработка ПО. Лекция 6. Особенности работы системного аналитика
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Обязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ПППОбязательные практики Agile-проекта и правило ППП
Обязательные практики Agile-проекта и правило ППП
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
 
многогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерахмногогранная профессия тестировщика глазами с++ разработчика в примерах
многогранная профессия тестировщика глазами с++ разработчика в примерах
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
7 Способы проведения ретроспектив для анализа и улучшения процесса
7 Способы проведения ретроспектив для анализа и улучшения процесса7 Способы проведения ретроспектив для анализа и улучшения процесса
7 Способы проведения ретроспектив для анализа и улучшения процесса
 
карта IT профессий
карта IT профессийкарта IT профессий
карта IT профессий
 
Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.Продуктовая платформа, продуктовый аналитик.
Продуктовая платформа, продуктовый аналитик.
 
Как мы делаем Banki.ru
Как мы делаем Banki.ruКак мы делаем Banki.ru
Как мы делаем Banki.ru
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
Александр Сербул. Прикладное XP в «1С-Битрикс»: как развивать продукт более 1...
 
Денис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметилДенис Тучин - Как внедрить Agile, чтобы никто не заметил
Денис Тучин - Как внедрить Agile, чтобы никто не заметил
 

Similar to Практические аспекты разработки ПО #2

Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки поJaneKozmina
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Анастасия Виноградова
 
вольфсон основы Agile
вольфсон   основы Agileвольфсон   основы Agile
вольфсон основы AgileMagneta AI
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Andrii Gakhov
 
Инструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / ScrumИнструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / ScrumDenis Tuchin
 
Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.Project Management Institute (PMI) in Ufa
 
Nfilippov. Something About Agile
Nfilippov. Something About AgileNfilippov. Something About Agile
Nfilippov. Something About AgileNikita Filippov
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаMarina Peregud
 
Введение в Scrum
Введение в ScrumВведение в Scrum
Введение в ScrumSergey Semyonov
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...
Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...
Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...Denis Tuchin
 
Agile methodologies workshop
Agile methodologies workshopAgile methodologies workshop
Agile methodologies workshopAlexey Ilyichev
 

Similar to Практические аспекты разработки ПО #2 (20)

Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки по
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
 
Методоллогии Agile
Методоллогии AgileМетодоллогии Agile
Методоллогии Agile
 
Agile testing
Agile testingAgile testing
Agile testing
 
вольфсон основы Agile
вольфсон   основы Agileвольфсон   основы Agile
вольфсон основы Agile
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
 
Инструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / ScrumИнструменты гибкого управления: Agile / Kanban / Scrum
Инструменты гибкого управления: Agile / Kanban / Scrum
 
Quality assurance
Quality assuranceQuality assurance
Quality assurance
 
Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.Гибкие методологии при создании ИТ продукта.
Гибкие методологии при создании ИТ продукта.
 
Nfilippov. Something About Agile
Nfilippov. Something About AgileNfilippov. Something About Agile
Nfilippov. Something About Agile
 
Scrum Wars
Scrum WarsScrum Wars
Scrum Wars
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
 
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина ШалапановаIt talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
It talk №23: "Если не Scrum, то что?", Екатерина Шалапанова
 
Введение в Scrum
Введение в ScrumВведение в Scrum
Введение в Scrum
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...
Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...
Денис Тучин - Почему всегда не успеваем QA? Как могут помочь гибкие методы в ...
 
Agile methodologies workshop
Agile methodologies workshopAgile methodologies workshop
Agile methodologies workshop
 

Практические аспекты разработки ПО #2

  • 6. Эдвард Деминг Американский ученый- статистик, консультант по теории управления качеством. Основоположник концепции «бережливого производства» (lean manufacturing)
  • 8. Определение AL • Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации Стандарт IEEE 610.12
  • 9. Разные модели AL • Модель AL – это способ организации процессов разработки, внедрения и сопровождения программного обеспечения • Модель AL – это способ, которым решили потратить время жизненного цикла ALб
  • 12. Модели AL • «Водопадная» – Стадии проходятся последовательно с максимальным качеством приближения к заданному результату. Итерации внутри стадий. • «Спиральная» – Стадии укорачиваются и проходятся итеративно, каждая итерация приближает к промежуточному результату. Стадии внутри итераций.
  • 13. Уинстон Ройс Американский менеджер в сфере разработки ПО, руководитель Центра программных технологий компании «Локхид». В 1970 г. опубликовал работу с описанием «водопадной» модели
  • 17. Читаем А. Якобсон Г. Буч Дж. Рамбо Унифицированный процесс разработки программного обеспечения
  • 18. Барри Боэм Директор отдела исследований програм много обеспечения и технологий аэрокосмической корпорации TRW. Автор метода оценки затрат на разработку ПО COCOMO и спиральной модели AI.
  • 25. Гибкая разработка (Agile) • Жизненный цикл состоит из повторяющихся итераций • Каждая итерация содержит все стадии • Результатом итераций является выпуск законченной версии продукта
  • 26. Основные идеи Agile • Личности и их взаимодействия важнее, чем процессы и инструменты; • Работающее программное обеспечение важнее, чем полная документация; • Сотрудничество с заказчиком важнее, чем контрактные обязательства; • Реакция на изменения важнее, чем следование плану. Agile Manifesto, 2001
  • 27. Принципы Agile • удовлетворение клиента за счёт ранней и бесперебойной поставки ценного ПО; • приветствие изменений требований, даже в конце разработки (это может повысить конкурентоспособность полученного продукта); • частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще); • тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта; Agile Manifesto, 2001
  • 28. Принципы Agile • проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием; • рекомендуемый метод передачи информации — личный разговор (лицом к лицу); • работающее ПО — лучший измеритель прогресса; • спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок; Agile Manifesto, 2001
  • 29. Принципы Agile • постоянное внимание на улучшение технического мастерства и удобную архитектуру; • простота — искусство НЕ делать лишней работы; • лучшие технические требования и архитектура получаются у самоорганизованной команды; • постоянная адаптация к изменяющимся обстоятельствам. Agile Manifesto, 2001
  • 30. Варианты методологий Agile • SCRUM • Экстремальное программирование (eXtreme Programming, XP) • Бережливая разработка (Lean Development); Kanban
  • 31. SCRUM
  • 33. SCRUM
  • 37. Максим Дорофеев Руководитель отдела разработки Лаборатории Касперского. Возможно, один из лучших IT-менеджеров России. http://cartmendum.livejournal.com/
  • 42. Читаем Хенрик Книберг SCRUM и XP: Заметки с передовой. Как мы делаем SCRUM
  • 44. Кент Бек, Уорд Каннингем
  • 45. eXtreme programming (XP) Более технологичная методология, чем SCRUM Фокус не только на человеческом взаимодействии, но и на инженерных практиках
  • 46. 12 основных практик XP • Короткий цикл обратной связи (Fine scale feedback) – Заказчик всегда рядом (Whole team, Onsite customer) – Игра в планирование (Planning game) – Разработка через тестирование (Test driven development) – Парное программирование (Pair programming) • Непрерывный, а не пакетный процесс – Непрерывная интеграция (Continuous Integration) – Рефакторинг (Design Improvement, Refactor) – Частые небольшие релизы (Small Releases) • Понимание, разделяемое всеми – Простота (Simple design) – Метафора системы (System metaphor) – Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) – Стандарты кодирования (Coding standard or Coding conventions) • Социальная защищенность программиста (Programmer welfare): – 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
  • 47. Читаем Кент Бек Экстремальное программирование
  • 48. Читаем Кент Бек, Мартин Фаулер Экстремальное программирование: Планирование
  • 49. Читаем Кент Бек, Экстремальное программирование: Разработка через тестирование
  • 51. Kanban • Kanban – это метод «гладкого и непрерывного» выполнения производственного процесса • Это часть методологии «бережливого производства» (Lean Manufacturng) • Разработано в Производственной системе компании Toyota (Toyota Production System, TPS) и подсмотрено американцами.
  • 52. Толстая книжка Джеффри Лайкер Дао «Тойота»: 14 принципов менеджмента ведущей компании мира
  • 53. Смотрим презентацию Максим Дорофеев Lean: Принципы бережливого производства http://www.slideshare.net/Cartmendum/intro-2-lean
  • 55. 7 принципов Lean 1. Убираем потери 2. Встраиваем качество 3. Постоянное обучение 4. Откладывать обещания на более позднее время 5. Доставлять заказчику как можно быстрее 6. Уважать людей и доверять им 7. Оптимизировать целое, а не частности
  • 56. 7 видов потерь 1. Не полностью сделанная работа 2. Лишние возможности 3. Изучение заново 4. Слишком длинная цепочка 5. Переключение с задачи на задачу 6. Задержки 7. Дефекты
  • 58.
  • 59. Читаем Хенрик Книберг Маттиас Скарин Scrum и Kanban: выжимаем максимум
  • 60. Выпуск продукта в «водопаде» и итеративной модели
  • 61. Выбор модели AL • В зависимости от размера проекта • Его типичности или новизны • Выделенного на него времени • Состава и опыта команды • Требований заказчика
  • 62. Вопросы для реферата • Какая модель жизненного цикла Вам лично ближе? • Почему? • Как можно было бы применить полученные знания в учебном процессе или на (будущей) работе?