Файл: Технология раработки програмного обеспечения УП.pdf

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 
 

186 

иное

важное

направление

деятельности,

включая

функцию

раз-

работки.

Лицо,

которое

руководит

этим

направлением,

считает-

ся

ответственным

за

все

аспекты

создания

изделия,

выпускае-

мого

организацией.

Чтобы

координировать

процесс

разработки,

это

лицо

имеет

право

назначать

администраторов

изделия

и

ру-

ководителей

проектов

и

обеспечивать

их

взаимодействие.

8.1.3 Организация взаимодействия 

Если

все

взаимодействия

хорошо

определены,

то

и

управ-

ление

ими

организовано

должным

образом.

Если

же

взаимодей-

ствия

плохо

организованы,

то

даже

при

жесткой

линейной

структуре

подчинения

трудно

будет

создать

конечное

изделие.

Важнейшим

принципом

любого

вида

управления

является

разделение

целого

на

части,

и

многие

методы

и

средства

осно-

вываются

именно

на

этом

принципе.

Совокупность

точек,

в

которых

две

функциональные

группы

взаимодействуют

друг

с

другом,

называется

организа-

ционной

границей.

Иногда

функция

может

иметь

один

канал

взаимодействия

со

всеми

остальными

функциями,

однако

более

вероятно,

что

она

имеет

несколько

границ

соприкосновения.

Границы

функции

определяются

множеством

зафиксированных

и

незафиксированных

планов,

стратегий,

процедур,

которые

определяют

функциональные

обязанности.

Чем

больше

сведе-

ний

фиксируется

в

письменном

виде,

тем

лучше,

т.к.

это

уменьшает

двусмысленность.

Основное

свойство

организаци-

онной

границы

состоит

в

разграничении

ответственности

(кто

и

что

делает,

каким

образом,

для

чего

и

т.д.).

Неполное

определе-

ние,

двусмысленность

и

сложность

приводят

к

невозможности

описания,

а

следовательно,

и

понимания

природы

взаимодейст-

вия.

Но

ни

сами

документы,

ни

их

коллективное

обсуждение

не

могут

обеспечить

действенных

взаимосвязей,

если

отсутст-

вуют

контакты

функциональных

групп.

Общие

организационные

обязанности

могут

устанавли-

ваться

с

помощью

должностных

инструкций

и

целевых

планов

подразделений.

Конкретные

обязанности

определяются

плана-

ми

выпуска

изделия.

Пропорциональное

распределение

ответ-


background image

 
 

187 

ственности

обеспечивается

соответствующими

стратегиями

управления.

В

них

обязательно

должны

предусматриваться

возможности

невыполнения

взятых

обязательств

и

учитываться

поправки

на

исключительные

случаи,

чтобы

сделать

планы

и

процедуры

жизнеспособными.

8.1.4 Установление целей, средства их достижения 

Первым

шагом

процесса

установления

и

достижения

це-

лей

является

подбор

необходимого

персонала.

Когда

в

органи-

зации

происходят

изменения,

соответственно

меняется

и

ее

персонал.

Некоторые

изменения

происходят

периодически.

По-

добные

изменения

характеризуются

экспоненциальным

ростом

числа

устанавливаемых

связей.

Чтобы

приспособиться

к

этим

колебаниям,

нужны

руководители,

способные

к

адаптации.

Ру-

ководителей,

продуктивных

только

в

каком-либо

одном

виде

деятельности,

нужно

заменять.

Программирование

область

деятельности,

требующая

высокой

квалификации,

оно

привле-

кает

к

себе

неординарных,

эксцентричных

людей.

Такие

люди

редко

понимают

структуру

организации,

ориентированную

на

создание

программного

продукта,

часто

отказываются

работать

в

условиях

ограничения

свободы

творчества,

т.к.

они

вынужде-

ны

тратить

время

на

документирование

или

защиту

своих

раз-

работок.

Однако

их

участие

в

«черновой

работе»

необходимо,

и

чтобы

склонить

этих

людей

к

работе,

необходимо

комплекто-

вать

штат,

руководствуясь

соображениями

эффективности.

Это

означает

отход

от

идеальных

установленных

общих

правил,

предоставление

свободного

режима

прихода

и

ухода

с

работы,

выделение

таким

людям

помощников,

способных

компенсиро-

вать

их

неумение

четко

документировать

свои

результаты.

Но

при

этом

следует

сравнивать

прямые

затраты,

связанные

со

стимулированием

«привилегированных»

сотрудников,

а

также

неявные

издержки,

связанные

с

ухудшением

морального

со-

стояния

их

сослуживцев,

с

получаемой

организацией

выгодой.

Основным

методическим

принципом

управления

разра-

боткой

является

целевое

управление.

Целевое

управление

представляет

собой

концепцию

пла-

нирования

и

управления,

с

помощью

которой

руководитель

ус-


background image

 
 

188 

танавливает

соответствующие

цели

через

своего

непосредст-

венного

руководителя

более

высокого

ранга

и

участвует

в

уста-

новлении

целей

последнего;

при

этом

результаты

его

деятель-

ности

оцениваются

на

основании

конкретного

обсуждения

и

документального

рецензирования.

Цели

присутствуют

в

планах

самого

различного

уровня:

целевых

планах,

бюджете,

планах

выпуска

изделий,

документа-

ции

и

т.д.

Основной

план

для

программного

изделия

согла-

шение

о

требованиях.

Цели,

сформулированные

в

этом

плане,

должны

включаться

в

индивидуальные

рабочие

планы,

служа-

щие

тем

механизмом,

посредством

которого

в

системе

целевого

управления

достигается

договоренность

между

исполнителями

и

их

руководителями.

Достижение

цели

гарантируется

включением

общих

це-

лей

создания

изделия

в

индивидуальные

рабочие

планы

и

орга-

низацией

текущего

контроля

за

их

выполнением.

Соглашение

о

требованиях,

план

поддержки,

распределе-

ние

бюджета

и

другие

средства

устанавливают

те

границы,

в

пределах

которых

не

требуется

использование

обратной

связи.

Существует

три

вида

основных

критериев

оценки

эффек-

тивности

той

или

иной

деятельности:

конкретные

свойства;

затрачиваемое

время;

стоимость.

Каждый

из

этих

критериев

имеет

определенные

границы

действия,

по

достижению

которых

обязательно

предоставление

отчета

руководству

о

результатах.

Однако

следует

учитывать,

что

управление

созданием

программных

изделий

является

примером

управления

в

услови-

ях

неопределенности.

Качество

такого

управления

зависит

от

способностей

руководителей

предвидеть

трудности,

планиро-

вать

разработку

с

учетом

случайных

факторов

и

уметь

защи-

щать

такого

рода

планирование

от

критики

начальства,

которое

требует

непременно

«исключить

случайность».


background image

 
 

189 

8.1.5 Подбор и обучение кадров 

Поскольку

разработка

программных

средств

является

достаточно

сложной

процедурой,

то

для

ее

реализации

нужны

специалисты

высокой

квалификации,

т.е.

для

проектирования

программного

обеспечения

необходимо

выделять

высококвали-

фицированный

персонал

на

все

участки

работы.

Следует

искать

таких

людей,

которые

выполняли

подобные

функции

достаточ-

но

хорошо,

либо

тех,

кто

выполнял

очень

грамотно

функции

чуть

меньшей

сложности.

Руководство

проектами

надо

поручать

лишь

тем

специа-

листам,

которые

обладают

подобным

опытом.

Здесь

очень

хо-

рошо

работает

концепция

бригады

главного

программиста.

Но

ведь

люди

где-то

должны

начинать

работать?

Так

как

в

настоящее

время

подготовка

в

университете

достаточно

осно-

вательная

(структурное,

объектно-ориентированное

программи-

рование

и

др.),

то

нишу

проблемных

программистов

могут

за-

полнить

выпускники

университетов.

С

наибольшей

вероятностью

квалифицированный

персо-

нал

можно

найти

среди

поставщиков

универсального

про-

граммного

обеспечения.

Основная

черта,

которой

должен

обла-

дать

кандидат,

способность

подчиняться

дисциплине.

Он

должен

понимать

важность

нисходящего

подхода

в

создании

программного

изделия

и

документирования

программы

до

ее

кодировки.

Надо

обратить

внимание

на

то,

что

результаты

работы

любого

программиста

должны

быть

понятны

другим,

и

ими

можно

воспользоваться.

Любя

попытка

выполнить

нужную

ра-

боту,

с

помощью

специалистов

не

самого

высокого

класса,

об-

речена

на

провал.

Важным

фактором

для

успешного

выполнения

работ

яв-

ляется

обеспечение

продвижения

по

службе.

Целесообразно

максимально

использовать

имеющиеся

должностные

инстан-

ции.

Составить

формальные

должностные

инструкции,

опреде-

ляющие

соответствующее

повышение

ответственности

и

обяза-

тельно

устанавливающие

одинаковые

уровни

квалификации

для

должностей

одного

уровня.


background image

 
 

190 

Кроме

вертикального

продвижения

по

служебной

лестни-

це,

следует

обеспечить

продвижение

по

горизонтальному

уров-

ню.

Должна

поощряться

широта

профессиональных

интересов

и

упрощаться

проблема

подбора

кадров

для

выполнения

менее

важных

функций

путем

включения

в

должностные

инструкции

более

высоких

уровней

описания

тех

функций,

выполнения

ко-

торых

достаточно

для

занятия

более

низких

должностей

в

тех

или

иных

подразделениях.

Принимая

на

работу

людей

любого

уровня

квалификации,

необходимо

обеспечить

им

возможность

продвижения

по

служ-

бе

в

результате

дополнительного

профессионального

обучения.

По

каждой

выполняемой

функции

должен

быть

подготовлен

семинар,

рассчитанный

на

слушателей

с

различным

уровнем

квалификации.

Работу

семинара

следует

организовать

так,

что-

бы

на

нем

рассматривались

наиболее

значимые

и

уникальные

средства

проектирования.

Для

стимулирования

заинтересован-

ности

в

этих

семинарах

можно

сделать

участие

в

них

обяза-

тельным

условием

для

получения

конкретного

назначения.

Не

менее

важно

обучение

вне

рамок

организации.

Необ-

ходимо

максимально

использовать

участие

сотрудников

проек-

та

в

семинарах

по

профилю,

проводимых

передовыми

школами

программирования.

Естественно,

что

такое

обучение

дело

доро-

гостоящее,

поэтому

необходимо

иметь

твердую

уверенность,

что

затраты

на

обучение

дадут

должный

эффект.

8.2 

Организация

планирования

разработок

программного

изделия

Планы

создания

программного

изделия

должны

охваты-

вать

этапы

разработки,

документирования,

испытаний,

обуче-

ния

пользователей,

сопровождения.

Отсутствие

планов

ос-

новная

причина

переделки

программ.

Естественно,

что

в

планах

невозможно

предусмотреть

все

категории

пользователей,

одна-

ко

можно

принять

разумные

меры

предосторожности

на

не-

предвиденные

случаи.

Программное

изделие

это

собственно

программа

плюс

документация,

гарантия

качества,

рекламные

материалы,

обу-

чение,

распространение

и

сопровождение.

Таким

образом,

для