Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Факторы стоимости и категории сопровождения
Работы по сопровождению потребляют значительную часть финансовых ресурсов жизненного цикла программного обеспечения. Общее понимание сопровождения подразумевает лишь устранение сбоев. Однако, исследования и опросы на протяжении многих лет показывают, что более 80% усилий по сопровождению связаны не столько устранением сбоев, сколько с другими работами, не связанными с исправлением дефектов. Существуют как технические, так и другие факторы, оказывающие влияние на стоимость сопровождения, в целом: - тип приложения; - новизна программного обеспечения; - наличие и квалификация персонала по сопровождению; - длительность использования программной системы; - характеристики и специфика аппаратной части (а также телекоммуникационной инфраструктуры); - качество дизайна (например, модульность или масштабируемость), кода, документации и соответствующих работ по тестированию системы. Сегодня принято говорить о четырех категориях сопровождения: - Корректирующее сопровождение (corrective maintenance): “реактивная” модификация программного продукта, выполняемая уже после передачи в эксплуатацию для устранения сбоев; - Адаптирующее сопровождение (adaptive maintenance): модификация программного продукта на этапе эксплуатации для обеспечения продолжения его использования с заданной эффективностью (с точки зрения удовлетворения потребностей пользователей) в изменившемся или находящемся в процессе изменения окружении; в первую очередь, подразумевается изменение бизнес-окружения, порождающее новые требования к системе; - Совершенствующее сопровождение (perfective maintenance): модификация программного продукта на этапе эксплуатации для повышения характеристик производительности и удобства сопровождения; - Профилактическое сопровождение (preventive maintenance): модификация программного продукта на этапе эксплуатации для идентификации и предотвращения скрытых дефектов до того, когда они приведут к реальным сбоям. ISO/IEC 14764 [10] классифицирует адаптивное и совершенствующее сопровождение как работы по расширению функциональности продукта. Этот стандарт также объединяет корректирующую и профилактическую деятельность в общую категорию работ по корректировке системы. Профилактическое сопровождение наиболее часто проводится для программных систем, связанных с вопросами безопасности человека. Таблица 1. Категории сопровождения программного обеспечения. Основные проблемы сопровождения программного обеспечения Для обеспечения эффективного сопровождения программных систем необходимо множество проблем, связанных с соответствующими работами. Процесс сопровождения предъявляет специфические технические и управленческие требования к персоналу, занимающемуся сопровождениям. Попытка найти дефект в продукте, содержащем 500 тысяч строк кода, написанных другими инженерами – яркий пример сложностей, с которыми приходится сталкиваться инженерам по сопровождению. Другой пример, уже организационный, постоянная борьба за ресурсы с разработчиками (это чаще всего проявляется в вопросах отвлечения разработчиков от текущей работы для помощи в решении проблем сопровождения, а также в конкуренции за приоритеты финансирование разработки новой системы или сопровождения существующей). Одновременное планирование перспективной версии системы, реализация следующей версии и подготовка критических патчей для текущей версии – еще один классический пример проблем, с которыми приходится сталкиваться в процессе эксплуатации программного обеспечения. Проблемы, связанные с сопровождением, сгруппированы в следующие категории: - технические проблемы; - управленческие проблемы; - проблемы оценки стоимости; - проблемы измерения. Технические проблемы В число технических проблем входят: - Проблема ограничения понимания, подразумевающая как быстро инженер по сопровождению может понять где необходимо внести исправления или изменения в код системы, которую он не разрабатывал. Этот процесс более сложен в случае анализа текстового представления системы – её исходного кода. - Проблема тестирования, связанная с тем, что стоимость повторения полного набора тестов для основных модулей системы может быть существенным как по времени, так и по стоимости. Для сопровождения системы особо значимым является выборочное регрессионное тестирование системы или его компонент для проверки того, что внесенные изменения не привели к непреднамеренному изменению поведения программного обеспечения. - Проблема анализа влияния, состоящая в необходимости полного анализа возможных последствий и влияний изменений, вносимых в существующую систему. Персонал сопровождения должен обладать необходимыми знаниями о специфике системы (в идеальном случае, иметь полное представление о системе на уровне ее разработчиков) – ее содержании и структуре. Инженеры используют эти знания для выполнения работ по анализу влияния, идентифицируя все системы и программные продукты, на которые могут повлиять изменения, вносимые в обслуживаемую программную систему. При этом, должны быть определены риски, связанные с внесением обсуждаемых изменений. Цели анализа влияния могут быть сформулированы следующим образом: - определение содержания изменений для задания работ по планированию и реализации; - получение максимально возможной оценки ресурсов, необходимых для проведения соответствующих работ; - анализ стоимости и выгоды от внесения запрошенных изменений (обычно касается пожеланий, запросов на расширение системы); - обсуждение сложности вопросов, связанных с внесением соответствующих изменений. Если программное обеспечение изначально разрабатывалось с учетом дальнейшей поддержки, это может существенно облегчить анализ влияний, как одной из ключевых работ по сопровождению. - Проблема возможности сопровождения или сопровождаемости программной системы определяется, например, глоссарием IEEE (стандарт 610.12-90 Standard Glossary for Software Engineering Terminology, обновление 2002 года) как легкость сопровождения, расширения, адаптации и корректировки для удовлетворения заданных требований. Для уменьшения стоимости дальнейшего сопровождения, на протяжении всего процесса разработки необходимо специфицировать, оценивать и контролировать характеристики, влияющие на возможность сопровождения. Если такие работы проводятся регулярно, это облегчает дальнейшее сопровождение, повышая его сопровождаемость (в частности, как характеристику качества). - Проблема отсутствия системной документации (системной модели), мешающая формированию понимания системы и, как следствие, невозможности адекватного анализа влияния. Технические проблемы могут быть решены при использовании систематического подхода к построению зрелых процессов, применению соответствующих техник и автоматизации необходимых задач по поддержке жизненного цикла с помощью специализированных инструментальных средств. Управленческие проблемы К управленческим проблемам сопровождения относятся: - Проблема согласования с организационными целями, состоящая в том, что цели проектирования и сопровождения принципиально отличны. При разработке основная задача – выпуск системы, отвечающей потребностям пользователей, в заданные сроки и в рамках бюджета, а сопровождение системы преследует цели максимального продления срока эксплуатации программного обеспечения. При сопровождении, оценка возврата инвестиций становится более сложной и приводит к формированию точки зрения старшего менеджмента, что деятельность по сопровождению потребляет значительную часть ресурсов без явно выраженной и количественно определяемой отдачи для организации. - Проблемы кадрового обеспечения, связанная с вопросами привлечения и удержания квалифицированного персонала по сопровождению, поскольку обычно эта работа не выглядит привлекательной. - Проблема уникальных работ в процессе, связанная с тем, что на уровне процесса, деятельность по сопровождению программного обеспечения имеет очень много общего с разработкой, но при этом сопровождение включает работы, не представленные в процессе разработки, что требует от менеджмента специального внимания и специальных знаний. - Проблема организации сопровождения, состоящая в необходимости решения вопросов ответственности за конкретные функции деятельности по сопровождению. Команда, разрабатывавшая программный продукт, далеко не всегда отвечает за его сопровождение. Это не только стандартное управленческое решение независимых поставщиков программного обеспечения, но, также, часто встречается в организациях, использующих программные продукты в целях автоматизации своих бизнес-функций. - Проблема аутсоурсинга, связанная с необходимостью передачи работ, в первую очередь, вспомогательных (непрофильных для организации) другим компаниям. Крупные компании могут передавать в управление другим организациям целые портфели программных систем, а, иногда, и целиком всю ИТ-инфраструктуру. Вопросы выбора процессов для аутсорсинга и отслеживания их качества и эффективности становятся дополнительной проблемой менеджеров. Популярное:
|
Последнее изменение этой страницы: 2016-05-30; Просмотров: 2196; Нарушение авторского права страницы