Есть на российском компьютерном рынке фирмы, которые растут как-то незаметно для постороннего глаза. Но проходят годы, и метаморфоза становится очевидной. Пример тому - компания Argussoft. Редакторы нашего еженедельника Эдуард Пройдаков и Александр Ливеровский побеседовали с ее генеральным директором профессором Ефимом Григорьевичем Ойхманом.

Ефим Ойхман

PC Week: Расскажите, пожалуйста, о вашей фирме.

Ефим Ойхман: Фирма была организована семь лет назад, 25 мая 1991 г. Изначально предполагалось, что она будет заниматься разработкой программ. Думая о том, чем она будет отличаться от других, мы решили, что создадим фирму, которая будет опираться на самые современные информационные технологии, что никогда не станем заниматься программированием по принципу “кодируй и смотри, что получится”, тем, что называется “черновым кодированием”. Кстати, это по сей день самый распространенный способ разработки программ и у нас, и за рубежом.

Уже к 1991 г. мы хорошо знали, какие инструментальные средства используются для проектирования больших программных систем. Были знакомы с 4GL, CASE. Мало того, даже делали попытки самим разработать и 4GL, и собственный CASE. Правда, вовремя поняли бессмысленность этих занятий. Однако в результате и опыт приобрели, и глубоко разобрались с этими инструментами. Понимание определяющего значения методологии и технологии при проектировании программ в современном мире пришло, естественно, как результат более чем двадцатилетней работы в этой области.

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

Пять лет назад я стал вникать в то, что называется быстрой разработкой приложений, читать книжки на эту тему и понял, что именно это и нужно нашей фирме и что внедрение RAD позволит нам успешно работать как в России, так и за рубежом, в том числе и в Америке, где перманентно не хватает программистов. Сейчас у нас свой офис в Вашингтоне, офис в Лондоне, там работают местные менеджеры, а наши программисты приезжают туда для работы с заказчиками, когда это надо. Так как у нас есть оборудование для видеоконференций (мы являемся дистрибьюторами фирмы Picture Tell), то мы проводим видеоконференции с заказчиками, что очень облегчает общение и формирование требований и спецификаций. И все наши успехи и в России, и за рубежом - следствие использования методологии RAD и подобранных нами эффективных инструментов, реализующих эту методологию и технологию.

На сегодняшний день в штате фирмы примерно 150 “чистых” программистов. Все программисты разделены на RAD’овские группы по 4 - 6 человек. Argussoft вступил в ассоциацию DSDM (Dynamic Systems Development Method), объединяющую RAD-программистов, и является ее активным участником. Argussoft сегодня сертифицирует свою RAD-технологию на ISO 9000-3 в США.

PC Week: То есть вы применяете метод “хирургических бригад”?

Е. О.: Совершенно верно. Как в старом анекдоте о врачах, когда один из бригады врачей знает, куда ставить клизму, а другой - зачем. Средний возраст работающих в бригадах - около 27 лет. 80% из них - выпускники мехмата МГУ, МФТИ, МИФИ. Их легче всего готовить для такой работы. Самая трудная задача - подготовка системных аналитиков. Бывало, что из выпускников университета мы их по специальным методикам готовили за 2 - 3 месяца. Встречаются просто гениальные ребята. У нас есть один выпускник МГУ, которого не надо было готовить, он родился системным аналитиком. Его зовут Виктор Кулямин. Запомните эту фамилию.

Чтобы вы лучше понимали процесс разработки в Argussoft, скажу, что у нас есть хранящаяся на сервере в электронном виде методология разработки приложений Data RUN фирмы Silverrun Tech (США). Она переведена на русский язык, адаптирована и дополнена нашими собственными “ноу-хау”. На клиентских местах инсталлированы инструменты, и вы можете с любого места вызвать либо методологию, либо методику, либо технологию и использовать их в розницу или оптом. То есть у нас на фирме организована стопроцентная методологическая и технологическая поддержка разработки, и поэтому работать в такой среде достаточно комфортно для программистов любой квалификации. Таким образом, имеется некая многослойная модель: методология в электронном виде, ниже идет в электронном же виде технология, ниже - инструменты. Инструменты, как уже отмечалось, очень тщательно отбираются по критерию “эффективность - стоимость - простота освоения”.

PC Week: Какого типа приложения вы разрабатываете?

Е. О.: Любые. Среди наших клиентов и большие, и маленькие компании в России и в США. Среди заказчиков реализованных проектов и Центральный банк РФ, и Сбербанк РФ, и Газпром, и ДАО “Спецнефтегаз”, и “Шереметьево-Карго”, и ЦДУ РАО ЕЭС, и многие другие. Среди наших американских клиентов транспортные компании, страховые фирмы и т. д. Главное, что они хотели иметь заказную систему и получили ее. Очень важное свойство RAD: эта технология обращена лицом к заказчику. Все, что мы делаем, мы делаем вместе с заказчиком и ради удовлетворения его требований.

Почему появилась технология RAD? В том числе и потому, что в современном мире очень быстро изменяются внешние условия функционирования систем, а соответственно и требования к программам. Если программы писать долго, то к моменту завершения они уже не удовлетворяют заказчика, так как “отстали от времени”. RAD сокращает сроки разработки и делает заказчика “соучастником”. Он постоянно видит эволюцию системы и может своевременно вносить необходимые изменения в требования и исходные модели.

PC Week: Все программисты у вас работают по единой технологии?

Е. О.: И да и нет. Дело в том, что в нашей фирме культивируется как структурное проектирование, так и объектно-ориентированный подход. Соответственно есть и та и другая методология, технология и два (или более) набора инструментов. В основе каждого набора лежит так называемая “рабочая пара”: CASE + язык. В структурном подходе это Silver Run + VB, JAM, Power Builder и т. д., при объектном подходе - Rational/Rose +C++, JAVA, Smaltalk. Есть и собственная фирменная изюминка - мост между Silver Run и Rational/Rose. Мост двунаправленный. Он как отдельный элемент продается в США. Этим мостом мы хотим в том числе доказать, что структура и объекты суть отражения объективного мира и они могут очень хорошо уживаться при реализации различных частей одного проекта, если надо. По нашему мнению, и теоретически, и практически это так. В то же время RAD-группы для объектного и структурного подхода разные. В них разные люди. Даже такие, которые верят в безусловную победу только объектного или только структурного подхода везде и во всем.

PC Week: Насколько мы знаем, у вас есть направление, связанное с искусственным интеллектом.

Е. О.: Да. Мы работаем в этом направлении. В 1991 г. с подачи профессора Эдуарда Попова, очень известного в России специалиста по искусственному интеллекту, работающего в Argussoft, я вышел на фирму Gensym (США) - мирового лидера в области экспертных систем реального времени. К сожалению, тогда было жесткое эмбарго на все программные продукты такого направления, и у нас ничего не получилось. А в 1992 г. правила КОКОМ в отношении России начали смягчаться и мы первые в Восточной Европе получили лицензию на оболочку экспертных систем реального времени - G-2 и обучили первых трех человек в США. Сейчас в этом направлении в Argussoft работают 25 человек, и это, по оценке президента Gensym Роберта Мура, самая большая и квалифицированная группа в Восточной Европе. Вот уже более трех лет мы ведем практические работы по созданию систем различного назначения на базе оболочки G-2 в интересах многих организаций, в том числе МПС, Газпрома, нефтеперерабатывающих предприятий, операторов телекоммуникаций и т. д. Кроме того, фирмой Gensym на базе G-2 создан ряд пакетов, в том числе для моделирования, BPR, прогнозирования на нейронных сетях и т. д.

PC Week: Насколько активно применяются в России такие системы?

Е. О.: Теоретически, казалось бы, рынок таких систем в России гигантский, если мыслить аналогиями с Западом. Эти системы там очень эффективно применяются в управлении технологическими процессами в нефтехимии, химии, при производстве бумаги и другими непрерывными процессами. Их в структуре российской промышленности очень много. Другие применения: телекоммуникации, управление железнодорожным транспортом, метрополитеном, воздушным движением и т. д.

А как перспективны эти средства при моделировании, при BPR! Ведь в России проблем с реструктуризацией уйма, как целых отраслей, так и отдельных предприятий.

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

Нам удалось сделать несколько очень интересных и перспективных проектов для ЦБ РФ, МПС, ЦДУ ЕС России и др. Однако наш потенциал в этой области значительно выше. Ищем и находим работу для своих специалистов по искусственному интеллекту за рубежом, хотя могли бы много полезного сделать в России. Очень надеемся, что после заката эры “красных директоров” и “крепких хозяйственников” эти технологии будут востребованы в первую очередь государством, так как именно они позволяют повышать эффективность управления.

У нас в России гигантский рынок для применения таких систем. Вопрос в платежеспособном спросе. Кроме того, об этих технологиях просто мало кто знает.

PC Week: На какой платформе вы работаете? Используете ли вы нетрадиционную архитектуру? Как строится ваша работа ?

Е. О.: Нетрадиционных архитектур мы не используем. Мы работаем на станциях фирмы Sun, которых у нас 27 штук, на java-station и персональных ЭВМ. Разрабатываем только заказные системы, тиражируемых систем делаем мало. Приходим в любую организацию, сначала выполняем обследование и делаем модель, а затем под эту модель по RAD-технологии делаем систему. Вы знаете, что RAD лучше всего работает на заказных системах, т. е. все его преимущества начинают проявляться именно на них. Среди множества моделей жизненного цикла предпочитаем модель интегрального прототипирования. Каждый прототип начинается и заканчивается комплектом документации. Прототипов, как правило, 3 - 4. Каждый разрабатывается примерно две недели. Каждый двухнедельный цикл проектирования также заканчивается комплектом документации. Обычно цикл проектирования системы в целом в точном соответствии с RAD завершается за 90 дней. Но прежде чем начать писать программы, мы разрабатываем модель и стараемся очень точно описать требования к будущей системе.

PC Week: Это ER-диаграммы?

Е. О.: Для обследования мы применяем либо CASE-средства SilverRUN, либо Rational/Rose. Соответственно строятся либо диаграммы потоков данных, либо USE-CASE, в любом случае описываются бизнес-процессы, т. е. все, что происходит в организации.

PC Week: У каждой организации своя терминология. Как вы умудряетесь с ними со всеми договориться?

Е. О.: Прежде всего мы уточняем терминологию, которой пользуется заказчик. Он знает предметную область, и поэтому мы безоговорочно принимаем его терминологию. В книжке, содержащей результаты обследования, есть обязательный пункт - Глоссарий. Мы его разрабатываем совместно с заказчиком. Далее строятся либо DFD, либо USE-CASE, после чего мы говорим заказчику: “Мы знаем теперь, как вы работаете. А как бы вы хотели работать? Что, собственно, мы будем автоматизировать?”. Для того чтобы двигаться дальше и разрабатывать первый прототип, мы выдвигаем гипотезу, которая заключается в следующем: любая система с точки зрения пользователя проявляется через экраны и отчеты. Мы уточняем представления заказчика о системе через ее внешнее представление, а не через функциональность. Сначала необходимо выяснить, одинаково ли мы с заказчиком видим экраны и отчеты. Как там внутри обрабатывается информация - это не первостепенный вопрос. По крайней мере, не сейчас. Надо уточнить внешнее представление системы. Первый прототип - это экраны и отчеты. Заказчик видит и реальные экраны, и экранные формы, которые мы ему даем в бумажном виде. Он пишет на них свои замечания в двух экземплярах - один для себя, другой для нас. У заказчика есть максимум три попытки для исправления экранов. К этому моменту у нас уже имеется концептуальная модель данных. Все по науке, по Мартину. Это настоящая концептуальная модель.

Вот еще один принципиальный момент нашей методологии. Если не создана концептуальная модель, нельзя говорить о дальнейшем проектировании системы. Это один из краеугольных камней нашей методологии, что, кстати, следует из RAD. Формулируется этот принцип так: “Определите все (!) данные”. Потом объясню почему.

Дальше идет второй прототип, затем третий. После второго прототипа мы окончательно согласовываем всю функциональность, которую мы собираемся реализовать в системе. Утверждаем ее. Если нам говорят, добавьте такую-то функцию, мы говорим - нет. Мы ее добавим во второй релиз системы. Это будет развитие системы, а пока давайте закончим то, что уже начато. У нас все планируется. Для этого есть средства планирования и оценки сложности.

Очень важна для нас часть первая стандарта ISO 21207 - процессы жизненного цикла. У нас ее знают все, как “Отче наш”. И 21207, часть вторая - конфигурационное управление. На каждом рабочем месте в нашей фирме есть средства конфигурационного управления.

PC Week: Хорошо, формы отработаны, затем делается система, а тестирование как происходит?

Е. О.: Имеется отдельная группа тестирования. Что бы у нас ни делалось, это все проходит через нее. Мы работаем с фирмами Sigue и Rational. У нас есть ее средства функционального и нагрузочного тестирования.

PC Week: Какие фирмы вы считаете самыми технологичными в России?

Е. О.: Давайте определим, что такое технологичные фирмы. Я думаю, уровень технологичности определен стандартом ISO 9000, в том числе и для софтовых компаний. Мы только что прошли в США процедуру сертификации на технологичность по ISO 9000-3.

Теперь мы знаем, что это такое. Пусть попробуют пройти другие фирмы. И когда в России их будет много, тогда и поговорим о технологичности и ее месте в российских софтовых компаниях. Это объективный критерий оценки, используемый во всем мире. Поэтому неважно, где изготовлены кроссовки Adidas - в США, Франции, Китае или еще где-нибудь. Так и с программами. И только не надо говорить о том, что кого-то сертифицировали у нас. Как это можно сделать, все знают.

PC Week: Вы открыли Java-центр. Зачем вам нужна Java?

Е. О.: Вместе с фирмой SUN мы действительно открыли первый в России Java-центр. По моему мнению, Java - это очень серьезный, новый шаг в развитии вычислительной техники. Это не просто новый язык, это новая перспективная технология создания программных систем. Причем достаточно универсальная. На Java можно писать как маленькие программы, так и большие программные системы, как встраиваемые в аппаратуру приложения, так и корпоративные системы, как для Internet-технологии, так и для централизованных систем, как для распределенных вычислений, так и для сосредоточенных. Для любой платформы. Об этом можно говорить часами. Это очень серьезное направление.

Окончание следует.