SlideShare a Scribd company logo
1 of 32
Download to read offline
Кризисное управление
проектами: проблемы,
компромиссы, решения
Сергей Зыков
к.т.н., доц. НИУ ВШЭ
Кризисное управление проектами: проблемы, компромиссы, решения

О себе
Зыков Сергей, к.т.н., доц.ГУ-ВШЭ (отделение ПИ факультета УрПО), Master CIW /
CWP Designer, iCarnegie Certified Instructor (SSD1/9)
Стаж в ИТ-отрасли – более 20 лет.
• В 1996-2007 гг. работал в международной нефтегазовой группе «ИТЕРА»
(в т.ч. зам. директора департамента ИТ).
• Руководил проектами внедрения ERP-систем в компаниях НГК «ИТЕРА».
• В 2002-2007 гг. руководил проектами создания Интернет- и Интранетпорталов НГК «ИТЕРА», ИПУ РАН и др. корпоративных структур.
Автор 10 монографий, более 100 статей, ряда учебных курсов по ИТ и
корпоративным программным комплексам (МАИ, МИФИ, МФТИ, НИУ ВШЭ,
IBS, Microsoft Research, ЛАНИТ, ИНТУИТ, SoftLine, TEKAMA и др.).
WWW: www.hse.ru/org/persons/3468544
E-mail: SZykov@hotmail.com

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Содержание
Программная инженерия - кризис или депрессия?
Ответ кризису - "тюнинг" ЖЦ
• Проект или продукт?
• Структура ЖЦ и оптимизация затрат
• "Факторы роста": диалог, дисциплина, стандарты, CASE

Модели ЖЦ ПО - "скелет" оптимизации
ООП - возможности и действительность
От проектирования до передачи
• Прототип, реализация, сборка: цели, затраты, средства
• Reuse - важность, артефакты, границы

Главная цель ЖЦ - сопровождаемость
• Состав продукта и роль документации
• Сопровождение: виды, требования, средства, экономика

ЖЦ ПО - как бороться с кризисом?
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Аналоги кризиса ПИ в экономике
 Кризис в экономике США, Великая депрессия
 Современный глобальный экономический кризис
 Этапы развития производства
 Искусство (уникальные, неповторимые шедевры)

 Ремесло («кустари-одиночки»)
 Мануфактура (специализация, кооперирование, ручной труд)
 Промышленность (автоматизированный конвейер)
 Выводы
 Все аналогии не вполне верны

(параллель с архитектурным строительством)
 Нужна науч.-тех. дисциплина (программная инженерия)
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Кризис в программной индустрии
 Начало: 60-е гг. ХХ века

 Причины:
 «Анархия» разработки (параметры «проектного
треугольника» неуправляемы)
 Непредсказуемый, безответственный, бессистемный ЖЦ
 Примат АО над ПО (1950-е–60-е )

 Одна методология – «проб и ошибок»
 Выводы
 Нужна систематизация проектирования
 Нужен рост ответственности за результаты труда
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Депрессия в программной индустрии
 Начало: 70-е гг. прошлого века

 Причины:
 Искусство стало наукой, но не вполне - технологией
 Созданы крупные центры научной разработки (CMU SEI)
 Затяжной характер «кризиса» => депрессия
 Рост значимости ПО (жизнеобеспечение, оборона и др.)

 Отсутствие универсальной методологии
 Выводы:
 Кризис не побежден (непобедим ???)
 Депрессия продолжается <= «серебряной пули» нет
 Выход из кризиса – оптимизация ЖЦ

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Зачем нужна программная инженерия?
 ПИ – комплексная НТ-основа построения ПО
 Причины - нужна дисциплина для построения:
 Больших систем (терабайты и петабайты данных)
 Сложных систем (тысячи файлов, десятки модулей,
сотни компонент, пример – ERP Oracle E-Business Suite)

 Качественных систем (надежность, безопасность,
отказоустойчивость, эргономика, многократное
использование, документация, сопровождаемость, …)

 Систем сложной архитектуры (порталы, веб-сервисы, …)
 Гетерогенных систем (арх-ры, БД, структурированность)
 Вывод: ПИ необходима
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

ПИ: проблемы и заблуждения
Возникают вопросы: Почему…
• …создание ПО так дорого?
• … ПО так долго создается?
• … сложно измерить продвижение проекта?
• … нельзя обнаружить все ошибки до приемки?
На эти вопросы сложно ответить:
• В создании ПО участвует много сторон: заказчики,
разработчики, руководство
• У сторон-участников разные цели, ожидания и ограничения.
Согласование разумных подходов может серьезно увеличить
сроки и стоимость продукта
При кризисе вывод качественного продукта на рынок в срок –
жизненно важен для разработчика !!!
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

ПИ: определения «великих»
ПИ – дисциплина, цель которой - производство систем, не
содержащих ошибок, отвечающих требованиям заказчика,
срокам и бюджету (по S.R.Schach)
ПИ – комплекс задач, методов, средств и технологий создания
(проектирования и реализации) сложных, расширяемых,
тиражируемых, высококачественных программных систем
(возможно, включающих БД)
(по В.В.Липаеву)
ПИ – дисциплина, охватывающая все аспекты создания ПО от
начальной стадии разработки требований до использования
(по И.Соммервиллу)
Вывод: ПИ – комплекс мер по оптимизации ЖЦ ПО

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

ПИ и архитектура (SEC, 1968)
Аналогия ограничена:
• быстрый прототип ПО не обязан быть надежным
• ошибка в завершенном ПО – не катастрофа
• перезапуск программы – дешевле перестройки здания
• ошибки в ПО накапливаются со временем
• ошибки в ПО труднее выявлять
• строить безошибочное ПО нужно другими методами
• подход «повышенной прочности» неприемлем
• Вместо этого:
– последовательность, проверка предположений
– отчеты об ошибках, способы восстановления до сбоя

Software Project Management Conference, Казань, 6 ноября 2013 г.

(1)
Кризисное управление проектами: проблемы, компромиссы, решения

ПИ и архитектура (SEC, 1968)

(2)

Аналогия ограничена:
При сопровождении:
– повторная разработка ПО инкрементальна;
– изменения в ПО более масштабны и радикальны
(здание может служить 100 лет при min сопровождении);
– ЖЦ ПО гораздо короче;
– ПО быстро морально устаревает
– ПО становится дешевле заменить, чем сопровождать
– Накопленный опыт разработки не всегда ведет к лучшему
ПО (быстро меняются сложные платформы)

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Кризис и экономика ЖЦ
Разработка ПО – многофакторная оптимизация
Вариативность ПО с желаемым выходом по заданной
спецификации бесконенчна!
Цель антикризисной разработки ПО: многомерная
оптимизация модели ЖЦ с учетом:
– сроков
– стоимости
– качества
– сопровождаемости
Приоритетность параметров оптимизации зависит от характера
и масштаба ПО и др. кризисных факторов
Для оптимизации ЖЦ необходимы четкая декомпозиция на
процессы, адекватный выбор методов и средств разработки
ПО
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Кризис и экономика ЖЦ
Стадии ЖЦ ПО, общие для всех моделей:
– Анализ требований
– Подготовка спецификаций
– Проектирование
– Реализация
– Интеграция
– Сопровождение
– Вывод из эксплуатации
Оптимизация может упрощать (и даже исключать!)
отдельные стадии ЖЦ

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Кризис и экономика ЖЦ
Примерный вклад фаз ЖЦ в стоимость ПО,%
Требования
2

5
6

Спецификации
5
7

Проектирование

8

Кодирование

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

Интеграция
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Кризис и экономика ЖЦ
Примерный вклад фаз ЖЦ в сроки проекта,%
20

25

20

Треб.+Спец.
Проектирование
Код. + Тест.
Интеграция

35

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Кризис и экономика ЖЦ
– Основные затраты – на сопровождение (особенно для длительных
проектов и сложных систем)
– Средства, увеличивающие расширяемость ПО
(и/или сроки обновления и тестирования) более
эффективны, чем все ухищрения при кодировании
– Фазы, предшествующие кодированию и следующие за ним, составляют
30% затрат (кодирование – 5%):
• «обрамляющие» стадии улучшают ПО и ускоряют кодирование

– Большинство ошибок – в ходе проектирования и
спецификаций (нужны формальные методы анализа)
– Цена поиска ошибок экспоненциально растет по мере продвижения
проекта по ЖЦ
– Ошибки следует выявлять ASAP!
(иначе – сквозная трассировка ВСЕХ артефактов ПО)

– Грамотная постановка, выбор модели/архитектуры, четкая ревизия
проекта, дисциплина, стандарты, знание CASE, разумная достаточность
документации – ключи к экономии
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Модели ЖЦ ПО - "скелет"
антикризисной оптимизации
• Модель «проб и ошибок» (build-and-fix)
• "Однопроходная" водопадная модель
• «Циклический» ЖЦ:
–
–
–
–
–

Модель быстрого прототипирования
Инкремент(аль)ная модель
Модель синхронизации и стабилизации
Спиральная модель
ОО-модель

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Модели ЖЦ ПО в сравнении
Модель ЖЦ

Преимущества

Недостатки

«Проб и ошибок»

Экономия для малых проектов с просНеприменима для проектов от 1000 строк
тыми требованиями/сопровождением

Водопадная
(один проход)

ПО за 1 проход, четкая дисциплина,
строгая документация

Прототип

Экономичное уточнение функционала
Нетехнологичный код
Техническая «неграмотность» клиента

Инкрементальная
(эволюционная)

Нужна расширяемая архитектура, при
«Рабочее»ПО за 1 проход =>Быстрый
«революции» требований может
ROI плавная сопровождаемость
выродиться в «пробы и ошибки»

Синхростабилизации

Быстрый поиск ошибок,
интероперабельность и интеграция

Масса специфических знаний (тесты и др.)

Спиральная

При прототипировании включает
преимущества целого ряда моделей

Крупные внутренние проекты; затратное
управление рисками

ОО-модель

Итеративная разработка с
распараллеливанием

Без дисциплины, стандартов, знаний CASE
может выродиться в «пробы и ошибки»

Однопроходность не гарантирует
соответствия ПО требованиям заказчика

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Оптимизация объектной модели
•
•
•
•
•
•
•
•
•
•

Структурный или объектный подход?
Каковы принципы ООП?
Идеология последовательной конкретизации - доколе?
UML - зачем нам столько диаграмм?
Прочие диаграммы (ERD, DFD и т.д.) - когда и в какой мере?
Архитектурное проектирование - "скелет" продукта
Эскизное и детальное проектирование - теория и практика
Модели статики и динамики - подходы и ограничения
Ревизия проекта - особенности и техника
Выводы: ООП - как реализовать потенциал?

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Принципы проектирования
• Модульность – возможность декомпозиции продукта на на
малые, самодостаточные компоненты-модули
• Сцепление – мера сходства или взаимодействия компонентов
модуля
• Связность – мера взаимодействия модулей продукта
• Преимущества модульности – в легкости:
– Восприятия - ПО структурировано, компоненты слабо независимы
– Тестирования - локализация ошибок упрощается
– Сопровождения – влияние модуля на другие сведено к минимуму

Высокое сцепление, низкая связность – ПОЧЕМУ?
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

От проектирования – к реализации Пути
экономии
Выбор модели ЖЦ ПО – критический фактор для сроков,
стоимости и успеха внедрения:
• «Однопроходная» – параллелизм кодирования и
тестирования – сборка – по их окончании
– водопадная/каскадная

• «Циклические» – итеративность фаз для каждого релиза
–
–
–
–
–

«проб и ошибок»
инкрементальная
эволюционная
cихростабилизации
спиральная

• «Параллельные»/«интегрированные» – тесное
взаимодействие процессов кодирования, тестирования и
сборки
– Объектно-ориентированная

Критерий перспективности подхода - % reuse
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Модули: с «чистого листа» или reuse?
Reuse (многократное использование) – использование модулей
одного продукта при производстве другого, с иными
функциональными требованиями
Виды reuse:
– Непреднамеренное – допускается программистами
– Целенаправленное – модуль изначально создается с целью reuse

Примеры: MS .NET Framework, Windows Forms, Remoting, WCF,
Enterprise Library, Office Extensions, DLL, API, GUI
Целенаправленный reuse лучше и в кризис. Условия:
–
–
–
–

соблюдение стандартов
документирование,
тестирование (в т.ч. сборочное)
дисциплина разработки

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Reuse: экономика и проблемы
Проблемы:
• «Ножницы» между желаемым и действительным:
– Потенциальный reuse - до 85% кода (инновации – около 15%)
– Реальный reuse - до 40% кода

•
•
•
•
•

«Свой», «новый» код лучше «чужого» (амбиции кодера)
«Чужой» код «ненадежен» (сомнения в качестве)
«Где, когда и зачем искать код?» (сложность поиска по БД)
«Слишком дорого» (кодирование стоит +60%, а еще reuse)
«Юридические казусы» (клиент получает права на ПО при
контрактной работе)
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Юнит-тесты
•

Преимущественные направления технологий:
–
–
–
–

•

Тип и рамки тестов – выбор РМ:
–
–
–
–

•
•

Просмотр/инспекция – ошибки интерфейса
«Черный ящик» – ошибки логики управления
Док-ва корректности – ошибки редких и важных модулей
Анализ надежности – оценка оставшихся ошибок
Экономический анализ
прекращение тестов
Перекодирование
Порог ошибок/надежности

Технологии близки по эффективности !
Технологии комбинируются с учетом:
– Характера/масштаба проекта,
– знаний/зрелости команды,
– экономики проекта (в т.ч. «кризисных» особенностей)
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

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

•
•
•
•

необходим гибкий выбор логических/операционных модулей
сборка выявляет ошибки кодирования
для интерфейсных тестов нужны CASE-средства
следует совмещать модульное и сборочное тестирование

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Внедрение и сопровождение
•
•
•
•
•
•

Продукт – это только код?
Что мы передаем заказчику?
Документация к ПО - роль, состав, границы?
Главная цель разработки? – Сопровождение!
Как достичь "бесшовного" сопровождения?
Сопровождение и документирование – что нам
поможет?

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Продукт – не только код!
Документация по фазам ЖЦ ПО
ФАЗА ЖЦ
Анализ
требований
Спецификация

ДОКУМЕНТАЦИЯ
Документ требований / прототип продукта
Документ спецификации (деревья решений, неформальные спецификации, спецификации ввода-вывода, ER- и DF- диаграммы, …)

Проектирование

Архитектурный, эскизный, рабочий проект (а также записи
обсуждений и т.д.)

Реализация

Построчная, модульная, модульного тестирования (наборы, рез-ты)

Интеграция

Сборочного тестирования (наборы, результаты), по продукту для
заказчика

Сопровождение

Обновление документации (требования, спецификации, проект,
тесты, модули)

Вывод из
Документация не производится
эксплуатации

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Документация к ПО: зачем?
Причины необходимости:
• Текучесть/мобильность кадров
• Сжатые сроки
• Коррекция проекта на фазе реализации
• Ошибки/проблемы сопровождения
Выводы:
• Продукт – не только код
• Код НЕ документирует себя сам!
• План документирования – часть плана проекта
• Весь ЖЦ нужно тщательно документировать
• Документацию готовят участники процесса
• Итоговая проверка документации до передачи:
– Внутренняя корректность (полнота, однозначность, непротиворечивость)
– соответствие стандартам и коду

• Порядок документирования зависит от модели ЖЦ (каскадная – завершение
документации перед переходом к след. фазе)
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Документация: что нам поможет?
Док-ция ОС

Объем, тыс.
строк

Код
Док-ция ПО
0

20

40

60

80

100

120

140

Док-ция, min

Трудозатраты, час

Код
Док-ция, max

Выводы:
• Документация – объемная и затратная часть ЖЦ ПО
• Документация – неотъемлемая и необходимая часть ЖЦ ПО
• Пути роста снижения трудозатрат на документирование:
0

50

100

150

200

250

– соответствие характеру и масштабу проекта
– применение CASE
– стандарты (международные, федеральные, отраслевые, корпоративные)
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Экономика сопровождения
Требования
2

5
6

22

Спецификации
5
7

Проектирование

8

Совершенствующее
Корректирующее
Адаптивное
Прочие

Кодирование

8

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

60
10

Типы:
• Совершенствующее – Интеграция
рост производительности / функциональности
• Корректирующее – устранение в продукте остаточных ошибок
• Адаптивное – коррекция продукта с учетом нового АО и ПО заказчика
Выводы:
• Крайне сложная, многоаспектная и самая затратная часть ЖЦ ПО
• Не применять в новом релизе более одного вида сопровождения
Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Выход из кризиса – оптимизация ЖЦ
ПИ – комплекс мер по оптимизации ЖЦ ПО с учетом характера и масштаба
Оптимизация может упрощать (и даже исключать!) отдельные стадии ЖЦ

Разработка, тестирование
и сопровождение ПО

Ключи к экономии (и успеху):
• раннее выявление ошибок
• грамотная постановка,
• выбор модели/архитектуры, процессов/методов/средств
• выбор логических/операционных модулей
• четкая ревизия проекта,
• знания/зрелость (дисциплина, стандарты, CASE)
• разумная достаточность этапов (метрики)
• модульность, высокое сцепление, низкая связность
• комбинирование технологий
• планирование и управление (РМ)
• человеческий фактор
Критерии перспективности подхода:
•% reuse
•сопровождаемость

Software Project Management Conference, Казань, 6 ноября 2013 г.
Кризисное управление проектами: проблемы, компромиссы, решения

Благодарю за внимание!
Вопросы?
Сергей Зыков (НИУ ВШЭ)
SZykov@HSE.Ru
SZykov@hotmail.com
http://www.hse.ru/org/persons/3468544/index.html
НИУ ВШЭ: 105181, г.Москва, ул.Кирпичная д.33/5
Телефон: + 7 (495) 772-9590

Software Project Management Conference, Казань, 6 ноября 2013 г.

More Related Content

What's hot

Безопасная разработка приложений на практике
Безопасная разработка приложений на практикеБезопасная разработка приложений на практике
Безопасная разработка приложений на практикеPointlane
 
SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.Valery Boronin
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыCUSTIS
 
Жизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложенийЖизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложенийRISClubSPb
 
PT Application Inspector SSDL Edition листовка
PT Application Inspector SSDL Edition листовкаPT Application Inspector SSDL Edition листовка
PT Application Inspector SSDL Edition листовкаValery Boronin
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...it-people
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахCUSTIS
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovMaxim Tsepkov
 
AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеМихаил Кононов
 
А.Иванов -- Системная инженерия SmartGrid
А.Иванов -- Системная инженерия SmartGridА.Иванов -- Системная инженерия SmartGrid
А.Иванов -- Системная инженерия SmartGridAnatoly Levenchuk
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Менеджер продукта: где границы роли?
Менеджер продукта: где границы роли?Менеджер продукта: где границы роли?
Менеджер продукта: где границы роли?Yury Kupriyanov
 
Концепция продукта
Концепция продуктаКонцепция продукта
Концепция продуктаYury Kupriyanov
 
Безопасность и сертификация банковского ПО
Безопасность и сертификация банковского ПОБезопасность и сертификация банковского ПО
Безопасность и сертификация банковского ПОAlex Babenko
 
Доклад на Software People 2013
Доклад на Software People 2013Доклад на Software People 2013
Доклад на Software People 2013Natalia Zhelnova
 
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
Модуль 2: Лекция 9-10.  Обзор методологий, фреймворковМодуль 2: Лекция 9-10.  Обзор методологий, фреймворков
Модуль 2: Лекция 9-10. Обзор методологий, фреймворковYana Brodetski
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Yana Brodetski
 
Инструменты управления требованиями: затычки, костыли и грабли
Инструменты управления требованиями: затычки, костыли и граблиИнструменты управления требованиями: затычки, костыли и грабли
Инструменты управления требованиями: затычки, костыли и граблиSQALab
 
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова НатальяDUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Натальяit-people
 

What's hot (20)

Безопасная разработка приложений на практике
Безопасная разработка приложений на практикеБезопасная разработка приложений на практике
Безопасная разработка приложений на практике
 
SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.SecDevOps. Разработка, DevOps и безопасность.
SecDevOps. Разработка, DevOps и безопасность.
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
 
Жизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложенийЖизненный цикл безопасной разработки платежных приложений
Жизненный цикл безопасной разработки платежных приложений
 
PT Application Inspector SSDL Edition листовка
PT Application Inspector SSDL Edition листовкаPT Application Inspector SSDL Edition листовка
PT Application Inspector SSDL Edition листовка
 
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
DUMP-2013 Управление разработкой - Метрики в проектах по разработке нового пр...
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
AgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в БанкеAgileDays 2016. Внедрение Agile в Банке
AgileDays 2016. Внедрение Agile в Банке
 
А.Иванов -- Системная инженерия SmartGrid
А.Иванов -- Системная инженерия SmartGridА.Иванов -- Системная инженерия SmartGrid
А.Иванов -- Системная инженерия SmartGrid
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Менеджер продукта: где границы роли?
Менеджер продукта: где границы роли?Менеджер продукта: где границы роли?
Менеджер продукта: где границы роли?
 
Концепция продукта
Концепция продуктаКонцепция продукта
Концепция продукта
 
Безопасность и сертификация банковского ПО
Безопасность и сертификация банковского ПОБезопасность и сертификация банковского ПО
Безопасность и сертификация банковского ПО
 
Доклад на Software People 2013
Доклад на Software People 2013Доклад на Software People 2013
Доклад на Software People 2013
 
01ka-nov
01ka-nov01ka-nov
01ka-nov
 
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
Модуль 2: Лекция 9-10.  Обзор методологий, фреймворковМодуль 2: Лекция 9-10.  Обзор методологий, фреймворков
Модуль 2: Лекция 9-10. Обзор методологий, фреймворков
 
Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
 
Инструменты управления требованиями: затычки, костыли и грабли
Инструменты управления требованиями: затычки, костыли и граблиИнструменты управления требованиями: затычки, костыли и грабли
Инструменты управления требованиями: затычки, костыли и грабли
 
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова НатальяDUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
DUMP-2013 Управление разработкой - Как дорасти до аналитика? - Желнова Наталья
 

Viewers also liked

Введение в управление проектами
Введение в управление проектамиВведение в управление проектами
Введение в управление проектамиValerii Kosenko
 
Жизненный цикл проекта
Жизненный цикл проектаЖизненный цикл проекта
Жизненный цикл проектаOlya Kollen, PhD
 
Управление проектами в Ms Project
Управление проектами в Ms ProjectУправление проектами в Ms Project
Управление проектами в Ms Projectevgrushman
 
Тестирование беспроводных интерфейсов
Тестирование беспроводных интерфейсовТестирование беспроводных интерфейсов
Тестирование беспроводных интерфейсовSQALab
 
Управление проектами информатизации. Введение. Тема 1
Управление проектами информатизации. Введение. Тема 1Управление проектами информатизации. Введение. Тема 1
Управление проектами информатизации. Введение. Тема 1Olya Kollen, PhD
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?SQALab
 

Viewers also liked (8)

Введение в управление проектами
Введение в управление проектамиВведение в управление проектами
Введение в управление проектами
 
Жизненный цикл проекта
Жизненный цикл проектаЖизненный цикл проекта
Жизненный цикл проекта
 
семинар управление проектами
семинар управление проектамисеминар управление проектами
семинар управление проектами
 
Управление проектами в Ms Project
Управление проектами в Ms ProjectУправление проектами в Ms Project
Управление проектами в Ms Project
 
Тестирование беспроводных интерфейсов
Тестирование беспроводных интерфейсовТестирование беспроводных интерфейсов
Тестирование беспроводных интерфейсов
 
Управление проектами информатизации. Введение. Тема 1
Управление проектами информатизации. Введение. Тема 1Управление проектами информатизации. Введение. Тема 1
Управление проектами информатизации. Введение. Тема 1
 
учебные проекты
учебные проектыучебные проекты
учебные проекты
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?
 

Similar to Кризисное управление проектами: проблемы, компромиссы, решения

2012 andieva e_ju_innovative_management_of_complex_software_projects
2012 andieva e_ju_innovative_management_of_complex_software_projects2012 andieva e_ju_innovative_management_of_complex_software_projects
2012 andieva e_ju_innovative_management_of_complex_software_projectsdataomsk
 
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]Alex V. Petrov
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахDanil Dintsis, Ph. D., PgMP
 
Процесс проектирования ИТ-решений
Процесс проектирования ИТ-решенийПроцесс проектирования ИТ-решений
Процесс проектирования ИТ-решенийМаксим Смирнов
 
Проблемы системной инженерии. Русский взгляд.
Проблемы системной инженерии. Русский взгляд.Проблемы системной инженерии. Русский взгляд.
Проблемы системной инженерии. Русский взгляд.Anatoly Levenchuk
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Andrii Gakhov
 
инструментальные средства управления проектами
инструментальные средства управления проектамиинструментальные средства управления проектами
инструментальные средства управления проектамиAndrew Fadeev
 
А.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияА.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияAnatoly Levenchuk
 
Решения Lement Pro - Партнёрское обучение
Решения Lement Pro - Партнёрское обучениеРешения Lement Pro - Партнёрское обучение
Решения Lement Pro - Партнёрское обучениеAlexey Abramov
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
Разработка требований и Проектирование интерфейсов
Разработка требований и Проектирование интерфейсовРазработка требований и Проектирование интерфейсов
Разработка требований и Проектирование интерфейсовDenis Beskov
 
САПР и ГИС
САПР и ГИССАПР и ГИС
САПР и ГИСSoftline
 
Управление проектами
Управление проектами Управление проектами
Управление проектами Nimax
 
Современна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияСовременна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияMarcus Akoev
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU
 
должностные обязанности
должностные обязанностидолжностные обязанности
должностные обязанностиNatalia Zhelnova
 
Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-системRoman Ivliev
 

Similar to Кризисное управление проектами: проблемы, компромиссы, решения (20)

2012 andieva e_ju_innovative_management_of_complex_software_projects
2012 andieva e_ju_innovative_management_of_complex_software_projects2012 andieva e_ju_innovative_management_of_complex_software_projects
2012 andieva e_ju_innovative_management_of_complex_software_projects
 
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
IT CAMPUS. How to Stop Worrying and Clear Your Technical Debt [RUS]
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
 
Процесс проектирования ИТ-решений
Процесс проектирования ИТ-решенийПроцесс проектирования ИТ-решений
Процесс проектирования ИТ-решений
 
Проблемы системной инженерии. Русский взгляд.
Проблемы системной инженерии. Русский взгляд.Проблемы системной инженерии. Русский взгляд.
Проблемы системной инженерии. Русский взгляд.
 
Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1Семинар ФКН: современные подходы к разработке ПО - часть 1
Семинар ФКН: современные подходы к разработке ПО - часть 1
 
инструментальные средства управления проектами
инструментальные средства управления проектамиинструментальные средства управления проектами
инструментальные средства управления проектами
 
А.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектированияА.Левенчук -- Будущее проектирования
А.Левенчук -- Будущее проектирования
 
Решения Lement Pro - Партнёрское обучение
Решения Lement Pro - Партнёрское обучениеРешения Lement Pro - Партнёрское обучение
Решения Lement Pro - Партнёрское обучение
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
Разработка требований и Проектирование интерфейсов
Разработка требований и Проектирование интерфейсовРазработка требований и Проектирование интерфейсов
Разработка требований и Проектирование интерфейсов
 
САПР и ГИС
САПР и ГИССАПР и ГИС
САПР и ГИС
 
электронный проектный офис
электронный проектный офисэлектронный проектный офис
электронный проектный офис
 
Управление проектами
Управление проектами Управление проектами
Управление проектами
 
Современна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерияСовременна Программная инженерия. Системная инженерия
Современна Программная инженерия. Системная инженерия
 
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
Tech Talks @NSU: Методологии разработки ПО. Что на самом деле скрывается за с...
 
должностные обязанности
должностные обязанностидолжностные обязанности
должностные обязанности
 
голубушин
голубушинголубушин
голубушин
 
Task-Centered Design
Task-Centered DesignTask-Centered Design
Task-Centered Design
 
Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-систем
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Кризисное управление проектами: проблемы, компромиссы, решения

  • 1. Кризисное управление проектами: проблемы, компромиссы, решения Сергей Зыков к.т.н., доц. НИУ ВШЭ
  • 2. Кризисное управление проектами: проблемы, компромиссы, решения О себе Зыков Сергей, к.т.н., доц.ГУ-ВШЭ (отделение ПИ факультета УрПО), Master CIW / CWP Designer, iCarnegie Certified Instructor (SSD1/9) Стаж в ИТ-отрасли – более 20 лет. • В 1996-2007 гг. работал в международной нефтегазовой группе «ИТЕРА» (в т.ч. зам. директора департамента ИТ). • Руководил проектами внедрения ERP-систем в компаниях НГК «ИТЕРА». • В 2002-2007 гг. руководил проектами создания Интернет- и Интранетпорталов НГК «ИТЕРА», ИПУ РАН и др. корпоративных структур. Автор 10 монографий, более 100 статей, ряда учебных курсов по ИТ и корпоративным программным комплексам (МАИ, МИФИ, МФТИ, НИУ ВШЭ, IBS, Microsoft Research, ЛАНИТ, ИНТУИТ, SoftLine, TEKAMA и др.). WWW: www.hse.ru/org/persons/3468544 E-mail: SZykov@hotmail.com Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 3. Кризисное управление проектами: проблемы, компромиссы, решения Содержание Программная инженерия - кризис или депрессия? Ответ кризису - "тюнинг" ЖЦ • Проект или продукт? • Структура ЖЦ и оптимизация затрат • "Факторы роста": диалог, дисциплина, стандарты, CASE Модели ЖЦ ПО - "скелет" оптимизации ООП - возможности и действительность От проектирования до передачи • Прототип, реализация, сборка: цели, затраты, средства • Reuse - важность, артефакты, границы Главная цель ЖЦ - сопровождаемость • Состав продукта и роль документации • Сопровождение: виды, требования, средства, экономика ЖЦ ПО - как бороться с кризисом? Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 4. Кризисное управление проектами: проблемы, компромиссы, решения Аналоги кризиса ПИ в экономике  Кризис в экономике США, Великая депрессия  Современный глобальный экономический кризис  Этапы развития производства  Искусство (уникальные, неповторимые шедевры)  Ремесло («кустари-одиночки»)  Мануфактура (специализация, кооперирование, ручной труд)  Промышленность (автоматизированный конвейер)  Выводы  Все аналогии не вполне верны (параллель с архитектурным строительством)  Нужна науч.-тех. дисциплина (программная инженерия) Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 5. Кризисное управление проектами: проблемы, компромиссы, решения Кризис в программной индустрии  Начало: 60-е гг. ХХ века  Причины:  «Анархия» разработки (параметры «проектного треугольника» неуправляемы)  Непредсказуемый, безответственный, бессистемный ЖЦ  Примат АО над ПО (1950-е–60-е )  Одна методология – «проб и ошибок»  Выводы  Нужна систематизация проектирования  Нужен рост ответственности за результаты труда Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 6. Кризисное управление проектами: проблемы, компромиссы, решения Депрессия в программной индустрии  Начало: 70-е гг. прошлого века  Причины:  Искусство стало наукой, но не вполне - технологией  Созданы крупные центры научной разработки (CMU SEI)  Затяжной характер «кризиса» => депрессия  Рост значимости ПО (жизнеобеспечение, оборона и др.)  Отсутствие универсальной методологии  Выводы:  Кризис не побежден (непобедим ???)  Депрессия продолжается <= «серебряной пули» нет  Выход из кризиса – оптимизация ЖЦ Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 7. Кризисное управление проектами: проблемы, компромиссы, решения Зачем нужна программная инженерия?  ПИ – комплексная НТ-основа построения ПО  Причины - нужна дисциплина для построения:  Больших систем (терабайты и петабайты данных)  Сложных систем (тысячи файлов, десятки модулей, сотни компонент, пример – ERP Oracle E-Business Suite)  Качественных систем (надежность, безопасность, отказоустойчивость, эргономика, многократное использование, документация, сопровождаемость, …)  Систем сложной архитектуры (порталы, веб-сервисы, …)  Гетерогенных систем (арх-ры, БД, структурированность)  Вывод: ПИ необходима Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 8. Кризисное управление проектами: проблемы, компромиссы, решения ПИ: проблемы и заблуждения Возникают вопросы: Почему… • …создание ПО так дорого? • … ПО так долго создается? • … сложно измерить продвижение проекта? • … нельзя обнаружить все ошибки до приемки? На эти вопросы сложно ответить: • В создании ПО участвует много сторон: заказчики, разработчики, руководство • У сторон-участников разные цели, ожидания и ограничения. Согласование разумных подходов может серьезно увеличить сроки и стоимость продукта При кризисе вывод качественного продукта на рынок в срок – жизненно важен для разработчика !!! Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 9. Кризисное управление проектами: проблемы, компромиссы, решения ПИ: определения «великих» ПИ – дисциплина, цель которой - производство систем, не содержащих ошибок, отвечающих требованиям заказчика, срокам и бюджету (по S.R.Schach) ПИ – комплекс задач, методов, средств и технологий создания (проектирования и реализации) сложных, расширяемых, тиражируемых, высококачественных программных систем (возможно, включающих БД) (по В.В.Липаеву) ПИ – дисциплина, охватывающая все аспекты создания ПО от начальной стадии разработки требований до использования (по И.Соммервиллу) Вывод: ПИ – комплекс мер по оптимизации ЖЦ ПО Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 10. Кризисное управление проектами: проблемы, компромиссы, решения ПИ и архитектура (SEC, 1968) Аналогия ограничена: • быстрый прототип ПО не обязан быть надежным • ошибка в завершенном ПО – не катастрофа • перезапуск программы – дешевле перестройки здания • ошибки в ПО накапливаются со временем • ошибки в ПО труднее выявлять • строить безошибочное ПО нужно другими методами • подход «повышенной прочности» неприемлем • Вместо этого: – последовательность, проверка предположений – отчеты об ошибках, способы восстановления до сбоя Software Project Management Conference, Казань, 6 ноября 2013 г. (1)
  • 11. Кризисное управление проектами: проблемы, компромиссы, решения ПИ и архитектура (SEC, 1968) (2) Аналогия ограничена: При сопровождении: – повторная разработка ПО инкрементальна; – изменения в ПО более масштабны и радикальны (здание может служить 100 лет при min сопровождении); – ЖЦ ПО гораздо короче; – ПО быстро морально устаревает – ПО становится дешевле заменить, чем сопровождать – Накопленный опыт разработки не всегда ведет к лучшему ПО (быстро меняются сложные платформы) Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 12. Кризисное управление проектами: проблемы, компромиссы, решения Кризис и экономика ЖЦ Разработка ПО – многофакторная оптимизация Вариативность ПО с желаемым выходом по заданной спецификации бесконенчна! Цель антикризисной разработки ПО: многомерная оптимизация модели ЖЦ с учетом: – сроков – стоимости – качества – сопровождаемости Приоритетность параметров оптимизации зависит от характера и масштаба ПО и др. кризисных факторов Для оптимизации ЖЦ необходимы четкая декомпозиция на процессы, адекватный выбор методов и средств разработки ПО Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 13. Кризисное управление проектами: проблемы, компромиссы, решения Кризис и экономика ЖЦ Стадии ЖЦ ПО, общие для всех моделей: – Анализ требований – Подготовка спецификаций – Проектирование – Реализация – Интеграция – Сопровождение – Вывод из эксплуатации Оптимизация может упрощать (и даже исключать!) отдельные стадии ЖЦ Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 14. Кризисное управление проектами: проблемы, компромиссы, решения Кризис и экономика ЖЦ Примерный вклад фаз ЖЦ в стоимость ПО,% Требования 2 5 6 Спецификации 5 7 Проектирование 8 Кодирование 67 Тестирование Интеграция Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 15. Кризисное управление проектами: проблемы, компромиссы, решения Кризис и экономика ЖЦ Примерный вклад фаз ЖЦ в сроки проекта,% 20 25 20 Треб.+Спец. Проектирование Код. + Тест. Интеграция 35 Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 16. Кризисное управление проектами: проблемы, компромиссы, решения Кризис и экономика ЖЦ – Основные затраты – на сопровождение (особенно для длительных проектов и сложных систем) – Средства, увеличивающие расширяемость ПО (и/или сроки обновления и тестирования) более эффективны, чем все ухищрения при кодировании – Фазы, предшествующие кодированию и следующие за ним, составляют 30% затрат (кодирование – 5%): • «обрамляющие» стадии улучшают ПО и ускоряют кодирование – Большинство ошибок – в ходе проектирования и спецификаций (нужны формальные методы анализа) – Цена поиска ошибок экспоненциально растет по мере продвижения проекта по ЖЦ – Ошибки следует выявлять ASAP! (иначе – сквозная трассировка ВСЕХ артефактов ПО) – Грамотная постановка, выбор модели/архитектуры, четкая ревизия проекта, дисциплина, стандарты, знание CASE, разумная достаточность документации – ключи к экономии Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 17. Кризисное управление проектами: проблемы, компромиссы, решения Модели ЖЦ ПО - "скелет" антикризисной оптимизации • Модель «проб и ошибок» (build-and-fix) • "Однопроходная" водопадная модель • «Циклический» ЖЦ: – – – – – Модель быстрого прототипирования Инкремент(аль)ная модель Модель синхронизации и стабилизации Спиральная модель ОО-модель Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 18. Кризисное управление проектами: проблемы, компромиссы, решения Модели ЖЦ ПО в сравнении Модель ЖЦ Преимущества Недостатки «Проб и ошибок» Экономия для малых проектов с просНеприменима для проектов от 1000 строк тыми требованиями/сопровождением Водопадная (один проход) ПО за 1 проход, четкая дисциплина, строгая документация Прототип Экономичное уточнение функционала Нетехнологичный код Техническая «неграмотность» клиента Инкрементальная (эволюционная) Нужна расширяемая архитектура, при «Рабочее»ПО за 1 проход =>Быстрый «революции» требований может ROI плавная сопровождаемость выродиться в «пробы и ошибки» Синхростабилизации Быстрый поиск ошибок, интероперабельность и интеграция Масса специфических знаний (тесты и др.) Спиральная При прототипировании включает преимущества целого ряда моделей Крупные внутренние проекты; затратное управление рисками ОО-модель Итеративная разработка с распараллеливанием Без дисциплины, стандартов, знаний CASE может выродиться в «пробы и ошибки» Однопроходность не гарантирует соответствия ПО требованиям заказчика Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 19. Кризисное управление проектами: проблемы, компромиссы, решения Оптимизация объектной модели • • • • • • • • • • Структурный или объектный подход? Каковы принципы ООП? Идеология последовательной конкретизации - доколе? UML - зачем нам столько диаграмм? Прочие диаграммы (ERD, DFD и т.д.) - когда и в какой мере? Архитектурное проектирование - "скелет" продукта Эскизное и детальное проектирование - теория и практика Модели статики и динамики - подходы и ограничения Ревизия проекта - особенности и техника Выводы: ООП - как реализовать потенциал? Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 20. Кризисное управление проектами: проблемы, компромиссы, решения Принципы проектирования • Модульность – возможность декомпозиции продукта на на малые, самодостаточные компоненты-модули • Сцепление – мера сходства или взаимодействия компонентов модуля • Связность – мера взаимодействия модулей продукта • Преимущества модульности – в легкости: – Восприятия - ПО структурировано, компоненты слабо независимы – Тестирования - локализация ошибок упрощается – Сопровождения – влияние модуля на другие сведено к минимуму Высокое сцепление, низкая связность – ПОЧЕМУ? Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 21. Кризисное управление проектами: проблемы, компромиссы, решения От проектирования – к реализации Пути экономии Выбор модели ЖЦ ПО – критический фактор для сроков, стоимости и успеха внедрения: • «Однопроходная» – параллелизм кодирования и тестирования – сборка – по их окончании – водопадная/каскадная • «Циклические» – итеративность фаз для каждого релиза – – – – – «проб и ошибок» инкрементальная эволюционная cихростабилизации спиральная • «Параллельные»/«интегрированные» – тесное взаимодействие процессов кодирования, тестирования и сборки – Объектно-ориентированная Критерий перспективности подхода - % reuse Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 22. Кризисное управление проектами: проблемы, компромиссы, решения Модули: с «чистого листа» или reuse? Reuse (многократное использование) – использование модулей одного продукта при производстве другого, с иными функциональными требованиями Виды reuse: – Непреднамеренное – допускается программистами – Целенаправленное – модуль изначально создается с целью reuse Примеры: MS .NET Framework, Windows Forms, Remoting, WCF, Enterprise Library, Office Extensions, DLL, API, GUI Целенаправленный reuse лучше и в кризис. Условия: – – – – соблюдение стандартов документирование, тестирование (в т.ч. сборочное) дисциплина разработки Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 23. Кризисное управление проектами: проблемы, компромиссы, решения Reuse: экономика и проблемы Проблемы: • «Ножницы» между желаемым и действительным: – Потенциальный reuse - до 85% кода (инновации – около 15%) – Реальный reuse - до 40% кода • • • • • «Свой», «новый» код лучше «чужого» (амбиции кодера) «Чужой» код «ненадежен» (сомнения в качестве) «Где, когда и зачем искать код?» (сложность поиска по БД) «Слишком дорого» (кодирование стоит +60%, а еще reuse) «Юридические казусы» (клиент получает права на ПО при контрактной работе) Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 24. Кризисное управление проектами: проблемы, компромиссы, решения Юнит-тесты • Преимущественные направления технологий: – – – – • Тип и рамки тестов – выбор РМ: – – – – • • Просмотр/инспекция – ошибки интерфейса «Черный ящик» – ошибки логики управления Док-ва корректности – ошибки редких и важных модулей Анализ надежности – оценка оставшихся ошибок Экономический анализ прекращение тестов Перекодирование Порог ошибок/надежности Технологии близки по эффективности ! Технологии комбинируются с учетом: – Характера/масштаба проекта, – знаний/зрелости команды, – экономики проекта (в т.ч. «кризисных» особенностей) Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 25. Кризисное управление проектами: проблемы, компромиссы, решения Сборочные тесты • необходим план интеграции и тестирования – общий порядок, технологии, процессы, ответственные, структура затрат – область ответственности группы контроля качества ПО • • • • необходим гибкий выбор логических/операционных модулей сборка выявляет ошибки кодирования для интерфейсных тестов нужны CASE-средства следует совмещать модульное и сборочное тестирование Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 26. Кризисное управление проектами: проблемы, компромиссы, решения Внедрение и сопровождение • • • • • • Продукт – это только код? Что мы передаем заказчику? Документация к ПО - роль, состав, границы? Главная цель разработки? – Сопровождение! Как достичь "бесшовного" сопровождения? Сопровождение и документирование – что нам поможет? Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 27. Кризисное управление проектами: проблемы, компромиссы, решения Продукт – не только код! Документация по фазам ЖЦ ПО ФАЗА ЖЦ Анализ требований Спецификация ДОКУМЕНТАЦИЯ Документ требований / прототип продукта Документ спецификации (деревья решений, неформальные спецификации, спецификации ввода-вывода, ER- и DF- диаграммы, …) Проектирование Архитектурный, эскизный, рабочий проект (а также записи обсуждений и т.д.) Реализация Построчная, модульная, модульного тестирования (наборы, рез-ты) Интеграция Сборочного тестирования (наборы, результаты), по продукту для заказчика Сопровождение Обновление документации (требования, спецификации, проект, тесты, модули) Вывод из Документация не производится эксплуатации Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 28. Кризисное управление проектами: проблемы, компромиссы, решения Документация к ПО: зачем? Причины необходимости: • Текучесть/мобильность кадров • Сжатые сроки • Коррекция проекта на фазе реализации • Ошибки/проблемы сопровождения Выводы: • Продукт – не только код • Код НЕ документирует себя сам! • План документирования – часть плана проекта • Весь ЖЦ нужно тщательно документировать • Документацию готовят участники процесса • Итоговая проверка документации до передачи: – Внутренняя корректность (полнота, однозначность, непротиворечивость) – соответствие стандартам и коду • Порядок документирования зависит от модели ЖЦ (каскадная – завершение документации перед переходом к след. фазе) Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 29. Кризисное управление проектами: проблемы, компромиссы, решения Документация: что нам поможет? Док-ция ОС Объем, тыс. строк Код Док-ция ПО 0 20 40 60 80 100 120 140 Док-ция, min Трудозатраты, час Код Док-ция, max Выводы: • Документация – объемная и затратная часть ЖЦ ПО • Документация – неотъемлемая и необходимая часть ЖЦ ПО • Пути роста снижения трудозатрат на документирование: 0 50 100 150 200 250 – соответствие характеру и масштабу проекта – применение CASE – стандарты (международные, федеральные, отраслевые, корпоративные) Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 30. Кризисное управление проектами: проблемы, компромиссы, решения Экономика сопровождения Требования 2 5 6 22 Спецификации 5 7 Проектирование 8 Совершенствующее Корректирующее Адаптивное Прочие Кодирование 8 67 Тестирование 60 10 Типы: • Совершенствующее – Интеграция рост производительности / функциональности • Корректирующее – устранение в продукте остаточных ошибок • Адаптивное – коррекция продукта с учетом нового АО и ПО заказчика Выводы: • Крайне сложная, многоаспектная и самая затратная часть ЖЦ ПО • Не применять в новом релизе более одного вида сопровождения Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 31. Кризисное управление проектами: проблемы, компромиссы, решения Выход из кризиса – оптимизация ЖЦ ПИ – комплекс мер по оптимизации ЖЦ ПО с учетом характера и масштаба Оптимизация может упрощать (и даже исключать!) отдельные стадии ЖЦ Разработка, тестирование и сопровождение ПО Ключи к экономии (и успеху): • раннее выявление ошибок • грамотная постановка, • выбор модели/архитектуры, процессов/методов/средств • выбор логических/операционных модулей • четкая ревизия проекта, • знания/зрелость (дисциплина, стандарты, CASE) • разумная достаточность этапов (метрики) • модульность, высокое сцепление, низкая связность • комбинирование технологий • планирование и управление (РМ) • человеческий фактор Критерии перспективности подхода: •% reuse •сопровождаемость Software Project Management Conference, Казань, 6 ноября 2013 г.
  • 32. Кризисное управление проектами: проблемы, компромиссы, решения Благодарю за внимание! Вопросы? Сергей Зыков (НИУ ВШЭ) SZykov@HSE.Ru SZykov@hotmail.com http://www.hse.ru/org/persons/3468544/index.html НИУ ВШЭ: 105181, г.Москва, ул.Кирпичная д.33/5 Телефон: + 7 (495) 772-9590 Software Project Management Conference, Казань, 6 ноября 2013 г.