Методологии разработки ПО
Лекции 5,6
(с) , 2010
ОБЗОР МЕТОДОЛОГИЙ
(с) , 2010
Самые популярные
(с) , 2010
ВОДОПАДНАЯ МОДЕЛЬ
(с) , 2010
А что это такое
Чем позднее найдена ошибка, тем дороже она обходится Качественный анализ бизнес-задач обеспечивает стабильность требований Традиции классической инженерии PMBOK 1.0 - 3.0
(с) , 2010
Стоимость ошибок
(с) , 2010
Итерационная модель
Разработка итерациями Риски распределены более равномерно 1970й и позже PMBOK 4.0
(с) , 2010
УНИФИЦИРОВАННЫЙ ПРОЦЕСС
(с) , 2010
Цель
Гарантировать высокое качество продукта, отвечающего требованиям заказчика, в пределах предсказуемого временного графика и бюджета
(с) , 2010
Жизненный цикл
Жизненный цикл проекта (Фазы) Начало (Inception) Проектирование (Elaboration) Построение (Construction) Внедрение (Transition) Для каждой фазы определяется Цели Вехи (milestones) Состояние артефактов Действия в фазе (use cases)
(с) , 2010
Жизненный цикл
(с) , 2010
Деятельности
Основные деятельности Бизнес-моделирование (Business modeling) Управление требованиями (Requirements) Анализ и Проектирование (Analysis and Design) Реализация (Implementation) Тестирование (Test) Развертывание (Deployment) Вспомогательные Управление проектом (Project management) Управление изменениями (Change management) Среда (Environment)
(с) , 2010
Структура деятельности
Элементы деятельности Роли (Roles): кто? Действия (Tasks): как? Артефакты (Work Products): что получаем? Описание деятельностей (диаграммы) Краткий обзор действий (все действия и все роли, задействованные в деятельности) Краткий обзор артефактов (все артефакты и все роли) Детали деятельности (группировки действий, артефактов, ролей)
(с) , 2010
Ключевые практики
(с) , 2010
Ключевые особенности
(с) , 2010
Вариации и развития RUP
Agile Unified Process http://www.ambysoft.com/unifiedprocess/agileUP.html Essential Unified Process (EssUP) http://www.ivarjacobson.com/ OpenUP http://epf.eclipse.org/wikis/openup/index.htm Enterprise Unified Process http://epf.eclipse.org/wikis/openup/index.htm
(с) , 2010
ГИБКИЕ МЕТОДОЛОГИИ
(с) , 2010
Манифест
(с) , 2010
Гибкие методологии - принципы
Удовлетворение клиента за счёт ранней и бесперебойной поставки ценного ПО Приветствие изменения требований, даже в конце разработки. Это может повысить конкурентоспособность полученного продукта Частая поставка рабочего ПО (каждый месяц или неделю или ещё чаще) Тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта Проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием. Рабочее ПО — лучший измеритель прогресса
(с) , 2010
Гибкие методологии – принципы
Рекомендуемый метод передачи информации это личный разговор (лицом к лицу) Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределенный срок Постоянное внимание на улучшение технического мастерства и удобный дизайн Простота — искусство НЕ делать лишней работы Лучшие архитектура, требования и дизайн получаются у самоорганизованной команды Постоянная адаптация(улучшение эффективности работы) к изменяющимся обстоятельствам
(с) , 2010
ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ
(с) , 2010
4 ценности XP
(с) , 2010
Практики XP (ver 1.0)
(с) , 2010
Практики XP (ver 1.0)
• Коллективное владение (collective ownership • Непрерывная интеграция (continuous integration) • 40-часовая неделя (40-hour week) • Заказчик на месте разработки (on-site customer) • Стандарты кодирования (coding standards)
(с) , 2010
Роли в XP
(с) , 2010
Ключевые слова
Автоматизированный тест (automated test) Версия (release) График выполнения работ (commitment schedule) Заказчик (customer) Игра в планирование (Planning Game) Идеальное время программирования (Ideal programming time) Инженерная задача (engineering task) Инструктор (coach) Исследование (exploration)
(с) , 2010
Ключевые слова
История (story) Итерация (iteration) Менеджер (manager). Партнер (partner) Переоценка (reestimation) Переработка (refactoring) План итерации (iteration plan) Программирование парами (pair programming) Программист (programmer)
(с) , 2010
Ключевые слова
Производство (production) Ревизор (tracker) Регенерация (recovery) Системная метафора (system metaphor) Скорость команды (team speed). Тест модуля (unit test) Тестовый случай (test case) Фактор (коэффициент) нагрузки (load factor) Функциональный тест (functional test). Энтропия (entropy)
(с) , 2010
XP 2.0 - Ценности
(с) , 2010
XP 2.0 - Принципы
Человечность Economics Взаимная выгода Сходство Все лучше и лучше Разнообразие Обдумывание
Поток Новые возможности Избыточность Неудачи Качество Малые шажки Ответственность
(с) , 2010
XP 2.0 - Практики
Рассказы Еженедельный цикл Ежеквартальный цикл Слабые задачи
Доверие Ритм Инкрементное программирование Сначала тесты Программирование по-ковбойски Слаженность и единство
(с) , 2010
XP 2.0 - Практики
Работа в одном помещении Команда как одно целое Информативность окружения Энергичная работа Парное программирование
Десятиминутная сборка Постоянная интеграция
(с) , 2010
XP 2.0 – дополнительные практики
Непосредственное вовлечение заказчика Инкрементная поставка продукта Контракт с оговоренным объемом работ Плата за использование Код и тесты Общий код Единая база кода Ежедневная поставка системы
Постоянство «Усушка и утряска» Анализ причин и следствий
(с) , 2010
SCRUM
(с) , 2010
Жизненный цикл
Sprint – основной цикл разработки
(с) , 2010
Роли
Pigs ScrumMaster Product Owner Team Chickens Users Stakeholders Experts
(с) , 2010
Артефакты
Артефакты Product backlog Sprint backlog Burn down Собрания Planning meeting Daily Scrum Demo meeting Retrospective Meeting
(с) , 2010
Практики
(с) , 2010
ЛЮДИ В РАЗРАБОТКЕ ПО
(с) , 2010
Человек – нелинейный и наиболее важный компонент при создании программного обеспечения Алистер Коуберн
(с) , 2010
И простой вывод
Любые организационные, управленческие, технические, архитектурные решения должны учитывать (и опираться) на конкретных людей.
(с) , 2010
Практики
(с) , 2010
Поиск людей
(с) , 2010
Поиск людей
(с) , 2010
Карьера
(с) , 2010
Чем удержать
(с) , 2010
Заметки россыпью
(с) , 2010
Ссылки и литература
Общее Алистер Коуберн «Каждому проекту – своя методология» RUP Крачтен «Введение в RUP» XP Кент Бек «Экстремальное программирование» Scrum http://www.infoq.com/minibooks/scrum-xp-from-the-trenches http://scrumtrek.ru/files/bibitchev_scrum.pdf
(с) , 2010
Ссылки и литература
Алистер Коуберн «Люди, как неленейные и наиболее важные компоненты в создании
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.