Как уже указывалось в первой части этой статьи, наиболее высокий процент законченных программных приложений для корпоративных клиентов имеют системы, построенные на основе менеджера записей Btrieve.
Доминирующая тенденция на рынке - увеличение числа предложений систем с применением профессиональных СУБД. Определяющий фактор этой тенденции - возможность построения высоконадежных, производительных и масштабируемых систем с использованием развитого инструментария разработки.
Подавляющее большинство программно-аппаратных решений могут работать на PC-совместимых компьютерах. Их общие характеристики представлены в таблице, где приведены данные не только о готовых решениях, но и отражена информация о проектах, которые реализуются в настоящее время различными разработчиками.
РОССИЙСКИЕ ФИРМЫ- РАЗРАБОТЧИКИ КОМПЛЕКСНЫХ ПРОГРАММНЫХ РЕШЕНИЙ
Сейчас на разработку эффективных программ, ориентированных на поддержку управленческих решений, уходят уже не месяцы, а годы. Переход от написания отдельных модулей к интегрированным решениям подразумевает совершенно иные формы организации труда.
Конкурентоспособность интегрированных решений складывается из нескольких компонентов, наиболее важные из них определяются:
- уровнем и качеством проектных решений;
- используемыми средствами разработки программных приложений;
- профессиональным уровнем команды разработчиков;
- отлаженной технологией внедрения и сопровождения.
Качественная разработка таких систем зависит уже не столько от наличия в штате фирмы суперпрограммистов, сколько от слаженности команды и эффективности технологии разработки.
В большинстве случаев для успешного осуществления высокотехнологичных проектов, к которым относятся и проекты в области информационных технологий, в структуре организации-разработчика создаются специализированные подразделения и группы. Эти подразделения напрямую не связаны с программированием, их назначение - поиск, формализация и постановка задач для прикладных программистов.
В идеале организационная структура разработчика должна включать в себя подразделения, в функции которых входят:
собственно управление проектом (планирование, распределение ресурсов, контроль исполнения, качества и сроков решения задач);
- аналитические исследования, нацеленные на поиск рациональных решений с учетом специфики и требований потенциальных заказчиков и рассчитанные как на краткосрочную, так и на долгосрочную перспективу;
- техническое проектирование;
- собственно программирование;
- тестирование (проверка соответствия качества готового продукта и решений требуемым проектным характеристикам);
- сопровождение программного обеспечения (установка, обучение персонала, техническая поддержка, устранение ошибок на этапе опытной эксплуатации, доработка в соответствии с изменением требований законодательства и внутреннего организационного регламента работ).
Такая специализация позволяет большинству разработчиков перевести процесс создания программных продуктов из области искусства в сферу прикладной инженерной деятельности.
Мировая практика свидетельствует о постоянном росте трудозатрат на этапе комплексного проектирования и создания технологических приемов разработки прикладных программных продуктов.
На этом этапе закладываются основные принципиальные возможности систем, в том числе касающиеся их развития и модификации.
В связи с этим небезынтересно мнение западных экспертов.
Ниже приведены данные американской консалтинговой фирмы Software Engineering Institute ( http://www.sei.cmu.edu ). Специалисты этой фирмы выделяют пять уровней зрелости групп разработчиков, создающих программное обеспечение. Уровни зависят от качества решаемых задач в соответствии с аспектами, изложенными выше.
Уровень первый
Процесс разработки носит, как правило, неструктурированный и случайный характер. Успех зависит скорее от выдающихся способностей талантливого разработчика или менеджера, чем от организационной инфраструктуры. Для такой формы организации характерно отсутствие стабильной среды разработки и сопровождения. Планы разработки могут значительно колебаться в зависимости от проблем как программистского, так и технологического характера.
Уровень второй
Успешная реализация проектов становится возможной благодаря жесткому планированию, управлению и контролю. Акцент переносится на выработку и согласование исходных требований. Разработка ведется на основе накопленного и обобщенного опыта работы по аналогичным проектам. Переход с первого уровня на второй для многих команд разработчиков весьма проблематичен в силу того, что требует введения новых комплексных процедур организации процессов разработки и внедрения программного обеспечения.
Уровень третий
Процессы, относящиеся к сфере управления и инженерной деятельности, становятся полностью документированными и интегрированными в единый информационный и технологический поток, контролируемый управляющим.
Уровень четвертый
Разработчики на этом уровне оценивают не только качество разрабатываемых программных продуктов, но и технологические процессы их создания. Все процессы хорошо формализуемы и предсказуемы. Процесс планирования прогнозируется с высокой точностью.
Уровень пятый
Разработчики строят свою деятельность, руководствуясь количественными критериями качества. Основная цель - производство и внедрение полностью отлаженных технологических разработок. Решение о внедрении принимается, когда этап внутреннего тестирования не обнаруживает ошибок.
Таков взгляд западных экспертов на проблему влияния процесса разработки на качество программных продуктов.
“Возраст” практически всех российских фирм-разработчиков не превышает 10 лет. За такой короткий срок, да еще в эпоху непрерывных перемен, немногие смогли достичь достаточно высокого уровня формализации своих внутрифирменных стандартов разработки. Бизнес в области создания сложных интегрированных технологий требует серьезных инвестиций уже на стадии проектирования. В этом случае у разработчиков есть шанс создать “правильную, почти идеальную” программу. Все российские разработчики шли от потребностей своих клиентов и были зависимы от них. Бессмысленно было вкладывать средства в развитие “правильных” аналитических алгоритмов анализа и планирования, если они реально не работали.
Самые “старшие товарищи” по этому цеху (возраст которых превышает 7 лет) - фирмы “Атлант-Информ”, “ЛокИС”, ИНФИН, “Новый Атлант”, “Парус”, “Звезда Софт”, “Инфософт”, “Эллай”.
По числу специалистов, занятых в проектах по автоматизации, российские фирмы-разработчики можно условно разделить на три категории:
- крупные (свыше 100 человек) - к ним относятся 19% респондентов;
- средние - от 50 до 100 человек - 31% респондентов;
- малые - менее 50 человек - 50% респондентов.
Если бы показатель зрелости складывался из времени существования и числа специалистов ИТ, занятых в проекте, то безусловными лидерами были бы две фирмы - “Новый Атлант” и “Парус”.
Несколько российских фирм параллельно продвигают свои разработки также и в банковской сфере. К ним относятся: “Атлант-Информ”, ФОРС, R-Style Software Lab, CSBI EE. С одной стороны, это позволяет им диверсифицировать собственную деятельность, вкладывая часть свободных средств от более прибыльных операций (например, по внедрению банковских технологий) в корпоративные системы. С другой стороны, это предъявляет более жесткие требования к процессу разработки и внедрения. В этом отношении интересен проект фирмы R-Style Software Lab “Финансовое Кольцо”. Его цель состоит в интеграции банковских и корпоративных решений в единый программно-технологический контур.
И все же если учесть, что 1997 год для банковских учреждений России стал годом перехода на новый план счетов, то у этих разработчиков впереди будет явно непростое время.
Практически все фирмы-разработчики в той или иной степени взаимодействуют с аудиторскими и консалтинговыми фирмами, что, кстати, свойственно мировому опыту. Это взаимодействие позволяет еще до этапа внедрения информационных технологий уточнить потребности клиентов и убедиться в необходимости адаптации программных приложений к их конкретным требованиям.
ПОДХОДЫ К ПЛАНИРОВАНИЮ И ВНЕДРЕНИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
На российском рынке сложилось два основных подхода к решению проблемы автоматизации. Первый и наиболее традиционный - автоматизация собственными силами. Многие предприятия и организации, имеющие в штате программистов, ведут разработку программных технологий “для себя”. Второй путь решения задач технологического перевооружения заключается в привлечении внешних специализированных фирм, чья деятельность непосредственно связана с разработкой и внедрением информационных технологий.
Эти подходы самым существенным образом отличаются друг от друга своими целями и задачами, а следовательно, и различными рисками.
Собственная разработка
Управления или отделы автоматизации являются структурными подразделениями предприятий. В их функции входит поддержка и развитие программных технологий. В зависимости от роли данного подразделения и личности его руководителя оно может выступать и как центральное звено в организационной структуре предприятия, диктующее собственные условия, так и быть “на побегушках”, бесконечно переделывая программы по требованию конечных пользователей.
Такой подход привлекает высших менеджеров возможностью административного влияния и прямого воздействия на специалистов. Аргумент “уникальности бизнес-требований”, который зачастую бывает надуманным и искусственным, становится серьезным орудием в борьбе отделов АСУ с профессиональными разработчиками и поставщиками интегрированных технологий. Однако многократно повторяемая и рутинная работа по переписыванию и доработке одних и тех же модулей не приносит разработчикам никакого профессионального удовлетворения.
Административный прессинг и падение заинтересованности у специалистов становится причиной их ухода. Это делает невозможным дальнейшую модернизацию и эксплуатацию собственных разработок из-за отсутствия авторов.
Привлечение специализированных фирм
В отличие от “придворных” профессиональные разработчики и поставщики решений строят свой бизнес на постоянном развитии и совершенствовании своих технологий, так как они зависят от рынка в целом, а не от конкретных потребителей.
Это вынуждает их вести постоянные исследования и применять технологические новации. В их разработках заложен практический опыт, обобщающий требования основных клиентов, и результаты собственных исследований.
Работая с такой фирмой, предприятие, безусловно, становится зависимым от разработчика и от качества его программных решений. Поэтому важно не только детально проработать все аспекты технологического перевооружения, но и правильно выбрать стратегического партнера.
Ныне свыше трех четвертей бюджета, выделяемого на разработку прикладного программного обеспечения, уходит на процесс формализации предметной области и постановку задач непосредственно для программирования. Это одна из самых сложных задач, от решения которой зависит дальнейшая судьба разработки на предприятии - будет ли она отправлена на полку либо будет реально использоваться и приносить отдачу. Эффективное взаимодействие между конечными пользователями и разработчиками программного обеспечения на протяжении всего процесса создания, внедрения и эксплуатации программного продукта способствует будущему успешному использованию таких масштабных технологий.
Важно также то обстоятельство, что специализированные фирмы имеют опыт успешного внедрения на разных предприятиях, опыт работы на протяжении всего технологического цикла внедрения и сопровождения. Поиск жизнеспособных вариантов взаимодействия в треугольнике “требования предприятия - возможности собственных программистов - предложения поставщиков технологических решений” становится крайне актуальным.
Чтобы снизить влияние неблагоприятных факторов, нужно внедрять интегрированные решения поэтапно. В качестве варианта разбиения на этапы можно предложить следующую последовательность решения задач.
- Анализ сложившихся бизнес-процессов и разработка предложений по их оптимизации.
- Анализ текущих и перспективных потребностей в интегрированных программных технологиях и разработка предложений по концептуальным вариантам технологического перевооружения.
- Структуризация и формализация требований как к самой интегрированной системе в целом, так и к процессу внедрения и адаптации таких решений.
- Собственно планирование и согласование процесса внедрения и адаптации программных технологий по времени, ресурсам, производственным и коммерческим планам и т. п.
- Принятие решения, внедрение и дальнейшая эксплуатация системы.
Каждый из приведенных выше этапов может быть достаточным для принятия решения либо по дальнейшему продолжению всего процесса в рамках выбранного плана работ, либо по его существенному изменению, если выявляются какие-то новые факторы.
Другой способ снижения рисков и повышения экономической эффективности - это проведение тендеров. Процедура их проведения предполагает единые требования и критерии как к самой разработке, так и к процессу ее внедрения, адаптации и сопровождения. Анализ представленных предложений позволяет сравнить их с точки зрения единых показателей, формируемых специально для конкретного предприятия. Формализация бизнес-процессов, требований, процедур является основой для разработки требований к поставщикам интегрированных решений.
Продолжая тему российского консалтинга в сфере информационных технологий для корпоративных клиентов, начатую еженедельником, хотелось бы выделить в этой сфере наиболее значимые направления деятельности:
- планирование процесса технологического перевооружения;
- реорганизация бизнес-процессов при внедрении и использовании информационных технологий;
- консалтинговая поддержка при выборе эффективных программных решений и стратегического партнера для технологического перевооружения;
- интеграция новых и находящихся в эксплуатации программно-аппаратных решений;
- консультационная поддержка по программным и техническим аспектам.
Основа любого консалтинга - знание предметной области, опыт и наличие методик работы по соответствующим направлениям. Привнесение знаний и обобщенного опыта работы консультантов способствует поиску оптимальных решений. Чем прозрачнее методики и информационные источники, с которыми работают консультанты, тем выше уровень восприятия их рекомендаций. Только в этом случае консалтинг переводится в практическую плоскость, реально помогая осмыслить конкретные процессы и выбрать эффективное решение.
Андрей Горланов
К Андрею Горланову, руководителю консультационного центра экспертно-консультационной компании “СПЛАН” можно обратиться по телефону: (095) 183-5729 или по адресу: andrew@splan.msk.ru.
Если фирма реализует высокотехнологичный проект, то ей придется организовать специальную группу для постановки задачи и ее формализации