Разработка систем на базе адаптивных моделей

Материал из CustisWiki

Перейти к: навигация, поиск

Разработка систем на базе адаптивных моделей

Владимир Рахтеенко
Генеральный директор CUSTIS

«Технологический прогноз», № 2, май 2010 http://www.pwc.com/ru/en/center-technology-innovation/technology-forecast/assets/technology-forecast-2010-2-ru.pdf.

«Технологический прогноз» (Technology Forecast) Центра технологий и информаций PricewaterhouseCoopers — ежеквартальное издание PwC о глобальных тенденциях в развитии информационных технологий, их роли в бизнесе и практических аспектах их применения. http://www.pwc.com/ru/ru/center-technology-innovation/index.jhtml

Владимир Рахтеенко является одним из основателей и Генеральным директором компании CUSTIS, которая занимается проектной разработкой комплексных информационных систем на базе собственной технологической платформы. В этом интервью Владимир Рахтеенко рассказывает об особенностях разработки ИТ систем для компаний, стремящихся сохранить и автоматизировать свои уникальные бизнес-процессы, а также о применении CCMS [content and collaboration management systems] и PMS [process management systems] решений для организации взаимодействия заказчиков и будущих пользователей системы с ее архитекторами и разработчиками с начальной стадии проекта. Интервью провели: Виталий Лазорин и Андрей Шелудяков

ВЛ: Ваша специализация это наукоемкие разработки. Как сформировался интеллектуальный потенциал вашей компании? За счет чего идет его развитие и подпитка?

ВР: Наша компания образовалась в 1996 г. Мы знали, что хотим заниматься решением сложных нестандартных задач в области разработки прикладного ПО. Образовательный потенциал лучших ВУЗов страны (МФТИ, МГУ, МИФИ и др.) укрепил нашу веру в собственные силы. В середине 90-х годов в России поле профессиональной деятельности в наукоемких инженерных отраслях существенно сузилось, но открылись возможности для частной инициативы. Мы объединили творческий потенциал нескольких единомышленников и организовали компанию по разработке масштабных учетно-аналитических систем на заказ. В качестве нашей миссии мы определили поиск оптимальных путей решения сложных нестандартных управленческих задач для наших заказчиков на современном технологическом уровне. За все эти годы мы ни разу не изменили исходным принципам. Бытует мнение, что разработка ПО на заказ экономически не выгодна. Но мы научились и не только «выживаем», но и непрерывно растем и развиваемся в таком интеллектуально насыщенном секторе ИТ-рынка.

Развитие обеспечивают, во-первых, наши люди. У нас работают специалисты, которые готовились заниматься фундаментальной наукой и запускать ракеты в космос. Нам удалось поставить перед ними достойные задачи и результат — наукоемкий коммерчески успешный продукт. Во-вторых, это технологии, которые создаются теми же людьми. У нас лидерами команд становятся те, кто не только готов постоянно профессионально развиваться сам, но и готов делиться технологическими достижениями с коллегами и заказчиками. В-третьих (и это главное), наши заказчики — это лидеры, заинтересованные в долгосрочном развитии своих компаний, те, кто не склонен удовлетворяться чужими идеями, но ищет собственные новые пути. Они, как правило, хорошо понимают, каким образом информационные технологии поддерживают их уникальные бизнес-процессы и непосредственно участвуют в создании стоимости.

Надо сказать, что мы охотно делимся знаниями — не только с нашими заказчиками, но и со всем профессиональным ИТ-сообществом. Мы регулярно участвуем в конференциях разработчиков ПО — слушаем других, выступаем сами. Надо сказать, что российскому ИТ-сообществу присущ демократический соревновательный дух, заложенный в нас alma mater. У нас ведется общедоступная база знаний компании lib.custis.ru, которая содержит множество текстов по ИТ-тематике — от описаний/обсуждений инструментов, стандартов и технологий до образовательных и проблемных статей. Там же публикуются отчеты об открытых встречах, семинарах и тренингах, которые проходят у нас в компании. Мы регулярно предоставляем нашу площадку для заседаний профессиональных сообществ разработчиков AgileRussia.ru и системных аналитиков UML2.ru и выкладываем подробные отчеты и видеозаписи в открытый доступ на team.custis.ru. Регулярно наши ведущие специалисты читают бесплатные курсы по современным технологиям для студентов старших курсов и выпускников ведущих московских вузов. Потом лучших слушателей приглашаем на работу в компанию. Эту практику открытого общения мы намерены продолжать и развивать.

ВЛ: С какого рода метаданными вы работаете при реализации сквозного проекта как по созданию ИТ-продукта, так и на разных этапах прохождения этим продуктом своего жизненного цикла в рабочей эксплуатации?

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

Мы работаем по всем правилам современной ИТ науки, чтобы обеспечить для наших информационных систем промышленного качества. Мы, естественно, используем промышленные платформы разработки ПО от мировых вендоров (Oracle, Microsoft и др.) и ведущие технологии проектирования и моделирования. Но наше производство не конвейер, и исполнители — не винтики, а главные действующие лица. Поэтому особенно важными для нас оказываются «гуманитарные» технологии ведения проектов и организации внутренней интеллектуальной и производственной жизни компании.

Мы применяем так называемые Agile (гибкие) технологии ведения проектов. Разработка ведется небольшими командами в постоянном диалоге с представителями заказчика, которые буквально с первого же месяца получают возможность «видеть и трогать» прототип системы. Это стимулирует бизнес периодически верифицировать и уточнять на формальном уровне свои процессы, выявлять в них скрытые взаимосвязи и противоречия. А аналитики и разработчики могут сразу же получить обратную связь относительно создаваемого продукта — проверить адекватность системных моделей, удобство интерфейса и т. д. Такой процесс разработки, по нашему опыту, довольно быстро «сходится», причем заведомо к предсказуемому результату.

В целом, для компании Agile-разработка означает, что носителями комплексных знаний о создаваемой системе становятся не отдельные личности, а группы. Кроме этого, внутри компании поддерживаются процедуры, которые стимулируют общение на горизонтальном уровне и передачу знаний между отдельными членами и командами. Мы у себя внедрили и увязали технологии сквозного управления проектами и технологии управления контентом (wiki) на традиционных open source продуктах. По каждому из проектов у нас ведутся внутренние wiki-системы. Помимо этого мы заводим отдельную wiki-систему для каждого заказчика, где совместно с его специалистами формулируем постановки задач и прочие требования, а также ведем проектную документацию.

ВЛ: Как вы классифицируете свои креативные процессы и как соотносите их с креативными процессами бизнес-заказчика?

ВР: Чтобы наглядно показать, в чем соль нашей заказной разработки, выделим основные виды проектов, с которыми может столкнуться компания, оказывающая профессиональные услуги. Нам нравится классификация, предложенная Девидом Майстером. Он выделяет три типа проектов: «Мозги», «Седина» и «Процедуры». В проектах «Мозги» решаются уникальные задачи, и для их решения важны инновационные и творческие подходы. К «Сединам» относятся сложные проблемы с известными корнями, для их решения важен прежде всего опыт. А «Процедуры» имеют дело с такими задачами, решение которых хорошо известно и формализовано, и важна только эффективность решения.

Можно сказать, что в первую очередь мы нацелены на проекты типа «Мозги», так как мы очень любим решать сложные, нестандартные задачи. В этом смысле, наша заказная разработка очень близка к R&D. Также мы с удовольствием беремся за проекты типа «Седина», потому, что работая с «Мозгами», мы приобрели огромный опыт решения различного класса задач.

Как правило, наши клиенты — компании с оригинальными процессами управления и высокой динамикой изменения бизнес-процессов. На рынке информационных систем сегодня доминирует парадигма готовых решений. Это означает, что создатели таких систем разобрались, как устроен тот или иной процесс в десятках самых успешных компаний отрасли, и обобщили полученную информацию в виде модели. Именно эта модель спустя 3-5 лет в итоге ложится в основу системы, образуя ее жесткий каркас. Плюсом полученной системы будет то, что для большинства компаний отрасли она может стать хорошим инструментом повышения эффективности. Но плюс автоматически станет минусом в случае, если уникальные для компании бизнес-процессы, составляющие основу ее конкурентного преимущества, не укладываются в предложенную модель. Тогда компании нужно будет или изменить свои процессы «под систему», или попробовать изменить саму базовую модель, что в отношении большинства готовых решений является практически нереальной задачей. В этом случае компания вынуждена искать другие пути решения.

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

ВЛ: Расскажите подробнее, каков профиль ваших основных клиентов с точки зрения организации бизнес-процессов?

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

Очевидно, что при выборе информационной системы таким компаниям важно, чтобы все ключевые бизнес-процессы в этой системе были реализованы в полном объеме. Чем больше бизнес-процессы компании отличаются от принятых в отрасли, тем сложнее такой компании найти себе готовую информационную систему. А для лидеров отрасли, которые во многом и формируют будущие отраслевые стандарты, готовых систем не может существовать по определению.

В литературе по менеджменту часто цитируется фраза из книги Льюиса Кэрролла: чтобы оставаться на месте, нужно быстро бежать. Это хорошо иллюстрирует ситуацию, в которой находятся лидеры — хочешь оставаться первым, будь на шаг впереди конкурентов, постоянно придумывай что-то новое, вкладывайся в инновации и развитие. Чтобы информационная система гармонично существовала внутри динамично развивающейся и меняющейся компании, она должна успевать за всеми этими изменениями, да и идти на полшага вперед.

ВЛ: Вы говорили, что важной часть вашей работы является системный анализ. Что конкретно он дает вам и вашим клиентам?

ВР: Вступая в творческий диалог с заказчиками, мы становимся для них практически технологическим лидером и не даем «испортиться» их ИТ-активам. Можно сказать, что таким образом мы выступаем катализатором их дальнейшего развития.

Нужно понимать, что любая крупная компания сама по себе является сложной системой. И как бы хорошо руководство компании ни представляло, как работает бизнес, множество нюансов все равно останутся неформализованными, пока за всем не лежит какая-то строгая модель. Если в эту картину добавить ИТ-ландшафт, который сложился естественным образом в процессе развития компании, получится сильно запутанная конструкция с множеством информационных систем и бизнес-процессов. Теперь если компании нужно изменить существующие сквозные бизнес-процессы (например, ввести категорийный менеджмент в торговой сети, добавить услуги розничного банка в финансовом институте), то, не имея цельной картины происходящего, сделать это будет весьма сложно.

Строго говоря, системный анализ и есть метод, позволяющий вычленять элементы системы и устанавливать связи между ними. В нашем случае системный анализ позволяет обозначить и формализовано описать сквозные бизнес-процессы, а затем провести их инвентаризацию в контексте информационных систем компании. Затем уточняется архитектура информационной системы — выделяются компоненты, в которых находится большая часть обновляемого сквозного процесса. Эти компоненты и обозначат контур новой системы. На этой основе проектируется подробная модель, достоверно описывающая обновленный сквозной процесс в моменте и в перспективе нескольких лет. Эта модель ляжет в основу будущей информационной системы, станет ее каркасом.

Как правило, таких моделей строится несколько — по числу сквозных процессов, затрагиваемых изменениями. В результате бизнес получает формализованное и наглядное описание своих ключевых бизнес-процессов, за счет которого качественно улучшается управляемость и упорядочивается развитие. ИТ получает строго описанную архитектуру информационной системы — текущую и будущую.

Естественно, новые системы, разработанные на основе моделей, не повисают в воздухе, а гармонично интегрируются в общий ИТ-ландшафт. Справедливости ради нужно сказать, что слухи о сложности интеграции различных систем сильно преувеличены. Гораздо сложнее построить хорошую модель, это процесс на грани искусства.

ВЛ: На каком «языке» ведется творческий диалог между ИТ-специалистами и бизнес-подразделениями?

ВР: Действительно, найти общий язык ИТ и бизнесу не всегда просто. Нашим ответом стала разработанная внутри компании методология проектировании управленческого учета, применяемая при разработке учетно-аналитических систем класса ERP. Основу этой методологии составляют диаграммы планов счетов, которые в простой наглядной форме позволяют договариваться бизнесу и IT-специалистам о том, как должна функционировать система. В совокупности диаграммы представляют собой модель бизнеса компании, элементы этой модели (метаданные) — учетные регистры и документы/операции, имеющие множество аналитических параметров. По нашему опыту, такие диаграммы подходят как для представления простого учета движения товаров, так и для более сложных задач расчета себестоимости или балансового учета в рамках всей компании.

Рисунок 1. Пример диаграммы планов счетов. Овалы представляют регистры учета, стрелки — документы/операции.

Имея на руках такой инструмент, бизнес-представители быстро учатся разговаривать с ИТ-специалистами в языке диаграмм, самостоятельно рисуя в них свои запросы. Построенная в результате модель управленческого учета оказывается достаточно стабильной во времени и, по сути, становится инвариантом бизнеса. Для программистов такие диаграммы являются опорными моделями бизнеса, с которыми они сверяются в процессе разработки системы.

ВЛ: Вы упоминали, что хорошая информационная система должна успевать за изменениями бизнеса. Как практически это реализуется в ваших системах?

ВР: ИТ-систему приходится со временем изменять под давлением изменившейся бизнес-среды. Если нужного результата можно добиться простой перенастройкой параметров системы, то проблем с развитием не возникает. Сложности начинаются, когда изменить нужно саму модель, заложенную в систему.

Тут надо понимать, что изменения в базовую модель системы может внести только тот, кто ее спроектировал — ее архитектор. Бизнес-модель тиражных решений устроена так, что архитектор системы максимально удален от конкретного внедрения. И это понятно, так как количество внедрений ведет счет на сотни, а архитекторов — единицы. Более того, задача архитектора при такой бизнес-модели заниматься проектированием новой системы, а не вносить изменения в старую.

Когда мы говорим о заказной разработке, то описанные выше проблемы не возникают, и вот почему. Во-первых, практикуемые нами методы построения моделей, подразумевают большую гибкость и масштабируемость. В том числе и благодаря тому, что строятся для каждой конкретной компании. Во-вторых, в случае если требуется внести изменения в модель, сделать это можно достаточно легко, так как архитекторы системы входят в команду, занимающуюся внедрением, или сидят в соседней комнате. В силу того что модель строится «по месту», она компактна и обособлена в отличие от «всеобъемлющей» модели, заложенной в крупную готовую систему. А корректно внести изменения в инкапсулированную компоненту системы проще и, следовательно, быстрее.

Рисунок 2. «Пики» автоматизации — выше горизонтальной прямой располагаются сделанные на заказ компоненты ИТ-системы, автоматизирующие ключевые процессы компании. В их основе детально разработанные компактные модели. Архитектурно они достаточно обособлены от остального ИТ-ландшафта, так что их изменение в минимальной степени затрагивает окружение.

Мы хорошо понимаем, как важна для бизнеса непрерывность развития даже во время реинжиниринга информационной системы. Применение технологии «бережного внедрения» — постепенно по логике системного видения, управляемая замена старой системы — позволяет сделать процесс замены максимально безболезненным для компании. В особых случаях замена системы может проходить без остановки развития старой. И это не фигура речи, а предмет гордости.

ВЛ: Каковы ваши планы на будущее по техническому ИТ-инструментарию и «умным» цифровым ресурсам?

ВР: В ближайшее время мы продолжим развитие нашей технологической платформы разработки учетно-аналитических систем (учетной машины), а также продолжим её «продвижение в мир». Как исправный воин, мы держим свое оружие в постоянной готовности и регулярно его «чистим» и обновляем. Текущая версия платформы — результат четвертой процедуры модернизации. Вскоре будет и пятая — в области ИТ технологические поколения сменяются очень быстро.

Мы будем популяризировать методологию построения диаграмм планов счетов для визуального моделирования учета. Мы считаем её очень ценной для налаживания продуктивных коммуникаций между бизнесом и ИТ. Постараемся наладить процесс передачи знаний о методологии клиентам, чтобы из искусства она стала ремеслом.


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