Управление разработкой ПО
Основы программной инженерии
Кулямин В.В., ВМК МГУ
Общие цели управления проектами
•Проект – деятельность, нацеленная на получение определенных результатов в рамках заданных ограничений на затраты ресурсов
•Часть ресурсов расходуется – время, бюджет, материалы и пр.
•Часть ресурсов используется, но не расходуется – работники, инструменты, технологии и пр.
•Многие ресурсы могут быть приобретены за деньги, но не все
•Время и бюджет проекта всегда ограничены
Деятельность без ограничения времени и бюджета – операционная – управляется другими методами
•Цель управления проектом – максимизация отношения полученных результатов к затраченным ресурсам при соблюдении заданных ограничений
•Экономическая эффективность – отношение полученных доходов к расходам Важная, но только частичная цель
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
2 |
Результаты проектов
Создаваемые ценности
•Единовременные
•Заработанные деньги
•Среднесрочные
•Качество созданного/доработанного программного обеспечения
•Захваченная доля рынка и занятое место среди организаций, работающих в данной области
•Наработанный опыт в использованных технологиях
•Долгосрочные
•Сплоченная команда разработчиков
•Созданные инновационные решения и патенты
•Технологическое лидерство в определенной сфере
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
3 |
Особенности ПО
•Программное обеспечение – интеллектуальный продукт
•ПО состоит практически полностью из проекта, нет отдельной большой стадии производства (производство пренебрежимо дешево)
•Большая часть проектных решений – невидима, находится в сознании (и подсознании) разработчиков, часто не документируется
•Команда проекта имеет первостепенную важность для его успеха
•Оно нематериально, нет видимых физических ограничений, связанных с его построением, но оно трудоемко и подвержено собственным ограничениям
•Крайне тяжело проконтролировать текущее состояние разработки и качество, проведение контроля качества – отдельная трудоемкая деятельность
•Для контроля качества дешевле создавать и поддерживать специальные артефакты (наборы тестов, конфигурации инструментов анализа и пр.)
•Создаваемое программное обеспечение практически всегда уникально
Иначе проще и дешевле приобрести готовое
•Его разработка – творческий процесс, не поддается конвейеризации
•Нет стандартных и пригодных для любого ПО средств и методов разработки
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
4 |
Деятельности в управлении проектами
•Управление содержанием проекта и качеством результатов
•Управление ресурсами
•Управление рисками
•Управление коммуникациями и информационное обеспечение
•Управление конфигурациями и изменениями
•Управление проектной средой и технологиями
•Контроль и мониторинг состояния проекта
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
5 |
Управление рисками
•Риски – события и ситуации, возникновение которых не предопределено, но может отрицательно сказаться на ходе проекта
•Благоприятные возможности – то же, но с положительным влиянием
•Деятельности
•Выявление рисков
•Анализ и оценка рисков
•Вероятность
•Последствия – возможный ущерб/ценность
•Выработка стратегии преодоления
•Предотвращение и обход
•Минимизация ущерба
•Планирование реакции на события
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
6 |
Классификация рисков
•Проектные
•Технологические – недостаточная производительность или пригодность инструментов/технологий
•Кадровые – непригодность, недостаток опыта, конфликты
•Риски требований – изменения
•Коммерческие – неправильные оценки доходов и расходов
•Управленческие – неправильные цели, решения, неадекватный контроль
•Производственные
•Продуктовые
•Риски бизнеса
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
7 |
Классификация рисков
•Проектные
•Продуктовые
•Технические – проблемы достижения нужных показателей
•Эксплуатационные – неготовность и накладки при эксплуатации
•Правовые и общественные – споры и конфликты по патентам и продукту
•Риски бизнеса
•Контрактные – проблемы у поставщиков/соисполнителей
•Инвестиционные – проблемы с финансированием проекта
•Сбытовые – недополучение доходов от сбыта, отказы от продукта
•Конъюнктурные – блокировка рынка, опережение конкурентами
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
8 |
Управление содержанием и качеством
•Определение целей проекта
•Критерии достижения целей
•Показатели качества
•Значения показателей и сроков, означающие провал проекта
•Определение иерархической структуры работ (work breakdown structure)
o Способы разбиения работ
•По задачам
•По промежуточным результатам (deliverables)
•Разбиение строится вплоть до хорошего понимания содержания каждой
отдельной работы
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
9 |
Примеры структуры работ
• По задачам
• |
Подготовка |
… |
• |
Проектирование |
… |
• |
Разработка |
… |
• |
Развертывание |
… |
• По результатам
• Договор |
… |
• Прототип |
… |
• Проект |
… |
• Продукт |
… |
• Работающая система |
… |
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
10 |
