Пиши Дома Нужные Работы

Обратная связь

Бригада главного программиста

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

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

Пусть объем проектируемого ПИ оценивается в 50000 строк (исходных команд), а производительность одного программиста примем равной 5000 строк в год. Пусть, далее, срок разработки данного ПИ ограничен двумя годами. Тогда, очевидно, для создания такого ПИ достаточно пяти программистов. Однако, поскольку составные части ПИ (модули) взаимосвязаны, то при их создании программисты должны взаимодействовать между собой. Пусть время, затраченное на взаимодействие с каждым коллегой, обходится каждому программисту в 250 строк/год, тогда в соответствии со схемой их взаимодействия, представлен­ной на рис. 1 а, производительность каждого программиста составляет только 4000 строк/год. Таким образом, для реализации проекта в 5000 строк в течение двух лет необходимо уже не пять, а восемь программистов, производительность каждого при этом составляет только 3250 строк/год. Так как для успешной работы такой группы необходим руководитель, то окончательно имеем группу из девяти человек, производительность каждого при этом будет составлять всего 3000 строк/год .



Хотя приведенный пример и носит иллюстративный характер, так как производительность труда программистов, оцениваемая числом строк в единицу времени, по данным Дж. Фокса может различаться на 2 порядка, он, тем не менее, отражает суть проблемы, называемой «коммуникационным взрывом». В настоя­щее время существуют методы ограничения влияния коммуника­ционного взрыва и повышения производительности труда про­граммистов. Одним из таких методов является организация работ в группе по принципу хирургической бригады — бригады главного программиста. Как правило, главный программист — это высоко­квалифицированный специалист с хорошими организаторскими способностями. Его производительность может в несколько раз превышать производительность остальных членов бригады. Воз­главляя бригаду, он одновременно является и техническим руководителем проекта. В состав бригады могут входить также администратор, старший программист и библиотекарь. Поддерживая тесную связь с главным программистом, стар­ший программист разрабатывает наиболее сложные компоненты ПИ, осуществляя при этом взаимодействие с остальными членами бригады.

На рис. 1в приведена схема взаимодействия в бригаде главного программиста, состоящей из пяти человек. Так как и главный программист, и старший программист являются высококвалифицированными специалистами, производительность которых может значительно превышать 5000 строк/год, средняя производительность в такой бригаде также может превышать 5000 строк/год по сравнению с 4000 в предыдущем примере. Включение в бригаду администратора, занимающегося распреде­лением времени, размещением исполнителей и другими админи­стративно-хозяйственными вопросами, не является обязательными и справедливо только при разработке больших программных проектов.

 

Рис 1. Разработка программного обеспечения группой программистов: а— из 5 человек, б — из 9 человек, в — бригадой главного программис­та из 5 человек

 

Что касается оптимальной численности бригады главного программиста, то большинство специалистов единодушны в том, что число членов бригады должно быть равным 7±2.

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

Относительно небольшое число организационных принципов существенно отличает структуру разработки большого про­граммного проекта от общепризнанной структуры промышленного производства.. Рассмот­рим основные компоненты этой схемы более подробно.

1. Руководство определением требований.

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

3. Непосредственно проектирование возглавляется главным архитектором проекта и его службой. Главный архитектор не заменяет и не подменяет руководителя проекта. Его функции ограничиваются научно-технической стороной разработки, т. е. наиболее творческой составляющей создания ПИ.

4.Отдел разработки ПО состоит из описанных выше бригад главного программиста, которые в случае необходимости могут группироваться по отдельным подсистемам или иным компонентам ПИ. Руководитель отдела обеспечивает оперативное управление всеми этими бригадами программистов.

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

6. Группа или отдел качества (надежности) создается на самом раннем этапе разработки ПИ. Она является самостоятель­ным подразделением, чем обеспечивается большая объективность тестирования и оценки качества.

 

Организационная структура разработки программного обес­печения

 

Следует отметить, что решающее влияние на процесс проектирования и организацию коллективной работы программистов оказывает выбранная модель проектирования – модель быстрой разработки приложений (RAD), классический жизненный цикл, экстремальное программирование (ХР). Подробно эти модели представлены ранее, в главе, посвященной жизненному циклу программ, стратегиям и моделям конструирования программного обеспечения.

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.