Управленческая деятельность в области разработки программного обеспечения происходит на трех уровнях:
• организационное управление и управление инфраструктурой
• управление проектами
• планирование и контроль программ количественной оценки
В отношении данной области знаний особо уместно подчеркнуть значимость вопросов управления проектами (project management), так как “конструирование имеющих ценность программных артефактов” (требования, модели, документация, тесты и т.п.) обычно ведется в форме проектов или программ проектов. В контексте управления сферой разработки программного обеспечения следует понимать важность следующих областей знаний (Project Management Body of Knowledge. PMBOK).
• Управление содержанием проекта (project scope management)
• Управление сроками проекта (project time management)
• Управление стоимостью проекта (project cost management)
• Управление качеством проекта (project quality management)
• Управление человеческими ресурсами проекта (project human resource management)
• Управление коммуникациями проекта (project communication management)
Наравне с ними необходимо уделять не меньшее внимание и другим областям знаний управления проектами:
• Управление рисками проекта (project risk management)
• Управление поставками проекта (project procurement management)
• Управление планом проекта (project plan management)
Распределение ресурсов (Resource Allocation)
С задачами (для которых назначены сроки), должны быть ассоциированы оборудование, средства и, конечно, люди. Это подразумевает распределение (назначение или принятие, в зависимости от стиля и формы управления) обязанностей/ответственности. Для этого может, например, использоваться диаграмма Гантта (Gantt chart). Эта деятельность определяется и ограничивается доступностью ресурсов, их оптимальным использованием в заданном контексте и вопросами, связанными с персоналом (например, продуктивностью конкретных лиц и группы, в целом, организационной и командной структурой, подразумевая специфику коллектива, наравне со штатным расписанием и другие вопросы).
В рамках данной темы можно выделить как самостоятельную тему вопросы управления персоналом – people management, уделив особое внимание аспектам экспертизы (не стоит путать с ролями/обязанностями) и лидерства специалистов в проектной команде. К этой же теме, также относятся вопросы обучения, прохождения тренингов специалистами проектной команды. Наконец, к теме ресурсов имеет непосредственное отношение и определение необходимости и объема привлечения внешних консультантов (не являющихся сотрудниками ни исполнителя, ни заказчика), крайне важное для успешности проекта, обладающего высокой степенью новизны (например, в терминах используемых технологий и, особенно, применения тех или иных архитектурных решений).
Управление рисками (Risk Management)
В части управления рисками должны проводиться:
• идентификация и анализ рисков - что, когда и почему может быть сделано неверно и к чему это может привести;
• оценка критических рисков - какие из рисков наиболее значительны (если им не уделять должного внимания) и что необходимо сделать, чтобы их избежать;
• смягчение рисков и планируемость непредвиденных обстоятельств – формирование стратегии, касающейся рисков и управление профилями рисков.
Для идентификации и оценки рисков необходимо применять соответствующие методы и техники (например, построение дерева решений – decision tree или моделирование процессов – process simulation). Кроме того, со всеми заинтересованными лицами необходимо определить правила и политики прекращения проекта.
Наравне с идеями общего управления рисками, важно понимать и управлять рисками, уникальными для деятельности в области разработки программного обеспечения, например, тенденция добавлять в получаемый программный продукт функциональные и другие возможности, неопределенные на уровне требований или риски, заложенные в самой природе программного обеспечения, связанные, в первую очередь с его сложностью и архитектурно-технологической новизной, присутствующей, в той или иной степени, в любом программном проекте.
Управление планом проекта (Plan Management)
Наравне с другими аспектами ведения проекта, должно быть определено как проект будет управляться и как будет управляться план проекта. Отчетность, мониторинг и контроль проекта должны соответствовать выбранному процессу разработки программного обеспечения и сущности проекта, отражая также в виде различных артефактов именно то, что будет использоваться в процессе управления. При этом в изменяющемся окружении принципиально важно, чтобы и сам план проекта был управляем. Это требует строгого соблюдения планов, которые должны быть систематически направляемы, контролируемы, оцениваемы, по которым будет вестись отчетность и, там где это применимо, корректируемы. Планы, ассоциированные с другими процессами поддержки, ориентированными на управление, также должны быть управляемы соответствующим образом (например, это касается вопросов документирования, конфигурационного управления и разрешения проблем).
назад