В условиях развитого рынка программного обеспечения и жесткой конкуренции важнейшее значение имеют: возможность получения максимальной прибыли, сроки разработки и тесное взаимодействие с другими коллегами разработчиков.
При профессиональной разработке программного продукта в крупных фирмах и компаниях предъявляются дополнительные требования к процессу разработки.
* Наличие формализованной модели для разработки программного продукта.
* Наилучшая расстановка приоритетов и ресурсов.
* Принятие ясных и документированных решений.
* Соблюдение многочисленных стандартов.
* Обеспечение эффективного взаимодействия между командами р ков, быстрое создание и вхождение в процесс разработки таких команд
* Тесное взаимодействие с группами поддержки и продаж.
Каждая фирма строит свою деятельность, ориентируясь на основной критерий — прибыль. Получение прибыли связано с необходимостью производить для рынка товары (например, программный продукт) и услуги (например, консультации по программному продукту). Как правило, речь о производстве только той продукции, в которой нуждается потребитель
Предпринимательская деятельность фирмы строится исходя из этой задачи, объединяющей пять направлений [Пашкус, Мисько 1991].
* Стратегию в области исследования и развития.
* Оперативную стратегию.
* Финансовую стратегию.
* Маркетинговую стратегию.
* Стратегию человеческих отношений.
Согласно этим направлениям управление можно поделить на три составные части: производственную, финансовую и маркетинг.
Разделим управление (менеджмент) как систему принятия решений в области управления фирмой и поделим всех служащих компании на четыре уровня
* Высший менеджмент (президент фирмы, председатель совета директоров, исполнительный президент, вице-президенты). В его задачу входит определение генеральной линии компании.
* Управляющие среднего уровня (менеджеры структурных подразделений). В их задачу входит координация и стратегическое планирование деятельности структурного подразделения.
* Управляющие первичного звена (менеджеры проектов, менеджеры-координаторы). Одна из важнейших задач этой категории управляющих — планирование на уровне программных проектов. далее мы сконцентрируемся на изучении обязанностей только менеджеров проекта.
* Инженеры (внеменеджментовые служащие). Именно инженеры заняты разработкой и созданием программного продукта.
Лидерами команд разработчиков обычно являются два специалиста, тесно работающих вместе по всем направлениям разработки.
* Управляющий (менеджер) проекта — руководитель, обладающий организационными знаниями и опытом.
* Технический руководитель (лидер) проекта — инженер-технолог, обладающий техническими знаниями и опытом.
Заметим, что часто в небольших проектах и командах обе задачи исполняет один человек.
Обязанности управляющего
Выделим две группы обязанностей менеджера проекта. Первая группа выполняется совместно с лидером проекта, а вторая находится в исключительной ответственности менеджера.
Совместная деятельность менеджера и лидера проекта включает:
* планирование проекта;
* распределение работ;
* выбор наилучшей стратегии.
Исключительная ответственность менеджера заключается:
* В организации взаимосвязей внутри организации;
* В управлении сотрудниками. Менеджер ищет и привлекает лучших специалистов и экспертов для решения возникающих проблем;
* в руководстве проектом и контролем его выполнения. Менеджер следит за ежедневное руководство данным проектом. Хороший менеджер видит различные проблемы от группы, он “гасит” нагоняи от заказчика вышестоящего руководства;
* в том, чтобы проект отвечал требованиям заказчика. руководитель должен держать заказчика в курсе всех событий проекта;
* в ответственности за поступление средств.
О том, что руководитель — это профессия
К сожалению, руководитель рассматривается многими как должность, а профессия. Система образования должна учитывать необходимость поддержки руководителей-профессионалов. Будущие руководители должны психологию, социологию, управление персоналом, проводить деловые и ролевые игры разбор ситуаций, моделирование профессиональной деятельности.
Еще раз обратимся к понятию “проект” и выделим четыре характеристики делающих деятельность — проектом [Баранов 1998].
* Направленность на достижение конкретных целей. Действительно проекты направлены на получение определенных результатов. Кстати, цели должны быть сформулированы так, чтобы всегда было ясно, что цель до нута и проект можно заканчивать. Проект обычно предполагает наличие промежуточных целей, которые вместе образуют взаимосвязанный комплекс.
* Координированное выполнение взаимосвязанных действий. Здесь следует ещё раз вспомнить сложность разработки программного продукта. Взаимосвязи в проекте не всегда очевидны. Некоторые задания должны выполнятся строго последовательно, а некоторые — строго параллельно.
* Ограниченная протяженность во времени с определенным началом и дом. Проект имеет определенный срок. Иногда этот срок плавающий, например, начинающийся от некоторой еще не определенной даты вступления договора в силу. Проект существует столько времени, сколь требуется для получения конечного результата.
* Уникальность и важность. Уникальность должна объяснять — почему до создавать данный программный продукт, почему нельзя взять готовое. Элемент важности должен демонстрировать — почему разрабатываемый продукт нужен и важен заказчику, какие нужды и потребности заказчика он покрывает.
О том, что проектом не является
Простое несение обязанностей, деятельность без четких границ или бесцельное времяпровождения проектами не являются, поскольку не имеют определённых сроков и конкретных целей.
Таким образом, под управлением проектом будем понимать деятельность, направленную на реализацию проекта с максимально возможной эффективностью при заданных ограничениях по времени, денежным средствам и ресурсам, а также качеству конечных результатов проекта.
Менеджер не должен позволять вмешиваться кому-либо другому в руководство проектом. На ежедневное руководство в среднем у него должно уходить 50% рабочего времени. Если менеджер тратит менее 50% времени на руководство, это означает, скорее всего, что он плохой руководитель и проект ждут серьезные проблемы.
О том, куда уходит время
Существует так называемый “феномен 5-го телефонного звонка”. Он заключается в том, что нужный, но неизвестный пока человек находится в среднем после пятого телефонного звонка. Это объясняет, почему руководитель тратит так много времени на деятельность, связанную с осуществлением руководства.
Метод “Кнута и Пряника” — алгоритм, описанный в известной монографии Кнута [Кнут 2000) и позднее модифицированный русским программистом Пряником.