Задачи управления проектами
Эта лекция посвящена управлению проектами по разработке, поддержке или модификации программного обеспечения. С достаточно общих позиций можно считать задачей управления проектами эффективное использование ресурсов для достижения нужных результатов. Всегда нужно получить как можно более хорошие результаты, используя при этом как можно меньше ресурсов. При этом в первую очередь возникают два вопроса: что именно считается «хорошим» результатом проекта и чем, какими ресурсами, можно пользоваться для его достижения.
Чтобы ответить на вопрос о том, какими критериями руководствуются при оценке проектов, и чего нужно добиваться, надо рассмотреть его с разных аспектов.
Одним из самых важных критериев является экономическая эффективность проекта, т.е. отношение суммы доходов разного рода, полученных в его результате, ко всем затраченным ресурсам. К сожалению, эти доходы чаще всего невозможно определить заранее. Поэтому при оценках проекта вместо дохода от его результатов рассматривают качество создаваемого ПО во всех его аспектах, т.е. набор имеющихся функций, надежность работы, производительность, удобство для всех категорий пользователей, а также удобство расширения и внесения изменений. Характеристики качества должно соотноситься с требованиями рынка или заказчика и с уже имеющимися продуктами.
С более общих позиций и экономические, и неэкономические показатели результативности проекта объединяют в понятие ценностей, создаваемых в его ходе. Эти ценности могут иметь различную природу в зависимости от проекта, от организации, в рамках которой он проводится, от национально-культурных особенностей рынка и персонала и пр. Кроме того, ценности выстраиваются в иерархию в зависимости от уровней рассмотрения проектов.
•В одном конкретном проекте основной ценностью может быть достижение запланированного качества результатов в указанный срок и в рамках определенного бюджета.
Вто же время, могут быть получены и другие ценности: достигнута высокая сплоченность команды; новые члены коллектива приобретут серьезные знания и полезные навыки; команда овладеет новыми технологиями; ее члены получат повышение и/или поощрения, которые повысят их лояльность компании и т.п.
•На уровне нескольких зависящих друг от друга проектов (такую группу проектов называют программой), в ходе которых создаются и дорабатываются несколько продуктов на единой платформе, а также могут оказываться различные услуги, связанные с этими продуктами, ценности связаны, прежде всего, с качеством общей архитектуры создаваемых продуктов.
Водном проекте работа иногда ведется по принципу «сдали-и-забыли», т.е. основные усилия направлены на то, чтобы заказчик подписал акт приемки работ или его аналог, после чего поставщик перестает отвечать за результаты, поэтому часто такой аспект
- Предисловие
- Лекция 1. Проблемы разработки сложных программных систем
- Программы «большие» и «маленькие»
- Принципы работы со сложными системами
- Литература к Лекции 1
- Лекция 2. Жизненный цикл и процессы разработки ПО
- Понятие жизненного цикла ПО
- Модели жизненного цикла
- «Тяжелые» и «легкие» процессы разработки
- Унифицированный процесс Rational
- Экстремальное программирование
- Лекция 4. Анализ предметной области и требования к ПО
- Анализ предметной области
- Выделение и анализ требований
- Литература к Лекции 4
- Лекция 5. Качество ПО и методы его контроля
- Качество программного обеспечения
- Методы контроля качества
- Ошибки в программах
- Лекция 6. Архитектура программного обеспечения
- Анализ области решений
- Архитектура программного обеспечения
- Разработка и оценка архитектуры на основе сценариев
- Литература к Лекции 6
- Лекция 7. Образцы проектирования
- Образцы человеческой деятельности
- Многоуровневая система
- Литература к Лекции 7
- Лекция 8. Образцы проектирования (продолжение)
- Данные–представление–обработка
- Идиомы
- Шаблонный метод
- Образцы организации и образцы процессов
- Литература к Лекции 8
- Понятность
- Методы разработки удобного программного обеспечения
- Лекция 10. Основные конструкции языков Java и C#
- Платформы Java и .NET
- Целочисленные типы
- Инструкции и выражения
- Выражения
- Наследование
- Шаблонные типы и операции
- Описание метаданных
- Средства создания многопоточных программ
- Основные понятия компонентных технологий
- Общие принципы построения распределенных систем
- Лекция 13. Компонентные технологии разработки Web-приложений
- Web-приложения
- Платформа Java 2 Enterprise Edition
- Именование
- Работа с XML
- Отказоустойчивость
- Защита
- Работа с XML
- Литература к Лекции 13
- Уровень бизнес-логики и модели данных в J2EE
- Компоненты, управляемые сообщениями
- Уровень модели данных в .NET
- Уровень пользовательского интерфейса в J2EE
- Уровень пользовательского интерфейса в .NET
- Лекция 15. Развитие компонентных технологий
- Развитие технологий J2EE
- Java Data Objects
- Enterprise Java Beans 3.0
- Среда Spring
- Защита
- Литература к Лекции 15
- Лекция 16. Управление разработкой ПО
- Задачи управления проектами
- Окружение проекта
- Структура организации-исполнителя проекта
- Управление рисками