Скачать презентацию Экстремальное программирование ХР Что такое XP Скачать презентацию Экстремальное программирование ХР Что такое XP

XP.pptx

  • Количество слайдов: 38

Экстремальное программирование ХР Экстремальное программирование ХР

Что такое XP? Что такое XP?

Waterfall • Все требования должны быть определены и детально описаны до начала разработки; • Waterfall • Все требования должны быть определены и детально описаны до начала разработки; • Дорого и медленно; • Чувствителен к изменениям; • Мало возможностей для конечного пользователя повлиять на цели проекта и требования к продукту; • Зачастую проблемы выявляются на этапе тестирования; • Много документации, много технической документации, которая не понятна конечному пользователю или заказчику.

Agile. Основные идеи • люди и взаимодействие важнее процессов и инструментов; • работающий продукт Agile. Основные идеи • люди и взаимодействие важнее процессов и инструментов; • работающий продукт важнее исчерпывающей документации; • сотрудничество с заказчиком важнее согласования условий контракта; • готовность к изменениям важнее следования первоначальному плану.

Риски? Риски?

Примеры рисков • • Смещение графиков Закрытие проекта Система теряет полезность Количество дефектов и Примеры рисков • • Смещение графиков Закрытие проекта Система теряет полезность Количество дефектов и недочетов Несоответствие решаемой проблеме Изменение характера бизнеса Недостаток возможностей Текучка кадров

XP как управление авто XP как управление авто

Тройственная ограниченность Тройственная ограниченность

Объем работы Объем работы

4 ценности • Коммуникация • Простота • Обратная связь • Храбрость 4 ценности • Коммуникация • Простота • Обратная связь • Храбрость

Фундаментальные принципы • быстрая обратная связь; • приемлемая простота; • постепенное изменение; • приемлемое Фундаментальные принципы • быстрая обратная связь; • приемлемая простота; • постепенное изменение; • приемлемое изменение; • качественная работа.

Основные приёмы • • • Игра в планирование Небольшие версии Метафора Просто дизайн Тестирование Основные приёмы • • • Игра в планирование Небольшие версии Метафора Просто дизайн Тестирование Рефакторинг Парное программирование Коллективное владение кодом Непрерывная интеграция Заказчик всегда рядом Стандарты кодирования 40 часовая рабочая неделя

Метафора Метафора

Игра в планирование Игра в планирование

Цели • Собрать команду вместе • Определить объем работ • Оценить затраты и график Цели • Собрать команду вместе • Определить объем работ • Оценить затраты и график работ • Добиться появления у каждого заинтересованного лица ощущения того, что система действительно может быть реализована • Определить исходные данные для обратной связи

Планирование релиза(1 -6 мес. ) 1. Фаза исследований – Написание истории – Оценка истории Планирование релиза(1 -6 мес. ) 1. Фаза исследований – Написание истории – Оценка истории (планинг покер) – Разделение истории 2. Фаза передачи – – Сортировка в соответствии с ценностью Сортировка в соответствии с риском Определение скорости Определение объема работ 3. Управляющая фаза – – Итерация Регенерация Новая история Переоценка

Планирование итерации(1 -3 нед. ) 1. Фаза исследования – Написание задачи – Разделение задачи/комбинация Планирование итерации(1 -3 нед. ) 1. Фаза исследования – Написание задачи – Разделение задачи/комбинация задач 2. Фаза подтверждения – – Принятие задачи Оценка задачи Определение фактора нагрузки Балансировка 3. Фаза управления – – Реализация задачи Отслеживание прогресса Регенерация Проверка истории

Простой дизайн vs Простой дизайн vs

Программисты любят делать так Программисты любят делать так

Небольшие релизы Небольшие релизы

Тестирование Тестирование

Виды тестов • Модульные тесты • Функциональные тесты • и другие Виды тестов • Модульные тесты • Функциональные тесты • и другие

Разработка через тестирование Разработка через тестирование

Бонусы от TDD • • • уверенность в работоспособности безболезненное внесение изменений можно посмотреть Бонусы от TDD • • • уверенность в работоспособности безболезненное внесение изменений можно посмотреть на свой код со стороны некий аналог документации меньшее время отладки уменьшение зависимостей

Заказчик всегда рядом Заказчик всегда рядом

Рефакторинг Рефакторинг

Признаки плохого кода • • дублирование кода; длинный метод; большой класс; длинный список параметров; Признаки плохого кода • • дублирование кода; длинный метод; большой класс; длинный список параметров; «жадные» функции; избыточные временные переменные; классы данных; несгруппированные данные

Методы рефакторинга • • Выделение класса Выделение метода Выделение локальной переменной Переименование метода Перемещение Методы рефакторинга • • Выделение класса Выделение метода Выделение локальной переменной Переименование метода Перемещение метода Инкапсуляция поля Введение параметра И т. д.

Парное программирование Парное программирование

Непрерывная интеграция Непрерывная интеграция

Процесс CI Процесс CI

Коллективное владение Коллективное владение

Стандарты кодирования Стандарты кодирования

40 -часовая рабочая неделя 40 -часовая рабочая неделя

Как это работает? Как это работает?

Еще раз Еще раз