Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Управление программными проектами

Покупка
Артикул: 769636.01.99
Доступ онлайн
120 ₽
В корзину
В учебном пособии раскрывается содержание управления программными проектами как специфического вида деятельности по разработке и продвижению на рынок программных продуктов. Предназначено для изучения дисциплины «Управление программными проектами» студентами различных направлений подготовки.
Ехлаков, Ю. П. Управление программными проектами : учебное пособие / Ю. П. Ехлаков. - Томск : Эль-Контент, 2014. - 140 с. - ISBN 978-5-4332-0163-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/1845916 (дата обращения: 21.09.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство образования и науки Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Ю. П. Ехлаков

УПРАВЛЕНИЕ
ПРОГРАММНЫМИ ПРОЕКТАМИ

Учебное пособие

Томск
«Эль Контент»
2014

УДК
004.413(075.8)
ББК
32.973.26-018.2я73
Е 934

Рецензенты:

Силич В. А., докт. техн. наук, профессор кафедры оптимизации
систем управления Национального исследовательского
Томского политехнического университета;

Мещеряков Р. В., докт. техн. наук, профессор кафедры комплексной
информационной безопасности электронно-вычислительных систем ТУСУРа.

Ехлаков Ю. П.
Е 934
Управление программными проектами : учебное пособие / Ю. П. Ехлаков. — Томск : Эль Контент, 2014. — 140 с.

ISBN 978-5-4332-0163-7

В учебном пособии раскрывается содержание управления программными проектами как специфического вида деятельности по разработке
и продвижению на рынок программных продуктов. Предназначено для
изучения дисциплины «Управление программными проектами» студентами различных направлений подготовки.

УДК
004.413(075.8)
ББК
32.973.26-018.2я73

ISBN 978-5-4332-0163-7
Ехлаков Ю. П., 2014

Оформление.
ООО «Эль Контент», 2014

ОГЛАВЛЕНИЕ

Введение
5

1
Основные понятия программного продукта и программного проекта
7

1.1
Основные понятия программного продукта . . . . . . . . . . . . . . . .
7

1.2
Основные понятия программного проекта . . . . . . . . . . . . . . . . .
10

2
Стандартизация основных процессов жизненного цикла создания
программных продуктов
20

2.1
Руководство к Своду знаний по программной инженерии (Guide to
the Software Engineering Body of Knowledge — SWEBOK) . . . . . . .
20

2.1.1
Этап «Определение требований» . . . . . . . . . . . . . . . . . .
20

2.1.2
Этап «Проектирование ПП» . . . . . . . . . . . . . . . . . . . . .
24

2.1.3
Этап «Конструирование ПП» . . . . . . . . . . . . . . . . . . . .
26

2.1.4
Этап «Тестирование ПП»
. . . . . . . . . . . . . . . . . . . . . .
28

2.1.5
Этап «Сопровождение ПП» . . . . . . . . . . . . . . . . . . . . .
32

2.2
Государственные стандарты РФ серии ГОСТ Р . . . . . . . . . . . . . .
36

2.3
Серия стандартов «Единая система программной документации
(ЕСПД): ГОСТ 19.102–77 ЕСПД «Стадии разработки» . . . . . . . . .
41

3
Модели жизненного цикла программного продукта
45

3.1
Каскадная модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45

3.2
V-образная модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48

3.3
Модель прототипирования
. . . . . . . . . . . . . . . . . . . . . . . . . .
50

3.4
Модель быстрой разработки приложений — RAD
. . . . . . . . . . . .
52

3.5
Инкрементная модель жизненного цикла разработки . . . . . . . . . .
54

3.6
Спиральная модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57

3.7
Методика выбора модели жизненного цикла разработки ПП . . . . .
60

4
Командообразование
67

4.1
Организация командной работы над проектом . . . . . . . . . . . . . .
67

4.2
Роль руководителя в команде . . . . . . . . . . . . . . . . . . . . . . . . .
74

4.3
Основные модели управления командой проекта
. . . . . . . . . . . .
76

4.4
Основные положения мотивации программиста как участника
проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78

5
Инициация программного проекта
84

5.1
Подготовительный этап . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85

5.2
Этап генерации идей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85

Оглавление

5.3
Этап обсуждения и оценки привлекательных идей
. . . . . . . . . . .
86

5.4
Разработка концепций программного проекта
. . . . . . . . . . . . . .
87

5.5
Этап выбора перспективной концепции будущего ПП . . . . . . . . .
89

5.5.1
Оценка перспективности концепции на основе мнения
экспертов
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89

5.5.2
Гибридная модель оценки перспективности концепции . . . .
90

6
Планирование и реализация программного проекта
93

6.1
Основное содержание этапов
планирования и реализации программного проекта . . . . . . . . . . .
93

6.2
Содержательные модели структурной декомпозиции проекта . . . . .
95

6.3
Математические модели планирования программных проектов . . . . 101
6.3.1
Содержательная и математическая модели формирования
календарного плана программного проекта
. . . . . . . . . . . 101

6.3.2
Алгоритм формирования календарного плана программного
проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6.4
Алгоритм выравнивания ресурсов . . . . . . . . . . . . . . . . . . . . . . 105

6.5
Рекомендации по управлению ЖЦ программных проектов
. . . . . . 107

7
Управление рисками программного проекта
111

7.1
Основные понятия риска и рискообразующих факторов . . . . . . . . 111

7.2
Управления рисками: идентификация . . . . . . . . . . . . . . . . . . . . 116

7.3
Управления рисками: анализ . . . . . . . . . . . . . . . . . . . . . . . . . 118

7.4
Управления рисками:
планирование мероприятий по реагированию на риски . . . . . . . . . 124

7.5
Управления рисками: мониторинг и управление рисками . . . . . . . 125

Заключение
127

Литература
128

Приложение А Параметры и функциональные зависимости
гибридной модели
131

ВВЕДЕНИЕ

В настоящее время доля IT-услуг составляет 20% в общем обороте IT-отрасли
экономики России, а темп ежегодного прироста оценивается экспертами в 19%.
Около 26% в общем объеме IT-услуг составляют услуги компаний малого и среднего бизнеса по разработке прикладных программных продуктов (ПП). В то же время
только 35% проектов завершились в срок, не превысили запланированный бюджет
и реализовали все требуемые функции и возможности; 46% проектов завершились
с опозданием, расходы превысили запланированный бюджет, требуемые функции
не были реализованы в полном объеме; 19% проектов были полностью неуспешны
и не доведены до завершения [1].

В связи с этим для коллектива разработчиков, планирующего выйти на рынок,
вопросы управления программными проектами на каждой из фаз жизненного цикла программного продукта (инициации и разработки требований, проектирования
и конструирования, вывода на рынок) являются ключевыми.

В пособии приводится понятие программного продукта, как результата деятельности команды разработчиков и программного проекта, как методологии управления процессами создания программного продукта. Отмечается, что регламентация этих видов деятельности описывается в соответствующих международных
и отечественных стандартах на жизненные циклы (ЖЦ) программного продукта и программного проекта. Приводится сжатое описание наиболее актуальных
стандартов: PMBOK (Project Management Body of Knowledge) — Свод знаний по
управлению проектами, Руководство к Своду знаний по программной инженерии (Guide to the Software Engineering Body of Knowledge — SWEBOK), ГОСТ Р
ИСО/МЭК 12207–99 «Информационная технология. Процессы жизненного цикла программных средств», «Единая система программной документации (ЕСПД):
ГОСТ 19.102–77 ЕСПД «Стадии разработки».

Конкретизация базовых стандартов к особенностям программного продукта
проводится при выборе модели ЖЦ ПП. В пособии описываются содержания,
достоинства, недостатки и области применения следующих моделей: каскадной,
V-образной, прототипирования, быстрой разработки приложений, многопроходной, спиральной.

Проблема командообразования при реализации программных проектов рассматривается, как с точки зрения формирования команды, так и создания условий
для ее эффективной работы. Описываются: основные модели управления командой программного проекта, функциональные роли участников, профессиональные

Введение

и психологические особенности программиста, роль и задачи руководителя проекта, основы мотивации сотрудников, материальные и моральные стимулы к труду.

Наиболее подробно в пособии раскрываются два этапа управления проектами:
инициация и планирование. На фазе инициации создается творческое ядро команды по разработке будущего программного продукта, формируются идея и концепция проекта. Задача выбора и оценки перспективности идеи будущего программного продукта является ключевой. Это связано с тем, что ошибки, допущенные на
этой стадии, существенно влияют на успех проекта в целом. Описываются две модели оценки перспективности концепции, предлагается совокупность критериев,
с помощью которых можно оценить наиболее важную составляющую концепции
проекта — ориентацию на потребителя и рыночные условия.

Особенности программного продукта как результата интеллектуальной деятельности предъявляют определенные требования к фазам планирования программных проектов. В пособии последовательно раскрываются вопросы:

структурной декомпозиции проекта и определения множества работ, которые необходимо выполнить для получения результатов проекта;

выявление и документирование зависимостей между работами проекта;

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

Вероятностный характер процессов планирования программных проектов увеличивает (усиливает) важность вопросов идентификации и управления рисками.
Задачи по управлению рисками состоят в выделении множества рискообразующих
факторов, влияющих на результаты проекта; проведении качественного и количественного анализа и оценки влияния факторов; определении вероятности появления факторов и уровня негативных последствий от их проявления (ущерба,
убытков, потерь) на результаты проекта; принятии одного из возможных вариантов решения по реагированию на риски (уклонение, передача, снижение).

Соглашения, принятые в книге

Для улучшения восприятия материала в данной книге используются пиктограммы и специальное выделение важной информации.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Эта пиктограмма означает определение или новое понятие.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Эта пиктограмма означает цитату.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Контрольные вопросы по главе
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Глава 1

ОСНОВНЫЕ ПОНЯТИЯ ПРОГРАММНОГО
ПРОДУКТА И ПРОГРАММНОГО ПРОЕКТА

1.1 Основные понятия программного продукта

В общем случае под товаром на рынке понимается, как правило, любой продукт производственно-экономической деятельности в материально-вещественной
форме, являющийся объектом купли-продажи и соответственно возникающих между продавцами и покупателями рыночных отношений [1]. С учетом данного определения на рынке прикладных программных продуктов в качестве товара следует
рассматривать программный продукт (ПП) и программное изделие, имеющие следующие специфические формы проявления [2]: программный продукт, программное изделие, коробочный программный продукт.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Программный продукт — совокупность программных компонентов, предназначенных для поставки, передачи или продажи пользователю, снабженных технической документацией, рекламными
материалами, инструкциями по обучению, гарантийными обязательствами по сопровождению и гарантийному обслуживанию.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Программное изделие — программа или логически связанная совокупность программ, записанная на носителях данных, являющаяся
продуктом промышленного производства, снабженная программной документацией и предназначенная для широкого распространения посредством продажи.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Глава 1. Основные понятия
программного продукта и программного проекта

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Коробочный программный продукт — программное обеспечение,
предназначенное для неопределенного круга покупателей и поставляемое на условиях «как есть» со стандартными для всех покупателей функциями, отличающееся как от заказного программного продукта, само появление которого обусловлено требованием конкретного заказчика, так и от тиражного программного
продукта, продажа которого может по требованию заказчика
сопровождаться проектной доработкой или разработкой функций, дополняющих стандартные (базовые) возможности.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Из представленных определений видно, что продается (поставляется) не только ПП и документация, в которой можно прочитать, как установить программу
и как ей пользоваться, данные для установки программы в различных условиях
(конфигурационные файлы), но и могут оказываться услуги по внедрению эксплуатации и сопровождения ПП.

ПП как рыночный товар имеет ряд специфических особенностей [3]:

ПП не материален, его нельзя увидеть в процессе конструирования и, следовательно, оперативно повлиять на его реализацию;

жизненный цикл ПП в существующих стандартах описан в общем виде
и прямо не ориентирован на специфику конкретного продукта, необходимо
адаптировать стандарты к конкретным условиям;

ПП как результат творческого труда не поддаётся точному оцениванию как
по времени создания, так и по требуемому бюджету и поэтому создаётся
в условиях повышенного риска;

потенциальные потребители не могут четко сформулировать требования
к ПП и не имеют четкого представления о технологии его использования
в практической деятельности;

ПП является предметом интеллектуального труда и представляет собой
публикацию текста программы/программ на языке программирования или
в виде исполняемого кода;

ПП вступает в хозяйственный оборот как товар только в случае фиксирования его на материальном носителе (компьютере, дисковом накопителе
и т. п.), в котором он овеществляется и может быть сохранен, преобразован
или передан, при этом обладание материальным носителем информации не
делает его приобретателя уникальным собственником информации;

вовлечение ПП в хозяйственный оборот происходит в процессе коммерциа-
лизации (купли-продажи, переуступки прав собственности) и капитализации (постановки на баланс, инвестирования в уставной капитал).

Таким образом, ПП как товар по своей сути является объектом интеллектуальной собственности, для которого характерна нематериальная природа существования, и обладает следующими свойствами:

он может обмениваться, но не отчуждаться полностью;

1.1 Основные понятия программного продукта
9

он может быть неоднократно продан, являясь при этом одновременно объектом нескольких рыночных сделок;

не исчезает и не изнашивается в процессе использования;

состоит из материального носителя и нематериальной части;

производится в условиях повышенного риска;

характеризуется ничтожными затратами на тиражирование по сравнению
с затратами на разработку продукта;

большую часть стоимости составляют затраты по созданию данного ПП
относительно небольшой группой специалистов;

характеризуется невысокими затратами на тиражирование, обусловленными ничтожно малой стоимостью производственных операций по изготовлению копий ПП по сравнению со стоимостью самого продукта.

Технология процесса производства любого материального продукта представляется в виде жизненного цикла (ЖЦ) как последовательности этапов (фаз, стадий), состоящих из технологических процессов, действий и операций, которые
надо выполнить на протяжении всей «жизни» продукта. Жизненный цикл ПП как
товара определен в стандарте ГОСТ Р ИСО/МЭК 12207–99 «Информационная технология. Процессы жизненного цикла программных средств». В стандарте ЖЦ
ПП определен в виде структуры, состоящей из процессов, работ, задач и описывающей этапы создания и развития ПП от установления требований, разработки,
эксплуатации, сопровождения программного продукта и до полного прекращения
его использования.

Очевидно, что могут существовать различные варианты технологий (как последовательности и способа производства продукта) реализации ЖЦ материального продукта, каждый из которых описывается в виде конкретной модели ЖЦ.

Модель является хорошей абстракцией различных методов разработки ПП,
позволяя лаконично, сжато и информативно их представить. В моделях ЖЦ, необходимо различать фазы и виды деятельности [4].

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Фаза — это определенный этап процесса ЖЦ, имеющий начало,
конец и выходной результат.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Фазы следуют друг за другом в линейном порядке, характеризуются предоставлением отчетности заказчику и, часто, выплатой денег за выполненную часть
работы. Редко какой заказчик согласится первый раз увидеть результаты только
после завершения проекта. С другой стороны, разработчики предпочитают получать деньги постепенно, по мере того, как выполняются отдельные части работы.
Таким образом, появляются фазы, позволяющие создавать и предъявлять промежуточные результаты проекта. Примерами фаз может служить согласование с заказчиком технического задания, реализация определенной функциональности ПП,
этап разработки, оканчивающийся сдачей системы на тестирование или выпуском
альфа-версии.

Глава 1. Основные понятия
программного продукта и программного проекта

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Вид деятельности — это определенный тип работы, выполняемый в процессе ЖЦ разработки ПП.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Разные виды деятельности часто требуют разных профессиональных навыков
и выполняются разными специалистами. Например, управление проектом выполняется менеджером проекта, кодирование — программистом, тестирование — тестировщиком. В рамках одной фазы может выполняться много различных видов деятельности. Кроме того, один вид деятельности может выполняться на разных
фазах — например, тестирование: на фазе анализа и проектирования можно писать
тесты и налаживать тестовое окружение, при разработке и перед сдачей производить, собственно, само тестирование.

Наиболее известными формальными моделями ЖЦ ПП являются: каскадная
модель или водопад, V-образная модель, модель прототипирования, модель быстрой разработки приложений или RAD-модель, многопроходная модель, спиральная
модель.

1.2 Основные понятия программного проекта

Управление процессами разработки ПП с использованием одной из формальных моделей ЖЦ происходит в рамках проектной деятельности IT-компании.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
В литературе [5–7] приводятся следующие определения проекта:

1) комплекс взаимосвязанных мероприятий, предназначенных
для достижения целевых результатов при решении многокритериальных задач в течение заданного периода времени при установленном бюджете в условиях ограниченных
ресурсов;

2) ограниченное по времени целенаправленное изменение
исследуемой системы с установленными требованиями
к качеству результатов, возможными объемами расхода
средств, ресурсов и специфической организацией управления. Управление проектом — это управление этими изменениями с высокой степенью уверенности в успешном исходе;

3) временное предприятие, предназначенное для создания
уникальных продуктов, услуг или результатов;

4) комплекс усилий, предпринимаемых с целью получения конкретных уникальных результатов в рамках отведенного
времени и в пределах утвержденного бюджета, который
выделяется на оплату ресурсов, используемых или потребляемых в ходе проекта;

Доступ онлайн
120 ₽
В корзину