SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Управление разработкой
программного обеспечения
Александр Воронов
Video Group
CS MSU Graphics & Media Lab
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
2
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Мир глазами программиста
3
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
С другой стороны
4
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Заказчик — исполнитель
5
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Схема отношений
6
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Особенности отрасли
 Разработка программного обеспечения —
молодая отрасль
 Основная часть себестоимости продукта —
зарплата сотрудников
 Сложность оценки объёма работ
 Сложность объективной оценки качества
и сравнения с аналогами
7
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Особенности должности
 Необходимость планирования
 Когда будет готов конечный продукт?
 Ответственность
 Принятие решений
 Контроль качества
 Разгребание проблем
 Коммуникации
 Видение ситуации в целом и обеспечение
необходимой связи между участниками
8
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Особенности должности
Планирование
 Все хотят знать, что получится в конце
и когда этот конец настанет
 Программистам верить нельзя — они
слишком оптимистичны
 Нужно угадать и предусмотреть
 Время, деньги, количество людей
 Промежуточные и конечный результаты
 Возможные проблемы и пути их решения
9
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Особенности должности
Ответственность
 Каждый программист хочет отвечать
только за свой код
 У менеджера (ведущего разработчика)
шире зона ответственности
 Должно получиться то, что хочет заказчик
 Несмотря ни на что, всё должно быть в срок
 Не должно быть ситуаций, когда программисту
нечего делать — он скучает
 Если кто-то из программистов не справился —
отвечать менеджеру
10
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Особенности должности
Коммуникации
 Мир глазами программиста и мир глазами
заказчика — это разные вселенные
 Мир глазами разных программистов —
разные планеты
 Программисты — люди умные, но порой
своеобразные
11
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Особенности должности
Коммуникации
 Здоровая атмосфера в коллективе — залог
успеха проекта
 Плохая информированность участников
коллектива — одна из частых причин
провала
12
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Планирование
 Проектирование
 Реализация
 Невыполнение плана
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
13
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
О книге
 Фредерик Брукс
 Управлял разработкой OS/360 в IBM
 Награждён Премией Тьюринга
в 1999 году
 «Мифический человеко-месяц
или Как создаются программные
системы» — 1975 год (1995 — 2-е издание)
14
http://ru.wikipedia.org/wiki/Брукс,_Фред
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Планирование
 Чтобы сделать всё в срок и по плану,
нужно этот план хотя бы иметь
 В плане должны быть чётко обозначенные
даты и вехи (milestones)
 Вехи — это конкретные достижения
 Задача занимает всё отведённое под неё
время
15
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Планирование
Критические пути
Диаграмма Ганта — график с критическими путями
 Последовательность действий
 Планирование рисков
16
http://en.wikipedia.org/wiki/Gantt_chart
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Планирование
Планирование рисков
Закон Мёрфи: «Anything that can go wrong will go wrong»
Если при планировании проблеме было уделено мало
внимания — она обязательно возникнет
Должны быть предусмотрены:
 Пути смягчения последствий неразрешимых проблем
 Минимальный гарантированный результат при
каждой из таких проблем
17
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Планирование
Планирование усилий
Правило Парето: 20% усилий обеспечивают
80% результата
При разработке ПО:
 Проектирование — 30%
 Написание кода — 20%
 Тестирование компонентов — 25%
 Системное тестирование — 25%
18
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Планирование
Планирование усилий
 Превращение программы в продукт —
увеличение времени втрое
 Объём работ растёт как степенная функция
размера программы va
По разным оценкам a = 1,05−1,2 или 1,5
v — некая метрика размера программы
19
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Планирование
 Проектирование
 Реализация
 Невыполнение плана
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
20
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Проектирование
 Качественное проектирование сокращает
затраты на кодирование и тестирование
 Ошибки, возможные на этом этапе — самые
дорогие
21
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Проектирование
 Концептуальная целостность — самое важное
для получения качественного продукта
 Продукт должен позволять решать задачи,
а не просто предоставлять набор функций
 Ответственность за концептуальную
целостность на одном человеке или группе
единомышленников (аристократизм)
 Отделить архитектуру от реализации
(варианты реализации должны быть предложены)
22
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Проектирование
Спецификации
 Описание 20% компонентов обозначает
80% требований
 Необходимо и формальное, и текстовое
описание проекта (одно из них выбирается
основным)
 Вместе со структурой проекта планируется
структура документации
23
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Проектирование
Спецификации
Для каждого модуля должны быть описаны:
 Требуемый функционал
 Ожидаемые и допустимые характеристики
(память, скорость)
 Взаимодействие с другими модулями
24
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Планирование
 Проектирование
 Реализация
 Невыполнение плана
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
25
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Документация
 Причина плохой документации — не только
лень, но и неуверенность в текущих
решениях (недостаток проектирования)
 Документации часто не хватает обзорности
 Важно отвечать не только на вопрос
«как?», но и «почему?»
26
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Тестирование
 После любого изменения нужно проводить
серию регрессионных тестов
 Для каждого компонента должны быть
отдельные тесты
 При интегральном тестировании
компоненты должны добавляться
по одному
27
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Сопровождение
 Сопровождение — это исправление ошибок
и усовершенствование функционала
 Возможность внесения изменений
необходимо предусматривать
 Зависимость числа модулей от номера
версии — линейная, числа затронутых
изменениями модулей — экспоненциальная
 Исправления имеют тенденцию
к разрушению структуры системы
28
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Сопровождение
Выявление ошибок
 Чем больше пользователей, тем больше
найденных ошибок
 Значительная часть ошибок выявляется
сразу после выпуска продукта; очередной
всплеск происходит по прошествии
некоторого времени
 При исправлении одной ошибки
с вероятностью 20−50% вносится другая
29
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Сопровождение
Выявление ошибок
30
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Планирование
 Проектирование
 Реализация
 Невыполнение плана
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
31
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Невыполнение плана
— Как оказывается, что проект
запаздывает на год?
— Сначала он запаздывает на один день.
Фредерик Брукс
32
«
»
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Невыполнение плана
 Одна из основных причин срыва сроков —
неполнота или противоречивость
информации о текущем состоянии
 Полезно иметь две оценки текущего
состояния:
 от ответственного
 от исполнителей
33
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Невыполнение плана
С точки зрения программиста
 Не бойтесь сообщать о том, что
не укладываетесь в сроки
 По закону Мёрфи ситуация имеет свойство
развиваться от плохого к худшему
 Нормальный руководитель подобную
ситуацию уже предусмотрел
34
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Невыполнение плана
С точки зрения руководителя
 Нехватка календарного времени —
основной тип провалов
 Добавление людей в проект только
затягивает сроки
 Нарушение работы
 Перекраивание задач
 Обучение
 Дополнительное общение
35
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Брукс: выводы
 За 36 лет устарели только технологии,
идеи и принципы по-прежнему актуальны
 Произошла микрокомпьютерная революция
 Значительно вырос рынок, изменился его
характер
 Несмотря на большое количество
исследований и накопленного опыта,
кризис разработки ПО продолжается
36
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
37
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
О книге
 Эдвард Йордон
 Учёный в области теории
вычислительных систем
 Независимый консультант
 «Путь камикадзе» — 1997 год
 Оригинальное название:
«Death March. The Complete Software Developer’s
Guide to Surviving Mission Impossible Projects»
38
http://ru.wikipedia.org/wiki/Йордан,_Эдвард
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Когда совсем всё плохо
 Один из параметров проекта как минимум
вдвое отличается от нормы
 Календарные сроки
 Количество разработчиков
 Бюджет или ресурсы
 Требуемые функции или технические
характеристики
 Вероятность провала выше 50%
39
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Откуда они берутся
 Неверное планирование
 Желание перехватить заказ у более
крупной компании
 Переоценка собственных способностей
 Политика и маркетинг
 Стремление захватить мир
40
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Причины участия
 Большое вознаграждение
 Синдром покорителей Эвереста
 Глупость
 Перспективность
 Безальтернативность
 Оптимизм
41
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Характеристика проекта
42
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Роль менеджера
Два типа менеджеров, ответственных
за проект:
 Тот, кто выжимает команду
 Мотивирован на деньги
 Не планирует в будущем продолжать работу
с командой
 Тот, кто защищает команду
 Мотивирован на деньги и результат
 Рассчитывает сохранить нормальные отношения
с командой
43
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Переговоры
При обсуждении условий проекта есть три
переменных:
 Календарные сроки
 Ресурсы (в основном: люди и бюджет)
 Качество (функционал, требования,
условия эксплуатации)
44
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Переговорные игры
 Удвой и добавь ещё
 Обратное удвоение
 Угадай число, которое я задумал
 Игра на понижение
 Туманы и миражи
 Фиктивное качество
45
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Формирование требований
 Формулировка требований и расстановка
приоритетов
 Прояснение качества «достаточно
хороший»
 Правило 20/80
46
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Использование новых технологий
Риски:
 Несовершенство технологии
 Затраты на обучение
 Для оценки эффективности нужно
создавать прототип
 Нужно иметь оценку сроков/ресурсов
с использованием уже изученных
технологий
47
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Безнадёжные проекты
Выводы
 Избегайте безнадёжных проектов
 Ввязавшись, адекватно оценивайте свои
силы
48
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
49
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Agile
Гибкие методики разработки (XP, Scrum)
 Минимизация бюрократии
 Нацеленность на результат
 Организация процессов в небольших
командах
50
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Agile
 Люди и взаимодействие важнее процессов
и инструментов
 Работающий продукт важнее
исчерпывающей документации
 Сотрудничество с заказчиком важнее
согласования условий контракта
 Готовность к изменениям важнее
следования первоначальному плану
51
http://agilemanifesto.org/iso/ru/
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Agile
Некоторые особенности
 Взаимодействие команды и заказчика
 Release early, release often
 Самоорганизация команды
 Гибкость требований
52
http://agilemanifesto.org/iso/ru/
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Содержание
 Введение
 Брукс: Мифический человеко-месяц
 Йордон: Путь камикадзе
 Пара слов про Agile
 Заключение
53
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Заключение
 «Проектируй! @ Документируй!»
 Будьте ответственны
 Помните про конечный результат
 Помните про пользователя и его задачи
54
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Литература
1. Фредерик Брукс, «Мифический человеко-месяц или как создаются
программные системы», Символ-Плюс, СПб., 2010.
2. Эдвард Йордон, «Путь камикадзе. Как разработчику программного
обеспечения выжить в безнадёжном проекте», Лори, 2003.
3. http://agilemanifesto.org/
55
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
56
CS MSU Graphics & Media Lab (Video Group)
www.compression.ru/video/
Only for
Maxus 
Лаборатория компьютерной
графики и мультимедиа
Видеогруппа — это:
 Выпускники в аспирантурах Англии,
Франции, Швейцарии (в России в МГУ и
ИПМ им. Келдыша)
 Выпускниками защищено 5 диссертаций
 Наиболее популярные в мире сравнения
видеокодеков
 Более 3 миллионов скачанных фильтров
обработки видео
57

Weitere ähnliche Inhalte

Was ist angesagt?

Обзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зренияОбзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зренияMSU GML VideoGroup
 
Некоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кодаНекоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кодаMSU GML VideoGroup
 
Некоторые методы повышения качества построения стерео
Некоторые методы повышения качества построения стереоНекоторые методы повышения качества построения стерео
Некоторые методы повышения качества построения стереоMSU GML VideoGroup
 
Некоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видеоНекоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видеоMSU GML VideoGroup
 
Некоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубиныНекоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубиныMSU GML VideoGroup
 
Некоторые методы сопоставления стерео
Некоторые методы сопоставления стереоНекоторые методы сопоставления стерео
Некоторые методы сопоставления стереоMSU GML VideoGroup
 
Использование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видеоИспользование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видеоMSU GML VideoGroup
 
Методы сопоставления видео
Методы сопоставления видеоМетоды сопоставления видео
Методы сопоставления видеоMSU GML VideoGroup
 
Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...
Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...
Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...MSU GML VideoGroup
 
Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)MSU GML VideoGroup
 
Получение глубины из движения камеры
Получение глубины из движения камерыПолучение глубины из движения камеры
Получение глубины из движения камерыMSU GML VideoGroup
 
Некоторые методы сегментации видео
Некоторые методы сегментации видеоНекоторые методы сегментации видео
Некоторые методы сегментации видеоMSU GML VideoGroup
 
Некоторые методы восстановления фона
Некоторые методы восстановления фонаНекоторые методы восстановления фона
Некоторые методы восстановления фонаMSU GML VideoGroup
 
Точное выделение границ объектов
Точное выделение границ объектовТочное выделение границ объектов
Точное выделение границ объектовMSU GML VideoGroup
 
Обработка границ объектов при генерации стерео
Обработка границ объектов при генерации стереоОбработка границ объектов при генерации стерео
Обработка границ объектов при генерации стереоMSU GML VideoGroup
 
Сегментация видео на основе Mean-shift
Сегментация видео на основе Mean-shiftСегментация видео на основе Mean-shift
Сегментация видео на основе Mean-shiftMSU GML VideoGroup
 
Способы построения и оценки карт салиентности
Способы построения и оценки карт салиентностиСпособы построения и оценки карт салиентности
Способы построения и оценки карт салиентностиMSU GML VideoGroup
 
Цветонезависимое сопоставление стерео
Цветонезависимое сопоставление стереоЦветонезависимое сопоставление стерео
Цветонезависимое сопоставление стереоMSU GML VideoGroup
 
Методы тестирования устройств для показа 3D
Методы тестирования устройств для показа 3DМетоды тестирования устройств для показа 3D
Методы тестирования устройств для показа 3DMSU GML VideoGroup
 

Was ist angesagt? (20)

Обзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зренияОбзор открытых библиотек в области обработки изображений и компьютерного зрения
Обзор открытых библиотек в области обработки изображений и компьютерного зрения
 
Некоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кодаНекоторые методы проектирования и оптимизации кода
Некоторые методы проектирования и оптимизации кода
 
Некоторые методы повышения качества построения стерео
Некоторые методы повышения качества построения стереоНекоторые методы повышения качества построения стерео
Некоторые методы повышения качества построения стерео
 
Некоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видеоНекоторые методы обнаружения артефактов 3D-видео
Некоторые методы обнаружения артефактов 3D-видео
 
Некоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубиныНекоторые методы генерации многоракурсных изображений на основе карты глубины
Некоторые методы генерации многоракурсных изображений на основе карты глубины
 
Некоторые методы сопоставления стерео
Некоторые методы сопоставления стереоНекоторые методы сопоставления стерео
Некоторые методы сопоставления стерео
 
Использование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видеоИспользование областей перекрытия в задаче сегментации видео
Использование областей перекрытия в задаче сегментации видео
 
Методы сопоставления видео
Методы сопоставления видеоМетоды сопоставления видео
Методы сопоставления видео
 
Deringing Cartoons
Deringing CartoonsDeringing Cartoons
Deringing Cartoons
 
Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...
Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...
Новые тенденции в области автостереоскопических дисплеев, съемки и отображени...
 
Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)Методы повышения визуального качества восстановленного фона (часть 2)
Методы повышения визуального качества восстановленного фона (часть 2)
 
Получение глубины из движения камеры
Получение глубины из движения камерыПолучение глубины из движения камеры
Получение глубины из движения камеры
 
Некоторые методы сегментации видео
Некоторые методы сегментации видеоНекоторые методы сегментации видео
Некоторые методы сегментации видео
 
Некоторые методы восстановления фона
Некоторые методы восстановления фонаНекоторые методы восстановления фона
Некоторые методы восстановления фона
 
Точное выделение границ объектов
Точное выделение границ объектовТочное выделение границ объектов
Точное выделение границ объектов
 
Обработка границ объектов при генерации стерео
Обработка границ объектов при генерации стереоОбработка границ объектов при генерации стерео
Обработка границ объектов при генерации стерео
 
Сегментация видео на основе Mean-shift
Сегментация видео на основе Mean-shiftСегментация видео на основе Mean-shift
Сегментация видео на основе Mean-shift
 
Способы построения и оценки карт салиентности
Способы построения и оценки карт салиентностиСпособы построения и оценки карт салиентности
Способы построения и оценки карт салиентности
 
Цветонезависимое сопоставление стерео
Цветонезависимое сопоставление стереоЦветонезависимое сопоставление стерео
Цветонезависимое сопоставление стерео
 
Методы тестирования устройств для показа 3D
Методы тестирования устройств для показа 3DМетоды тестирования устройств для показа 3D
Методы тестирования устройств для показа 3D
 

Andere mochten auch

Обзор подходов к измерению качества 3D видео
Обзор подходов к измерению качества 3D видеоОбзор подходов к измерению качества 3D видео
Обзор подходов к измерению качества 3D видеоMSU GML VideoGroup
 
Обзор артефактов стерео видео. Временная синхронизация
Обзор артефактов стерео видео. Временная синхронизацияОбзор артефактов стерео видео. Временная синхронизация
Обзор артефактов стерео видео. Временная синхронизацияMSU GML VideoGroup
 
Обзор методов сегментации видео
Обзор методов сегментации видеоОбзор методов сегментации видео
Обзор методов сегментации видеоMSU GML VideoGroup
 
Архитектура и программирование на fpga
Архитектура и программирование на fpgaАрхитектура и программирование на fpga
Архитектура и программирование на fpgaMSU GML VideoGroup
 
Обработка областей открытия при распространении карт глубины
Обработка областей открытия при распространении карт глубиныОбработка областей открытия при распространении карт глубины
Обработка областей открытия при распространении карт глубиныMSU GML VideoGroup
 
Вычитание фона с использованием карт глубины
Вычитание фона с использованием карт глубиныВычитание фона с использованием карт глубины
Вычитание фона с использованием карт глубиныMSU GML VideoGroup
 
Применение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зренияПрименение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зренияMSU GML VideoGroup
 
Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видеоMSU GML VideoGroup
 
Построение карт глубины и сопоставление стерео
Построение карт глубины и сопоставление стереоПостроение карт глубины и сопоставление стерео
Построение карт глубины и сопоставление стереоMSU GML VideoGroup
 
Методы повышения визуального качества восстановленного фона
Методы повышения визуального качества восстановленного фонаМетоды повышения визуального качества восстановленного фона
Методы повышения визуального качества восстановленного фонаMSU GML VideoGroup
 
Обзор методов стабилизации видео
Обзор методов стабилизации видеоОбзор методов стабилизации видео
Обзор методов стабилизации видеоMSU GML VideoGroup
 
Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012MSU GML VideoGroup
 
Новые методы деинтерлейсинга
Новые методы деинтерлейсингаНовые методы деинтерлейсинга
Новые методы деинтерлейсингаMSU GML VideoGroup
 

Andere mochten auch (14)

Обзор подходов к измерению качества 3D видео
Обзор подходов к измерению качества 3D видеоОбзор подходов к измерению качества 3D видео
Обзор подходов к измерению качества 3D видео
 
Обзор артефактов стерео видео. Временная синхронизация
Обзор артефактов стерео видео. Временная синхронизацияОбзор артефактов стерео видео. Временная синхронизация
Обзор артефактов стерео видео. Временная синхронизация
 
Обзор методов сегментации видео
Обзор методов сегментации видеоОбзор методов сегментации видео
Обзор методов сегментации видео
 
Архитектура и программирование на fpga
Архитектура и программирование на fpgaАрхитектура и программирование на fpga
Архитектура и программирование на fpga
 
Обработка областей открытия при распространении карт глубины
Обработка областей открытия при распространении карт глубиныОбработка областей открытия при распространении карт глубины
Обработка областей открытия при распространении карт глубины
 
Вычитание фона с использованием карт глубины
Вычитание фона с использованием карт глубиныВычитание фона с использованием карт глубины
Вычитание фона с использованием карт глубины
 
Применение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зренияПрименение современных графических процессоров в области компьютерного зрения
Применение современных графических процессоров в области компьютерного зрения
 
Методы удаления артефактов в видео
Методы удаления артефактов в видеоМетоды удаления артефактов в видео
Методы удаления артефактов в видео
 
Построение карт глубины и сопоставление стерео
Построение карт глубины и сопоставление стереоПостроение карт глубины и сопоставление стерео
Построение карт глубины и сопоставление стерео
 
Методы повышения визуального качества восстановленного фона
Методы повышения визуального качества восстановленного фонаМетоды повышения визуального качества восстановленного фона
Методы повышения визуального качества восстановленного фона
 
Обзор методов стабилизации видео
Обзор методов стабилизации видеоОбзор методов стабилизации видео
Обзор методов стабилизации видео
 
Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012Обзор докладов конференции IC3D 2012
Обзор докладов конференции IC3D 2012
 
Optical Flow на GPU
Optical Flow на GPUOptical Flow на GPU
Optical Flow на GPU
 
Новые методы деинтерлейсинга
Новые методы деинтерлейсингаНовые методы деинтерлейсинга
Новые методы деинтерлейсинга
 

Ähnlich wie Управление разработкой программного обеспечения

Исправление различий резкости в 3D видео
Исправление различий резкости в 3D видеоИсправление различий резкости в 3D видео
Исправление различий резкости в 3D видеоMSU GML VideoGroup
 
Декодирование видео на GPU
Декодирование видео на GPUДекодирование видео на GPU
Декодирование видео на GPUMSU GML VideoGroup
 
Методы цветокоррекции стереовидео
Методы цветокоррекции стереовидеоМетоды цветокоррекции стереовидео
Методы цветокоррекции стереовидеоMSU GML VideoGroup
 
Некоторые методы матирования видео
Некоторые методы матирования видеоНекоторые методы матирования видео
Некоторые методы матирования видеоMSU GML VideoGroup
 
Генерация текстур
Генерация текстурГенерация текстур
Генерация текстурMSU GML VideoGroup
 
Обзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVCОбзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVCMSU GML VideoGroup
 
Обзор новинок в области GPGPU
Обзор новинок в области GPGPUОбзор новинок в области GPGPU
Обзор новинок в области GPGPUMSU GML VideoGroup
 
Hpc Server 2008 Ecosystem
Hpc Server 2008 EcosystemHpc Server 2008 Ecosystem
Hpc Server 2008 EcosystemOleg Nazarevych
 
Кризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияКризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияSQALab
 
Cравнение средств разработки RIA приложений используя Flash платформу
Cравнение средств разработки RIA приложений используя Flash платформуCравнение средств разработки RIA приложений используя Flash платформу
Cравнение средств разработки RIA приложений используя Flash платформуilja.panin
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакинWRider
 
Обзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовОбзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовMSU GML VideoGroup
 
CI для Microsoft Dynamics crm
CI для Microsoft Dynamics crmCI для Microsoft Dynamics crm
CI для Microsoft Dynamics crmRoman Savran
 
Microsoft Design Camp Overview, Dec 12, 2013
Microsoft Design Camp Overview, Dec 12, 2013Microsoft Design Camp Overview, Dec 12, 2013
Microsoft Design Camp Overview, Dec 12, 2013Alex Markov
 

Ähnlich wie Управление разработкой программного обеспечения (17)

Исправление различий резкости в 3D видео
Исправление различий резкости в 3D видеоИсправление различий резкости в 3D видео
Исправление различий резкости в 3D видео
 
Декодирование видео на GPU
Декодирование видео на GPUДекодирование видео на GPU
Декодирование видео на GPU
 
Методы цветокоррекции стереовидео
Методы цветокоррекции стереовидеоМетоды цветокоррекции стереовидео
Методы цветокоррекции стереовидео
 
Некоторые методы матирования видео
Некоторые методы матирования видеоНекоторые методы матирования видео
Некоторые методы матирования видео
 
Генерация текстур
Генерация текстурГенерация текстур
Генерация текстур
 
Fidesys [Web Ready 2010]
Fidesys [Web Ready 2010]Fidesys [Web Ready 2010]
Fidesys [Web Ready 2010]
 
Обзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVCОбзор стандарта H.265/HEVC
Обзор стандарта H.265/HEVC
 
Обзор новинок в области GPGPU
Обзор новинок в области GPGPUОбзор новинок в области GPGPU
Обзор новинок в области GPGPU
 
Intro
IntroIntro
Intro
 
Hpc Server 2008 Ecosystem
Hpc Server 2008 EcosystemHpc Server 2008 Ecosystem
Hpc Server 2008 Ecosystem
 
Ms it cup avgg-авги
Ms it cup avgg-авгиMs it cup avgg-авги
Ms it cup avgg-авги
 
Кризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решенияКризисное управление проектами: проблемы, компромиссы, решения
Кризисное управление проектами: проблемы, компромиссы, решения
 
Cравнение средств разработки RIA приложений используя Flash платформу
Cравнение средств разработки RIA приложений используя Flash платформуCравнение средств разработки RIA приложений используя Flash платформу
Cравнение средств разработки RIA приложений используя Flash платформу
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакин
 
Обзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектовОбзор алгоритмов трекинга объектов
Обзор алгоритмов трекинга объектов
 
CI для Microsoft Dynamics crm
CI для Microsoft Dynamics crmCI для Microsoft Dynamics crm
CI для Microsoft Dynamics crm
 
Microsoft Design Camp Overview, Dec 12, 2013
Microsoft Design Camp Overview, Dec 12, 2013Microsoft Design Camp Overview, Dec 12, 2013
Microsoft Design Camp Overview, Dec 12, 2013
 

Управление разработкой программного обеспечения

  • 2. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 2
  • 3. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Мир глазами программиста 3
  • 4. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  С другой стороны 4
  • 5. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Заказчик — исполнитель 5
  • 6. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Схема отношений 6
  • 7. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Особенности отрасли  Разработка программного обеспечения — молодая отрасль  Основная часть себестоимости продукта — зарплата сотрудников  Сложность оценки объёма работ  Сложность объективной оценки качества и сравнения с аналогами 7
  • 8. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Особенности должности  Необходимость планирования  Когда будет готов конечный продукт?  Ответственность  Принятие решений  Контроль качества  Разгребание проблем  Коммуникации  Видение ситуации в целом и обеспечение необходимой связи между участниками 8
  • 9. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Особенности должности Планирование  Все хотят знать, что получится в конце и когда этот конец настанет  Программистам верить нельзя — они слишком оптимистичны  Нужно угадать и предусмотреть  Время, деньги, количество людей  Промежуточные и конечный результаты  Возможные проблемы и пути их решения 9
  • 10. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Особенности должности Ответственность  Каждый программист хочет отвечать только за свой код  У менеджера (ведущего разработчика) шире зона ответственности  Должно получиться то, что хочет заказчик  Несмотря ни на что, всё должно быть в срок  Не должно быть ситуаций, когда программисту нечего делать — он скучает  Если кто-то из программистов не справился — отвечать менеджеру 10
  • 11. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Особенности должности Коммуникации  Мир глазами программиста и мир глазами заказчика — это разные вселенные  Мир глазами разных программистов — разные планеты  Программисты — люди умные, но порой своеобразные 11
  • 12. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Особенности должности Коммуникации  Здоровая атмосфера в коллективе — залог успеха проекта  Плохая информированность участников коллектива — одна из частых причин провала 12
  • 13. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Планирование  Проектирование  Реализация  Невыполнение плана  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 13
  • 14. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  О книге  Фредерик Брукс  Управлял разработкой OS/360 в IBM  Награждён Премией Тьюринга в 1999 году  «Мифический человеко-месяц или Как создаются программные системы» — 1975 год (1995 — 2-е издание) 14 http://ru.wikipedia.org/wiki/Брукс,_Фред
  • 15. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Планирование  Чтобы сделать всё в срок и по плану, нужно этот план хотя бы иметь  В плане должны быть чётко обозначенные даты и вехи (milestones)  Вехи — это конкретные достижения  Задача занимает всё отведённое под неё время 15
  • 16. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Планирование Критические пути Диаграмма Ганта — график с критическими путями  Последовательность действий  Планирование рисков 16 http://en.wikipedia.org/wiki/Gantt_chart
  • 17. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Планирование Планирование рисков Закон Мёрфи: «Anything that can go wrong will go wrong» Если при планировании проблеме было уделено мало внимания — она обязательно возникнет Должны быть предусмотрены:  Пути смягчения последствий неразрешимых проблем  Минимальный гарантированный результат при каждой из таких проблем 17
  • 18. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Планирование Планирование усилий Правило Парето: 20% усилий обеспечивают 80% результата При разработке ПО:  Проектирование — 30%  Написание кода — 20%  Тестирование компонентов — 25%  Системное тестирование — 25% 18
  • 19. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Планирование Планирование усилий  Превращение программы в продукт — увеличение времени втрое  Объём работ растёт как степенная функция размера программы va По разным оценкам a = 1,05−1,2 или 1,5 v — некая метрика размера программы 19
  • 20. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Планирование  Проектирование  Реализация  Невыполнение плана  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 20
  • 21. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Проектирование  Качественное проектирование сокращает затраты на кодирование и тестирование  Ошибки, возможные на этом этапе — самые дорогие 21
  • 22. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Проектирование  Концептуальная целостность — самое важное для получения качественного продукта  Продукт должен позволять решать задачи, а не просто предоставлять набор функций  Ответственность за концептуальную целостность на одном человеке или группе единомышленников (аристократизм)  Отделить архитектуру от реализации (варианты реализации должны быть предложены) 22
  • 23. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Проектирование Спецификации  Описание 20% компонентов обозначает 80% требований  Необходимо и формальное, и текстовое описание проекта (одно из них выбирается основным)  Вместе со структурой проекта планируется структура документации 23
  • 24. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Проектирование Спецификации Для каждого модуля должны быть описаны:  Требуемый функционал  Ожидаемые и допустимые характеристики (память, скорость)  Взаимодействие с другими модулями 24
  • 25. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Планирование  Проектирование  Реализация  Невыполнение плана  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 25
  • 26. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Документация  Причина плохой документации — не только лень, но и неуверенность в текущих решениях (недостаток проектирования)  Документации часто не хватает обзорности  Важно отвечать не только на вопрос «как?», но и «почему?» 26
  • 27. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Тестирование  После любого изменения нужно проводить серию регрессионных тестов  Для каждого компонента должны быть отдельные тесты  При интегральном тестировании компоненты должны добавляться по одному 27
  • 28. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Сопровождение  Сопровождение — это исправление ошибок и усовершенствование функционала  Возможность внесения изменений необходимо предусматривать  Зависимость числа модулей от номера версии — линейная, числа затронутых изменениями модулей — экспоненциальная  Исправления имеют тенденцию к разрушению структуры системы 28
  • 29. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Сопровождение Выявление ошибок  Чем больше пользователей, тем больше найденных ошибок  Значительная часть ошибок выявляется сразу после выпуска продукта; очередной всплеск происходит по прошествии некоторого времени  При исправлении одной ошибки с вероятностью 20−50% вносится другая 29
  • 30. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Сопровождение Выявление ошибок 30
  • 31. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Планирование  Проектирование  Реализация  Невыполнение плана  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 31
  • 32. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Невыполнение плана — Как оказывается, что проект запаздывает на год? — Сначала он запаздывает на один день. Фредерик Брукс 32 « »
  • 33. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Невыполнение плана  Одна из основных причин срыва сроков — неполнота или противоречивость информации о текущем состоянии  Полезно иметь две оценки текущего состояния:  от ответственного  от исполнителей 33
  • 34. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Невыполнение плана С точки зрения программиста  Не бойтесь сообщать о том, что не укладываетесь в сроки  По закону Мёрфи ситуация имеет свойство развиваться от плохого к худшему  Нормальный руководитель подобную ситуацию уже предусмотрел 34
  • 35. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Невыполнение плана С точки зрения руководителя  Нехватка календарного времени — основной тип провалов  Добавление людей в проект только затягивает сроки  Нарушение работы  Перекраивание задач  Обучение  Дополнительное общение 35
  • 36. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Брукс: выводы  За 36 лет устарели только технологии, идеи и принципы по-прежнему актуальны  Произошла микрокомпьютерная революция  Значительно вырос рынок, изменился его характер  Несмотря на большое количество исследований и накопленного опыта, кризис разработки ПО продолжается 36
  • 37. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 37
  • 38. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  О книге  Эдвард Йордон  Учёный в области теории вычислительных систем  Независимый консультант  «Путь камикадзе» — 1997 год  Оригинальное название: «Death March. The Complete Software Developer’s Guide to Surviving Mission Impossible Projects» 38 http://ru.wikipedia.org/wiki/Йордан,_Эдвард
  • 39. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Когда совсем всё плохо  Один из параметров проекта как минимум вдвое отличается от нормы  Календарные сроки  Количество разработчиков  Бюджет или ресурсы  Требуемые функции или технические характеристики  Вероятность провала выше 50% 39
  • 40. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Откуда они берутся  Неверное планирование  Желание перехватить заказ у более крупной компании  Переоценка собственных способностей  Политика и маркетинг  Стремление захватить мир 40
  • 41. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Причины участия  Большое вознаграждение  Синдром покорителей Эвереста  Глупость  Перспективность  Безальтернативность  Оптимизм 41
  • 42. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Характеристика проекта 42
  • 43. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Роль менеджера Два типа менеджеров, ответственных за проект:  Тот, кто выжимает команду  Мотивирован на деньги  Не планирует в будущем продолжать работу с командой  Тот, кто защищает команду  Мотивирован на деньги и результат  Рассчитывает сохранить нормальные отношения с командой 43
  • 44. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Переговоры При обсуждении условий проекта есть три переменных:  Календарные сроки  Ресурсы (в основном: люди и бюджет)  Качество (функционал, требования, условия эксплуатации) 44
  • 45. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Переговорные игры  Удвой и добавь ещё  Обратное удвоение  Угадай число, которое я задумал  Игра на понижение  Туманы и миражи  Фиктивное качество 45
  • 46. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Формирование требований  Формулировка требований и расстановка приоритетов  Прояснение качества «достаточно хороший»  Правило 20/80 46
  • 47. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Использование новых технологий Риски:  Несовершенство технологии  Затраты на обучение  Для оценки эффективности нужно создавать прототип  Нужно иметь оценку сроков/ресурсов с использованием уже изученных технологий 47
  • 48. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Безнадёжные проекты Выводы  Избегайте безнадёжных проектов  Ввязавшись, адекватно оценивайте свои силы 48
  • 49. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 49
  • 50. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Agile Гибкие методики разработки (XP, Scrum)  Минимизация бюрократии  Нацеленность на результат  Организация процессов в небольших командах 50
  • 51. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Agile  Люди и взаимодействие важнее процессов и инструментов  Работающий продукт важнее исчерпывающей документации  Сотрудничество с заказчиком важнее согласования условий контракта  Готовность к изменениям важнее следования первоначальному плану 51 http://agilemanifesto.org/iso/ru/
  • 52. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Agile Некоторые особенности  Взаимодействие команды и заказчика  Release early, release often  Самоорганизация команды  Гибкость требований 52 http://agilemanifesto.org/iso/ru/
  • 53. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Содержание  Введение  Брукс: Мифический человеко-месяц  Йордон: Путь камикадзе  Пара слов про Agile  Заключение 53
  • 54. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Заключение  «Проектируй! @ Документируй!»  Будьте ответственны  Помните про конечный результат  Помните про пользователя и его задачи 54
  • 55. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Литература 1. Фредерик Брукс, «Мифический человеко-месяц или как создаются программные системы», Символ-Плюс, СПб., 2010. 2. Эдвард Йордон, «Путь камикадзе. Как разработчику программного обеспечения выжить в безнадёжном проекте», Лори, 2003. 3. http://agilemanifesto.org/ 55
  • 56. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  56
  • 57. CS MSU Graphics & Media Lab (Video Group) www.compression.ru/video/ Only for Maxus  Лаборатория компьютерной графики и мультимедиа Видеогруппа — это:  Выпускники в аспирантурах Англии, Франции, Швейцарии (в России в МГУ и ИПМ им. Келдыша)  Выпускниками защищено 5 диссертаций  Наиболее популярные в мире сравнения видеокодеков  Более 3 миллионов скачанных фильтров обработки видео 57