Если в организации практикуется создание бригад главных программистов, необходимо зарезервировать такие посты, как посты главного программиста, помощника главного программиста и проблемного программиста, для неформального решения вопроса о соответствующих назначениях, так же как часто резервируется пост руководителя проекта. Такая стратегия позволяет польстить самолюбию вновь назначаемого старшего инженера по программному обеспечению, который до этого занимал должность старшего программиста в проекте средних масштабов, и помочь избежать моральных переживаний старшему инженеру, которому могут предложить работать проблемным программистом. [c.59]
Наконец, в вершине иерархии методов проектирования помещается концепция бригады главного программиста, в состав которой входят главный программист, его помощник, администратор библиотеки, а также от одного до пяти проблемных программистов. Главный программист является старшим техническим руководителем группы, который управляет ею и вместе со своим помощником проектирует, кодирует и объединяет модули высокого уровня или наиболее важные модули. Помощник главного программиста, на котором лежит ответственность за разработку некоторых из этих модулей, также является старшим техническим экспертом, он, кроме того, всегда должен быть готов взять на себя роль главного программиста бригады. Администратор библиотеки, являющийся высококвалифицированным секретарем, осуществляет функции, связанные с библиотекой поддержки разработки. Проблемные программисты составляют младший технический персонал, который по указанию главного программиста занимается написанием и отладкой отдельных модулей, не играющих критической роли в системе. Используя методы нисходящего проектирования, структурного программирования, а также библиотеку поддержки разработки, главный программист и его помощник тщательным образом проверяют тексты программы, написанные проблемными программистами с точки зрения функциональной полноты этих программ и их соответствия правилам структурного программирования. [c.91]
Помощник главного программиста 57. [c.382]
Обратите внимание на каморки, в которых ютятся ваши программисты, посмотрите, до какого состояния дошли рабочие столы супервайзеров и управляющего персонала, в каком состоянии стол вашего секретаря и офис вашего помощника. Зайдите в отдел, занимающийся микрофотокопированием и электронной обработкой текстов, посмотрите на стол главного бухгалтера. Что вы можете ска- [c.622]
Прежде всего рассмотрим проблему подбора кадров. Поскольку речь идет об универсальных программных средствах, т. е. предназначенных для эксплуатации в нестандартных условиях, вряд ли нужно доказывать, что такое программное обеспечение должно быть достаточно сложным и для его разработки нужны специалисты высокой квалификации. В противном случае каждый пользователь мог бы обойтись собственными силами и не было бы необходимости создавать программные изделия. Замечание Дей-кстры о системном проектировании — этот вид работы очень сложен и любая попытка выполнить ее с помощью специалистов не самого высокого класса либо обречена на неудачу, либо ее ждет скромный успех при огромных расходах [30] —относится к любому универсальному программному обеспечению. Для проектирования такого программного обеспечения необходимо выделять квалифицированный персонал на всех участках работы. Следует искать людей, которые уже выполняли подобные функции по крайней мере достаточно хорошо, или тех, кто выполнял очень грамотно функции чуть меньшей сложности. Руководство проектами надо всегда поручать лишь тем специалистам, которые уже обладают таким опытом. Здесь можно воспользоваться концепцией бригады главного программиста при обсуждении кандидатуры на место этого руководителя следует иметь в виду, что наиболее подходящим является специалист, уже имеющий опыт работы в роли помощника главного программиста. Может показаться, что назначение на руководящие должности только квалифицированного персонала с практическим опытом носит слишком безапелляционный характер. Ведь когда-то и где-то люди должны начинать работать, но как смогут они это сделать, если будут принимать на работу только опытных специалистов К счастью, в университетах в настоящее время обучают структурному программированию и проектированию, и большинство студентов получают некоторые практические навыки во время учебы. Таким образом, новые специалисты в области вычислительной техники могут часто рассматриваться как достаточно квалифицированные для их назначения в качестве проблемных программистов, т. е. рядовых программистов, которые находятся в распоряжении главного программиста и его помощников или работают в качестве системных программистов на более низких должностях в традиционных программных проектах. [c.57]
Если используются библиотеки материально-технического обеспечения разработки, предусматривающие услуги, связанные с жестким контролем документации и программ, делопроизводством, и статистической обработкой данных на уровне проекта, то следует предусматривать должность для лица, выполняющего роль администратора проекта. Как показал Кук [31], роль библиотекаря кажется малопочетной, особенно если эту должность занимает мужчина. Кук предлагает облекать администратора определенными техническими полномочиями, например возлагая на него организацию обсуждений проекта, и назначать на это место специалистов со средней технической квалификацией. Это превосходная идея, особенно если сделать еще один шаг вперед пусть успешное выполнение функций администратора одного проекта будет основанием для азначения данного сотрудника помощником главного программиста в другом проекте. Наряду с выполнением требований, необходимых для дальнейшего продвижения по службе, это позволит решить проблему обеспечения кадрами некоторых традиционно непопулярных функций. [c.59]