- •Содержание
- •1 Основы программной инженерии 5
- •2 Основы управления программными проектами 71
- •3 Продвижение программных продуктов на промышленном рынке 101
- •Введение
- •Основы программной инженерии
- •Предназначение и основные понятия программной инженерии
- •Основные положения индустриального проектирования программных продуктов
- •Основные компоненты технологии создания программных продуктов
- •Модели описания бизнес-процессов предметной области
- •Модели жизненного цикла программных продуктов
- •Case-технология создания программных продуктов
- •Руководство к Своду знаний по программной инженерии (Guide to the Software Engineering Body of Knowledge –swebok)
- •Определение требований
- •Проектирование по
- •Конструирование по
- •Тестирование по
- •Сопровождение по
- •Государственный стандарт рф гост р исо/мэк 12207-99. «Информационная технология. Процессы жизненного цикла программных средств»1
- •Практические рекомендации по взаимодействию разработчика и заказчика при создании программного обеспечения
- •Базовые стандарты оценки качества программных продуктов и баз данных
- •Основы управления программными проектами
- •Основные понятия и определения
- •Управление рисками проекта
- •Организация командной работы над проектом
- •Он должен сам точно представлять реальные возможности своих сотрудников, в противном случае неприятные неожиданности неизбежны;
- •Практические рекомендации по управлению жизненным циклом разработки программного проекта
- •Раздел 1. «выпустить»
- •Раздел 2. « лучший продукт»
- •Раздел 3. «выпустить точно в срок»
- •Продвижение программных продуктов на промышленном рынке
- •Основные понятия и особенности промышленного рынка
- •Классификация программных продуктов
- •Продвижение программных продуктов в сети Интернет
- •Основы ценообразования на тиражные программные продукты
- •Управление лицензиями на программное обеспечение
- •Глоссарий
- •Литература
-
Организация командной работы над проектом
Процесс разработки ПП имеет свою организационную структуру управления, которая определяет распределение ответственности и полномочий среди участников проекта. К участникам проекта относятся все заинтересованные стороны, которые участвуют в проекте или чьи интересы могут быть затронуты при исполнении или завершении проекта. В большинстве литературных источников выделяют следующий основной состав участников проекта:
инициатор проекта — физическое или юридическое лицо (группа лиц), являющееся автором главной идеи проекта, его предварительного обоснования. В качестве инициатора может выступать любой из участников проекта, но деловая инициатива по осуществлению проекта должна исходить либо от инвестора, либо от заказчика;
инвестор — физическое или юридическое лицо (группа лиц), предоставляющие в любой форме финансовые ресурсы для проекта;
заказчик — будущий владелец и пользователь результатов проекта, физическое или юридическое лицо, заинтересованное в осуществлении проекта и достижении его результатов. Следует учитывать, что заказчик и инвестор проекта не всегда совпадают;
куратор проекта — представитель исполнителя, уполномоченный принимать решение о выделении ресурсов и внесении необходимых изменений в проекте;
руководитель проекта — проект-менеджер, физическое лицо, которому заказчик и инвестор делегируют полномочия по руководству работами по осуществлению проекта. Участники также могут влиять на проект и его результаты поставки;
соисполнители проекта — физические или юридические лица, выполняющие на договорной основе отдельные виды работ по проекту;
команда проекта — формируется в зависимости от потребностей, условий проектирования и организационной структуры выполнения проекта.
В соответствии с методологий Microsoft Solutions Framework в команде проекта: [11] предлагается выделить пять функциональных групп специалистов:
Группа разработки требований состоит из следующих специалистов, каждый из которых выполняет свойственные только ему роли:
-
бизнес-аналитик - разрабатывает модели предметной области (онтологии);
-
архитектор - определяет общее видение продукта, его - концепцию, интерфейсы, функционал и ограничения;
-
системный аналитик - отвечает за перевод требований к продукту в функциональные требования к ПО;
-
специалист по требованиям - документирует и сопровождает требований к продукту;
-
менеджер продукта (функциональный заказчик) - представляет в проекте интересы пользователей продукта.
В группе управления проектом роли распределяются следующим образом:
-
руководитель проекта отвечает за достижение целей проекта при заданных ограничениях (по срокам, бюджету и содержанию), осуществляет управление и контроль реализации проекта и эффективное использования выделенных ресурсов;
-
системный архитектор обеспечивает разработку технической концепции системы, принятие ключевых проектных решений относительно внутреннего устройства программного обеспечения и ее технических интерфейсов;
-
руководитель группы тестирования определяет цели и стратегии тестирования, обеспечивает управление тестированием.
Группа проектирования и разработки ПП состоит из проектировщиков и программистов и обеспечивает:
-
проектирование базы данных системы, компонентов и подсистем в соответствие с общей архитектурой, разработку архитектурно значимых модулей, интерфейса пользователя;
-
проектирование, реализация и отладка отдельных модулей системы.
Группа тестирования в проекте выполняет следующее роли: разработка тестовых сценариев и автоматизированных тестов, тестирование продукта, анализ и документирование результатов.
Участники группы обеспечения реализации проекта, как правило, не входят в команду проекта. Они выполняют работы в рамках своей профессиональной деятельности. К этой группе можно отнести следующие проектные роли:
-
разработчик документации;
-
переводчик;
-
дизайнер графического интерфейса;
-
разработчик учебных курсов;
-
специалист по маркетингу и продажам;
-
специалист по инструментальным средствам.
За эффективную реализацию программного продукта в целом отвечает руководитель проекта, основная задача которого состоит в том, чтобы:
-
найти нужных людей;
-
дать им ту работу, для которой они лучше всего подходят;
-
не забывать о мотивации;
-
помогать им сплотиться в одну команду и работать так дальше.
При этом необходимо учитывать следующие специфические особенности программиста и как личности и как профессионального участника команды [13].
1. Высокая самооценка программиста. Узкая специализация и высокая профессиональная квалификация в конкретной области часто вызывают завышенную самооценку своих возможностей у сотрудников. В связи с этим у руководителя возникают две проблемы: