5-software_engineering_maintenance (1133545), страница 5
Текст из файла (страница 5)
Такой подход может основываться на необходимостиобновления и расширения программного обеспечения, как отклика на изменяющиеся потребностипользователей. При этом, оценка возврата инвестиций становится более сложной и приводит кформированию точки зрения старшего менеджмента, что деятельность по сопровождениюпотребляет значительную часть ресурсов без явно выраженной и количественно определяемойотдачи для организации.2.2.2 Проблемы кадрового обеспечения* (Staffing)Данная тема касается вопросов привлечения и удержания квалифицированного персонала посопровождению.
Часто, работа по сопровождению не выглядит привлекательной, инженеры поподдержке воспринимаются как специалисты “второго класса” (в SWEBOK используется устойчивоевыражение “second-class citizens”), что приводит к безусловному падению духа коллектива,отвечающего за поддержку систем.Это серьезный вызов для менеджеров, отвечающих за вопросы сопровождения и, вообще говоря,является классической задачей общего менеджмента. Решение этой задачи, в первую очередь,находится в руках старшего менеджмента, формирующего соответствующий стиль отношений междуфункциональными и вспомогательными подразделениями.
На более высоком уровне, дляорганизаций и бизнесов - потребителей информационных технологий, эта задача связана свнутрикорпоративными департаментами автоматизации, в целом, которые слишком частовоспринимаются только как центры затрат, а информационные технологии не рассматриваются какактив. В результате, такая позиция приводит к снижению эффективности работы подразделенийавтоматизации, а, следовательно, и падению качества информационного обеспечения бизнеса, чтосказывается, в подавляющем большинстве случаев, и на бизнесе, как таковом.* такой перевод, вместо просто “кадрового обеспечения”, в большей степени соответствует принятомуиспользованию термина staffing. Часто, staffing подразумевает и высокую текучесть кадров.2.2.3 Процесс (Process)Процесс (в общем случае, жизненный цикл, прим.
автора) является набором работ (activities),методов, практик и, своего рода, трансформаций, которые используются людьми для разработки исопровождения программных систем и ассоциированных с ними продуктов. На уровне процесса,деятельность по сопровождению программного обеспечения имеет очень много общего сразработкой, например, в части конфигурационного управления, являющегося критически важнойсоставляющей обоих видов деятельности.
В то же время, сопровождение включает работы, непредставленные в процессе разработки (в теме 3.2 представлено описание такого рода уникальныхработ). Эта деятельность требует от менеджмента специального внимания.2.2.4 Организационные аспекты сопровождения (Organizational aspects of maintenance)В первую очередь, организационные вопросы подразумевают какая организация будет отвечатьи/или какие функции необходимо выполнять для обеспечения деятельности по сопровождению.Команда, разрабатывавшая программный продукт, далеко не всегда отвечает за его сопровождение.Это не только стандартное управленческое решение независимых поставщиков программногообеспечения, но, также, часто встречается в организациях, использующих программные продукты вцелях автоматизации своих бизнес-функций.При решении вопроса, где (кем) будут осуществляться функции по сопровождению, может бытьпринято решение оставить их непосредственно тем, кто разрабатывал систему (как в терминахорганизации/компании, так и подразумевая непосредственно коллектив разработчиков), илипередать другой команде или стороне (maintaner).
Часто, выбор сопровождающей организацииосуществляется исходя из тех соображений, которые выглядят обоснованными для обеспеченияCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru11Основы программной инженерии (по SWEBOK)Программная инженерия. Сопровождение программного обеспечения.адекватной поддержки системы и возможности ее эволюционирования для удовлетворенияменяющихся потребностей пользователей. К сожалению (чего, в принципе, и следовало ожидать),универсальных подходов в решении данного вопроса, кем будет сопровождаться система – нет.Соответствующие решения принимаются в каждом конкретном случае, с учетом его специфики(case-by-case). Но, что действительно важно отметить, делегирование или назначение полномочий иответственности по сопровождению должно быть произведено по отношению только к однойорганизации или лицу (менеджеру соответствующей команды поддержки).
Все, так или иначе,зависит от организационной структуры организации/компании, эксплуатирующей программноеобеспечение.2.2.5 Аутсоурсинг (Outsourcing)Заимствованный термин “аутсоурсинг” уже прижился не только в среде ИТ-менеджеров, он сталчастью современного бизнеса и управленческих практик. Суть его заключается в передаче работ, впервую очередь, вспомогательных (непрофильных для организации) “на сторону”.
Крупныекорпорации передают в управление другим организациям целые портфели программных систем, а,иногда, и целиком всю ИТ-инфраструктуру. В то же время, существенно более часто, сопровождениепередается другим организациям только для “второстепенных” программных систем (или, какминимум, не критичных для выполнения бизнес-функций), так как владельцы таких систем нежелают терять контроль над ассоциированными с этими системами данными и/илифункциональностью.
Отмечается, что некоторые передают работы по сопровождению “ваутсоурсинг” только в тех случаях, если убеждены в стратегическом контроле над сопровождением.Часто можно наблюдать, когда для решения вопросов сопровождения (при сохранении“стратегического контроля”), компании, для которых информационные технологии не являютсяпрофильными, но воспринимаются в качестве актива, формируют специализированные дочерниебизнес-структуры, которым и передаются функции сопровождения, а также и непосредственноразработки программных систем и, более того, поддержки и развития всей ИТ-инфраструктуры.
Этоделается с тем, чтобы функционируя в качестве самостоятельной бизнес-сущности, уже бывшиевнутрикорпоративные подразделения автоматизации, могли обеспечить большую прозрачностьфинансовых потоков, затрат, связанных с информационным технологиями. Но, это тема ужеотносится к общим вопросам управления и, безусловно, требует самостоятельного обсуждения, вконтексте, опять-таки, конкретной организации или бизнес-структуры. Однако, нельзя было необозначить важность обсуждаемого вопроса в данном контексте, ведь именно деятельность посопровождению часто подвигает организации-потребители ИТ к принятию столь серьезныхорганизационных и бизнес-решений.При этом, подчеркивает SWEBOK, контроль сложно измерить.
В свою очередь, перед аутсоурсером(организацией, принимающей на себя ответственность по сопровождению) стоит серьезнаяпроблема по определению содержания соответствующих работ, в том числе, для описаниясодержания соответствующего контракта. Отмечается, что около 50% сервисов, предоставляемыхаутсоурсером, проводятся без соответствующего детального и однозначно интерпретируемогосоглашения (service level agreement, SLA). Компании, занимающиеся аутсоурсингом, обычнозатрачивают несколько месяцев на оценку программного обеспечения прежде, чем заключаютсоответствующий контракт.
Еще один вопрос, требующий специального внимания, заключается внеобходимости определения процесса и процедур передачи программного обеспечения на внешнеесопровождение.2.3 Оценка стоимости сопровождения (Maintenance Cost Estimation)Как уже отмечалось, инженеры должны понимать разницу в различных категориях сопровождения.Это, в большой степени, необходимо для оценки соответствующих затрат. С точки зренияпланирования, как составной части проектной и управленческой деятельности, оценка стоимостиявляется важным аспектом деятельности по сопровождению программного обеспечения.2.3.1 Оценка стоимости (Cost Estimation)При обсуждении анализа влияния (см. 2.1.3 Impact Analysis) говорилось о том, что такой анализпомогает в оценке стоимости работ по сопровождению.
На эти затраты оказывает влияниемножество технических и других факторов. ISO/IEC 14764 (Standard for Software Engineering -Copyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru12Основы программной инженерии (по SWEBOK)Программная инженерия.
Сопровождение программного обеспечения.Software Maintenance)определяет, что “существует два наиболее популярных метода оценкистоимости сопровождения – параметрическая модель и использование опыта”. Чаще всего, оба этихподхода комбинируются для повышения точности оценки.2.3.2 Параметрические модели (Parametric models)SWEBOK приводит ряд источников, подробно рассматривающих вопросы оценки стоимостисопровождения и, в частности, параметрические модели. Для использования таких моделейиспользуются данные предыдущих проектов.
Наравне с историческими данными используется методфункциональных точек (см. стандарт IEEE 14143.1-00).2.3.3 Опыт (Experience)Среди тех подходов, которые позволяют повысить точность оценок, полученных при использованиипараметрических моделей – применение опыта (в форме экспертного мнения, например, прииспользовании техники оценки “Delphi”, название которой происходит от “делфийского оракула”),аналогий, а также структуры декомпозиции работ. Наилучшие результаты получаются в случаесочетания эмпирических методов с имеющимся опытом.
Получаемые данные используются какрезультат программы измерения аспектов сопровождения.2.4 Измерения в сопровождении программного обеспечения (Software Maintenance Measurement)Формы и данные измерений в процессе сопровождения могут объединяться в единую программукорпоративную программу количественных оценок, проводимых в отношении программногообеспечения. Многие организации используют популярный и практичный подход для измерений,базирующийся на оценке количества проблем и статуса их решений (issue-driven measurement). Идеиэтого подхода систематизированы в проекте Practical Software and Systems Measurement (PSM).Существуют общие (для всего жизненного цикла) метрики и, соответственно, их категории, вчастности, определяемые Институтом Программной Инженерии университета Карнеги-Меллон(Software Engineering Institute, Carnegie-Mellon University – SEI CMU): размер, усилия, расписание икачество.
Применение этих метрик является хорошей отправной точкой для оценки работ со стороныорганизации, отвечающей за сопровождение.Более детальное обсуждение вопросов измерений в отношении продуктов и процессовпредставлено в области знаний “Процесс программной инженерии (Software Engineering Process). Всвою очередь, вопросы организации программы измерений относятся к области знаний “Управлениепрограммной инженерией” (Software Engineering Management).2.4.1 Специализированные метрики (Specific Measures)Существуют различные методы внутренней оценки продуктивности (benchmarking) персоналасопровождения для сравнения работы различных групп сопровождения.