Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лекция 6. Управление программной инженерией (Software Engineering Management)Содержание книги
Поиск на нашем сайте Управление: · Интеграцией проекта. · Содержанием проекта. · Сроками проекта. · Стоимостью проекта. · Качеством проекта. · Человеческими ресурсами проекта. · Коммуникациями проекта. · Рисками проекта. · Поставками проекта.
Перейдем к рассмотрению
Данная область знаний состоит из пяти секций, посвященных процессам управления программной инженерией и еще одной секции, касающейся вопросов измерений и количественных оценок в управлении, как показано на рис.6.1. Управление, ориентированное на измерения, как один из основных принципов любой инженерной деятельности, может серьезно помочь в развитии программной индустрии. По-сути, управление без измерений, количественных или качественных, приводит к отсутствию прогресса в достижении целей. Однако управление и измерения без необходимого и достаточного уровня знаний становится неэффективным и, часто, превращается в самоцель (что приводит к излишней бюрократизации и неадекватной загруженности ресурсов). Все блоки на рисунке пронумерованы для удобства ссылок по ходу изложения. Далее, как и всегда, будем вести изложение в соответствие с рис.6.1.
Рис.6.1. Управление программной инженерией
1. Инициирование и управление содержанием Данная секция посвящена действиям, связанным с эффективным определением требований к программному обеспечению, с использованием различных методов извлечения требований, а также оценкой осуществимости проекта с различных точек зрения. Если проект признан осуществимым, следующей задачей является специфицирование процедур проверки и изменения требований (см. Лекция 1 «Требования к программному обеспечению» – Software Requirements).
1.1. Определение и обсуждение требований (Determination and Negotiation of Requirements)
Первичными работами, необходимыми для определения содержания, целей и ограничений проекта являются выбор и применение методов: · определения (извлечения) требований; · анализа их (например, моделирование сценариев); · специфицирования и проверки (например, прототипирования).
Данные работы важны всегда, так как позволяют определить четкие границы задач, необходимых для успешного выполнения проекта. В частности, это особенно заметно для проектов, обладающих большой степенью новизны (технологические аспекты проекта, его масштабы, методы и т.п.). Планирование программного проекта (Software Project Planning) Процесс планирования является итеративным и базируется на содержании, требованиях и оценке осуществимости проекта. Стоит напомнить, что различные фазы проекта перекрываются и вместе с определением содержания, детализацией требований и проведением анализа осуществимости, параллельно, разрабатываемый план проекта детализируется и формируется комплекс работ, оцениваются необходимые ресурсы и временные границы работ. При планировании также оцениваются и отбираются соответствующие процессы жизненного цикла. Там где это возможно, проект детализируется в виде структурной декомпозиции работ, для которых отмечены результаты их завершения и характеристики. Такие характеристики, обычно, связаны с вопросами качества, соблюдением сроков выполнения работ, усилиями, стоимостью и т.д. Ресурсы распределяются по задачам таким образом, чтобы обеспечить оптимальную продуктивность (на персональном, командном и организационном уровне), использование средств (инфраструктуры, инструментов,...) и оборудования, а также строгое соблюдение проектного расписания. Также должно проводится управление рисками и, в частности, необходимо определить «профиль рисков», принятый соответствующими заинтересованными лицами. Как составную часть планирования, необходимо определить номенклатуру процессов обеспечения качества в форме соответствующих процедур и обязанностей по оценке, проверке, аттестации и аудиту качества. Безусловно, должны быть определены процессы и обязанности в части управления планом проекта, его оценкой и порядка пересмотра различных аспектов проекта.
Планирование процесса (Process Planning) С учетом содержания и требований конкретного проекта необходимо выбрать, адаптировать и использовать соответствующую модель процессов жизненного цикла (например, каскадную, с эволюционным прототипированием). Также должны быть выбраны методы и инструменты. На уровне проекта, методы и инструменты используются для декомпозиции проекта в виде набора задач, с ассоциированными входами, выходами и условиями завершения, например, в форме структуры декомпозиции работ – WBS (work breakdown structure). Это влияет на высокоуровневое (первичное) определение проектного расписания и организационной структуры.
Таблица.6.1. Расчет средне взвешенного времени выполнения
Для наглядности составляется сетевая диаграмма проекта:
• Сетевая диаграмма – графическое отображение работ проекта и зависимостей между ними. • Цель – сократить до минимума продолжительность проекта.
Как правило, сетевая диаграмма представляется в виде графа, в котором вершинами являются проектные работы, а взаимосвязь и последовательность работ отображается соединительными линиями, как показано на рис.6.2.
Рис.6.2. Пример сетевой диаграммы Как показано на рисунке, работа в сетевой диаграмме отображается в виде прямоугольника, в котором содержится информации о работе: код в СДР (например: 1.1.), наименование и продолжительность работы. Стрелками, обозначается последовательность и взаимосвязь работ. Взаимосвязи также могут характеризоваться временными показателями. Например, на рисунке работы 1.1. и 1.2. связаны соединительной стрелкой со значением «+1д». Это означает, что работа 1.2. должна начаться через день после того как начнется работа 1.1. На стрелке, соединяющей работы 1.2. и 3. стоит значение «-2д». Это означает, что работа 3 должна начаться за два дня до окончания работы 1.2. Если на стрелке нет дополнительной информации, как например на стрелке, соединяющей работы 1.1. и 2., то это означает, что работа 2 начинается сразу как закончится работа 1.1. Критическая работа – работа, увеличение продолжительности которой, влечет увеличение продолжительности всего проекта. На рисунке они отображены красным цветом (верхняя ветвь диаграммы – 3 блока). Некритические работы имеют временной резерв. В случае, если этот временной резерв исчерпан в процессе реализации работы, она становится критической, т.е. продолжительность ее выполнения начинает влиять на продолжительность всего проекта. Наибольший эффект дает сочетание различных методов оценки. В то же самое время, чем больше методов оценки используется, тем более трудоемкой (а, следовательно, и ресурсоемкой) становится такая работа, поэтому задача менеджмента – определить наиболее оптимальный и эффективный для данного проекта набор методов и техник, используемых в процессе планирования и корректировки. Требования к ресурсам (люди, инструменты) транслируются в стоимостные ожидания. В совокупности, вся эта деятельность является итеративной и должна обсуждаться и проводиться до тех пор, пока не будет достигнут консенсус между менеджментом и инженерами входящими в команду проекта.
Закрытие (Closure) Проект завершается (не путать с прекращением проекта), когда все планы и процессы выполнены и завершены. На этой стадии к результатам проекта применяются критерии оценки его успешности. Когда принимается решение о закрытии (и в случае успешного завершения, и досрочного прекращения) проекта, выполняются действия по архивированию проектных данных, анализу результатов, полученных в процессе работы, и улучшению процессов. Планирование процесса измерений (Plan the Measurement Process) Включает следующие основные моменты. Задание «организационной единицы» Таким образом обеспечивается явный контекст измерений и связанные с ним ограничения. В качестве такой «единицы» (в общем случае) могут выступать организационные процессы, прикладные домены (области деятельности или отдельных работ) и т.п. Подробное описание характеристик организационной единицы в стандарте ISO 15939-02. 6.2.2. Идентификация информационных потребностей (в отношении результатов измерений) Такие потребности, обычно, базируются на целях, ограничениях, рисках и проблемах на уровне заданной организационной единицы. В основе указанных моментов лежат различные цели – организационные, проектные и т.п. Все эти аспекты (как и порождающие их цели) должны быть четко идентифицированы и для них должны быть определены соответствующие приоритеты. Затем, должно быть выбрано подмножество аспектов, в отношении которых будут проводиться измерения, и полученные результаты также должны быть документированы, персонал поставлен в известность о них, а заинтересованным лицам необходимо провести оценку аспектов измерений.
Выбор метрик (измерений) Кандидаты в метрики должны быть выбраны на основе приоритетов информационных потребностей и других критериев – таких, как стоимость сбора данных, возможность срыва процессных работ при сборе данных (например, в силу недостатка ресурсов), легкость анализа, легкость получения точных, целостных данных и т.п.
6.2.4. Определение наборов собираемых данных, а также процедур анализа и ведения отчетности Это включает в себя коллекцию процедур и расписаний, хранение, проверку, анализ, отчетность и конфигурационное управление собираемыми данными. (см. стандарт ISO 15939-02, раздел 5.2.4).
6.2.5. Определение критериев оценки информационных продуктов (т.е. результатов измерений) На критерии оценки влияют технические и бизнес цели, сформулированные прежде для соответствующей организационной единицы. Результаты измерений ассоциированы с создаваемым продуктом (являющемся целью проекта), а также с процессами, обеспечивающими управление и измерения в проекте. (см. стандарт ISO 15939-02, раздел 5.2.5).
6.2.6. Оценка, утверждение и предоставление ресурсов для проведения измерений
1. План измерений должен быть оценен и утвержден уполномоченными лицами. Это включает: · процедуры сбора данных, их хранения, анализа и отчетности; · критерии оценки; · расписание и распределение ответственности.
Критерии обзора и оценки этих артефактов должны быть установлены на уровне организационной единицы или выше. Такие критерии должны принимать во внимание существующий опыт, доступность ресурсов и потенциальный срыв проекта когда предлагается изменение существующих практик.
2. Ресурсы должны быть доступны для реализации запланированных и утвержденных задач по ведению измерений. Доступность ресурсов может быть распределена по стадиям внедрения изменений в процесс измерений. Например, когда изменения производятся изначально в «пилотном» режиме, а уже затем, становятся составной частью стандартного процесса (т.е. используемого в рамках всего проекта, подразделения или организации). Также, необходимо уделять внимание ресурсам, необходимым для успешного внедрения новых процедур и измерений (метрик) (см. стандарт ISO 15939-02, раздел 5.2.6.2).
6.2.7. Внедрение технологий поддержки измерений Это включает оценку доступных технологий, выбор наиболее соответствующих (заданному контексту и ограничениям), их приобретение и освоение и, наконец, внедрение в повседневную практику.
Сбор данных Данные должны собираться, верифицироваться (напомним, что «верификация» - это проверка на соответствие каким либо критериям, подтверждение истинности) и сохраняться для дальнейшего использования (см. стандарт ISO 15939-02, раздел 5.3.2). Обсуждение результатов Полученный «информационный продукт» должен быть документирован и передан пользователям и заинтересованным лицам. (см. стандарт ISO 15939-02, раздел 5.3.4) для обсуждения и последующей оценки.
Лекция 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).
1.1. Определение и обсуждение требований (Determination and Negotiation of Requirements)
Первичными работами, необходимыми для определения содержания, целей и ограничений проекта являются выбор и применение методов: · определения (извлечения) требований; · анализа их (например, моделирование сценариев); · специфицирования и проверки (например, прототипирования).
Данные работы важны всегда, так как позволяют определить четкие границы задач, необходимых для успешного выполнения проекта. В частности, это особенно заметно для проектов, обладающих большой степенью новизны (технологические аспекты проекта, его масштабы, методы и т.п.).
|
||
|
Последнее изменение этой страницы: 2021-01-14; просмотров: 322; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.008 с.) |