Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Определение и обсуждение требований (Determination and Negotiation of Requirements)

Лекция 6. Управление программной инженерией (Software Engineering Management)

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

Управление программной инженерией может быть определено, как приложение вопросов управления, а именно – планирования, координации, количественной оценки, мониторинга, контроля и отчетности – к инженерной деятельности. Цель - систематическое, упорядоченное, количественно измеряемое обеспечение разработки и сопровождения программных систем (IEEE 610.12-90, Standard Glossary for Software Engineering Terminology).

В то же время, существуют факторы, специфичные для программных продуктов, понижающие эффективность управления, это:

· Со стороны клиентов (потребителей, заказчиков) часто отсутствует понимание сложности, порожденной самой природой программной инженерии, в частности связанной с влиянием изменяющихся требований.

· Зачастую, заказчики сами толком не знают чего хотят.

· В результате, программные системы часто строятся с применением итеративных процессов, вместо последовательного выполнения и закрытия работ.

· Уровень новизны и сложности программных систем весьма высок (и не достаточно применять уже существующие наработки и опыт).

· Применяемые технологии обладают высокой скоростью изменения, обновления и старения.

 

В программной инженерии, управленческая деятельность  происходит на трех уровнях:

1. Организационное управление и управление  

инфраструктурой.

2. Управление проектами.

3. Планирование и контроль программ количественной  

оценки.

Вопросы организационного менеджмента важны с точки зрения влияния на программную инженерию в контексте управления полномочиями сотрудников или корпоративными политиками (например безопасности).

На практике, бывает необходимо адаптировать общие и создать специальные внутренние организационные стандарты, обеспечивающие эффективное управление программной инженерией. Это является основой для решения долгосрочных задач улучшения процессов и повышения производительности труда специалистов, вовлеченных в работы по созданию и  сопровождению программного обеспечения.

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

Все это требует внимания не только в контексте проекта, но и в рамках всей организации.

В большой степени это связано с постоянно развивающимися технологиями и потребностью в обновлении и расширении знаний для эффективного решения поставленных задач.

Необходимо уделять особое внимание вопросам коммуникаций между сотрудниками, заказчиками, пользователями. Управление коммуникациями, создание естественных условий для их развития – один из ключевых элементов успеха. 

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

 Наконец, управление портфелями (проектов разработки и работ по сопровождению) позволяет сформировать и развивать общее видение в отношении всех существующих, обновляемых и создаваемых программных активов на уровне ИТ - подразделения и организации, в целом.

Все это, в конечном счете, обеспечивает более эффективное управление ресурсами, а, значит, и возможность интенсивного, а не экстенсивного развития организации.

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

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

Особое значение имеет управление проектами, так как конструирование имеющих практическую ценность программных артефактов (к которым относятся требования, модели, документация, тесты и т.п.) обычно ведется в форме проектов.

В контексте управления программной инженерией особую важность имеют следующие направления.

Управление:

· Интеграцией проекта.

· Содержанием проекта. 

· Сроками проекта. 

· Стоимостью проекта.

· Качеством проекта.

· Человеческими ресурсами проекта.

· Коммуникациями проекта.

· Рисками проекта.

· Поставками проекта.

 

Перейдем к рассмотрению

 

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

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

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

Все блоки на рисунке пронумерованы для удобства ссылок по ходу изложения.     

Далее, как и всегда, будем вести изложение в соответствие с рис.6.1.

 


Рис.6.1. Управление программной инженерией

 

1. Инициирование и управление содержанием

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

 Если проект признан осуществимым, следующей задачей является специфицирование процедур проверки и изменения требований (см. Лекция 1 «Требования к программному обеспечению» – Software Requirements).

 

Определение и обсуждение требований (Determination and Negotiation of Requirements)

 

Первичными работами, необходимыми для определения содержания, целей и ограничений проекта являются выбор и применение методов:

· определения (извлечения) требований;

· анализа их (например, моделирование сценариев);

· специфицирования и проверки (например, прототипирования).

 

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...