Долгое время, занимаясь вопросами создания информационных систем различного масштаба, трудно не задумываться над системными вопросами, типа "а каким это должно бы быть в идеале?" Постепенно проникаясь знаниями из всевозможных предметных областей, да понемногу осваивая накопленный опыт управления жизненным циклом информационных систем, возникло некоторое представление о том, как построить эффективную информационную систему для тех, кто строит информационные системы.
На эту тему существует огромное множество работ самого разного масштаба. Боюсь, я даже не имею представления о подавляюще большей части знаний, накопленных в этой отрасли. Тем не менее, возьму на себя ответственность описать то, что, рождаясь в муках последние два года, начало оформляться в некий единый материал.
Но, прежде всего, хочется выразить благодарность огромному множеству людей, благодаря поддержке которых я не забросил эту идею в начале пути, не растянул на десятки лет, и не ушел продавать на рынке огурцы или лак для ногтей. Всех я здесь вряд ли упомяну, места для статьи иначе просто не останется, назову лишь Мальцева Бориса (более известного под ником ТоТ) и Александрова Александра.
Итак, чтобы как-то подступиться к теме, начну с описания жизненного цикла КИС (корпоративной информационной системы). На мой взгляд, он выглядит следующим образом.
- Этап анализа, на котором происходит сбор предложений, требований, пожеланий, аналогий, фактов, примеров, эскизов, сценариев и т.п.
- Этап управления вариантами системы необходим, чтобы не утонуть в накапливаемом аналитическом материале. Требования разбиваются на группы по важности, срочности, трудоемкости и т.д. - в зависимости конкретной ситуации количество групп может меняться, и эти изменения так же управляются на этом этапе.
- Этап конструирования знаменуют собой начало синтеза первых очертаний системы. Здесь происходит разработка вариантов архитектуры системы, концептуальных моделей системы, диаграмм взаимодействия подсистем, блоков и модулей и т.п.
- Этап управления выпусками вариантов системы включает в себя работы по определению последовательности наполнения системы функциональностью на уровне разработанных на этапе конструирования элементов системы.
- Этап проектирования - предназначен для разработки структур метаданных различных модулей, блоков и подсистем и алгоритмов их взаимодействия между собой
- Этап управления сборками выпусков вариантов системы дает возможность определить, что именно нужно включить в работающую систему, какие объекты проработаны достаточно детально, чтобы их реализовать и предоставить для эксплуатации
- Этап реализации заключается в разработке объектов метаданных и алгоритмов их действия, кодировании в различных платформах, тестировании работы объектов, документировании различных аспектов работы реализованных объектов, касающихся использования, администрирования и описания примененных технических приемов реализации
- Этап управление редакциями сборок системы представляет собой определение конкретного наполнения предоставляемой пользователю работающей системы. Иначе говоря, включение, обновление и исключение различных редакций структуры, описаний и исходного кода объектов в/из сборки системы. А, кроме того, подготовка презентаций и демонстрационных материалов, определение актуального состояния документации различных уровней, наиболее точно соответствующей текущему состоянию предоставленной пользователям системы
- Этап презентаций и демонстраций заказчикам и пользователям системы предполагает первый показ работоспособности измененных частей системы, а также оформление протоколов презентаций и демонстраций, оформление актов по замечаниям и предложениям пользователей.
- Этап обучения пользователей включает в себя подготовку планов обучения, материалов, необходимых для обучения, собственно обучение и проверку усвоения знаний и навыков владения системой пользователями.
- И, наконец, этап управления изменениями в системе, включает в себя администрирование, ввод в эксплуатацию новых и измененных объектов системы, вывод из эксплуатации устаревших и замененных объектов системы, в которой непосредственно работают пользователи
Кто-то может заметить, что список этапов можно сократить, или изменить, или
переупорядочить. Но, с одной стороны, это не слишком существенно, а с другой
стороны, именно такой акцент на происходящих действиях в системе позволяет увидеть
некоторые скрытые обычно аспекты управления жизненным циклом.
Собственно говоря, цель статьи вовсе не в обсуждении жизненного цикла. Он был
указан только в подготовительных целях, для облегчения понимания дальнейшего
материала. Более детальное обсуждение этого цикла очень важно и будет обязательно
произведено в дальнейших статьях.
Но, прежде чем перейти к главной части, хочется перечислить важные артефакты
(документы, элементы) управления жизненным циклом КИС. Список этот нельзя назвать
упорядоченным, регулярным, равномерным и законченным. Это тоже всего лишь демонстрация
масштаба проблемы управления жизненным циклом КИС. Итак, посмотрим, с чем приходится
сталкиваться…
Всевозможное оборудование и документация на него
Системное программное обеспечение, с документацией (так и хочется сказать -
с супругой)
Описание бизнес-процессов в виде регламентов взаимодействия пользователей с
объектами КИС
Технические задания на систему
Тестовые примеры
Конструкторская документация
Проектная документация
Исходные коды системы
Описания структуры баз данных системы
Шаблоны баз данных системы
Исполняемые модули системы
Документация пользователя
Документация системного администратора
Документация администратора баз данных
Документация администратора системы
Документация демонстратора
Документация преподавателя
Документация прикладного программиста
Документация системного программиста
Пакеты презентаций и материалы демонстраций для заказчиков и пользователей
Планы демонстраций и испытаний
Протоколы демонстраций и испытаний
Результаты тестирования
Акты устранения замечаний
Планы и графики использования рабочего времени по обслуживанию и развитию системы,
фактическое использование рабочего времени
Плановые и фактические затраты по обслуживанию системы, бюджет расходов на обслуживание
системы
И т. д. и т. п.…
Замечу, что этот список очень и очень важен, и его обсуждение так же необходимо
и ожидается в следующих статьях цикла. Но речь идет не о простом обсуждении.
Ведь по сути дела, представленная выше информация - это накопленные знания.
И от того, насколько эффективно с этими знаниями будет проводиться работа, зависит
главный результат - достижения идеала в управлении жизненным циклом корпоративной
информационной системы.
Прежде чем перейти к вопросу управления знаниями, придется начать несколько издалека. Мне трудно судить, какие мысли и идеи рождаются в головах людей по поводу оптимизации творческого процесса организации знаний. Всяческие блокноты, картотеки, форумы и конференции, справочники и энциклопедии, гипертекстовые системы помощи и полнотекстовые системы поиска - это примеры развития систем индивидуального и коллективного управления знаниями.
Начну я, пожалуй, с индивидуальных моментов. Как человек, обладающий далеко не выдающейся памятью, я всегда мечтаю о способе возврата в прошлое. Иногда рождаются бесподобные по эффективности идеи, которые в процессе их мгновенного анализа расплываются и забываются. Как хочется тогда вспомнить процесс рождения идеи… Как обидно бывает порой потерять набранный фрагмент текста на форуме или в конференции. А как иногда, после долгих творческих мучений и правок кусочка текста хочется вернуться к каким-то удаленным или исправленным уже в десятый раз моментам… Да иногда и необходимость продемонстрировать идею требует воспроизведения целиком процесса творческих исканий. Один раз увидеть процесс в действии часто бывает лучше для практического обучения, чем тома структурированной и иллюстрированной информации.
Итак, возникает вопрос, как быть со знаниями? Их нужно находить, отбирать, сортировать, делать на них ссылки, предлагать их к обсуждению, изменять, удалять, возвращаться к удаленному или измененному, резюмировать и детализировать, выделять главное и второстепенное, делать выводы и искать причины, развивать идеи и реализовывать их на практике, вносить заметки по практическому воплощению, ошибкам и замечаниям и начинать новый процесс накопления знаний…
Вот тут то и рождается идеология Knowledge Management - управления знаниями. А поскольку каждая концепция управления наилучшим образом проявляется в регламентированных, формальных процессах, учитывающих все правильные стадии и этапы движения от как можно раннего входа в управление, и заканчивая как можно более чувствительными индикаторами отклонений от проведения правильно задуманного процесса, то и желание автоматизировать управление знаниями не кажется странным. Так мы приходим к идее KMS (knowledge management system) - системам управления знаниями.
Полагаю людям, читающим эту статью так или иначе известны аббревиатуры ERP, BPR, CALS, и всяческие CRM, SCM, TQM, QSM, HRM, MRP, и всяческие прочие …Management…, …Planning… и …System…. Наверняка почти каждому что-то говорят и всяческие SADT, OODT, MSF, RUP, XP и многие-многие другие …Modelling…, …Solution…, …Process… и …Technical Design….
К чему все это я клоню? Да собственно к тому, что вопросами управления ресурсами (в том числе - знаниями) не интересуется только ленивый спящий человек под елкой в новый год. И в каждой из предлагаемых технологий, методик есть преимущества и недостатки. Кто-то знает больше, кто-то знает глубже, но нет никого, кто знал бы все и обо всем. Поэтому и продолжается развитие вопросов управления знаниями, поэтому и есть к чему приложить силы.
Ну и, собственно, пара пару слов сказать о KM в том виде, как это удалось прочитать в скупых строках пресс-релизов на коммерческие KM-системы, да в немногой, трудно- (для меня) -переводимой информации о самой концепции KM. Что удалось понять? Во-первых, коммерческие реализации КМ-систем направлены в основном на "добычу" знаний из общедоступных источников (Data Mining) на основании различных правил, шаблонов, запросов и т.п. Собственно вопросам работы с этими знаниями уделяется не там много внимания. Возможно, считается вполне достаточно существующих средств коммуникаций и упорядочивания знаний? Возможно, что просто я сам заморачиваюсь в выдумывании фишек и рюшечек? Надеюсь, что не одному мне хочется кое-что добавить к процессу упорядочивания творческих поисков. Чтобы это узнать осталось рассмотреть, какую бы систему я желал видеть на рабочем месте "строителей корпоративных информационных систем".
Начну с того, что я люблю форумы и конференции. Особенно те, где информация может "ветвиться", как бы трудно ни было эти "деревья" визуализировать и исследовать. Первой причиной такой любви я могу назвать простоту коммуникации. Обычное обсуждение. Мнения, мнения, мнения. Захотел - задал вопрос. Захотел - резюмировал. Захотел - уточнил. Захотел - дал ссылки на дополнительные источники.
Чего чаще всего не хватает в форумах? Ну, например, возможности привести диаграмму. А другому - внести в нее изменения. А десятому - по диаграмме написать исполняемый код и привести его для исследования. А сто двадцать седьмому посмотреть на код и в строке 6427 методом обратных ссылок вернуться к первоначально поставленной аналитической задаче, которую эта строка призвана решить. А четыре тысячи девятьсот шестьдесят шестому - внести предложение о добавлении в сценарий алгоритма дополнительного условия. А семь тысяч сто пятьдесят второму это предложение реализовать в 75 редакции этого объекта. А N+3-му участнику включить эту редакцию в сборку N 17 КИС. А N+9-ый продемонстрировал новую особенность системы… И так далее, от начала и до конца, целиком соответствуя регламентам управления жизненным циклом КИС.
И что дальше? А дальше было бы странным не обсудить чего еще и как можно реализовать в такой системе, какие проблемы эта система может и должна решить, какие проблемы она может привнести… У меня в запасниках остается пока практически все задуманное к реализации в такой системе. Если у читателей возникнет интерес к обсуждению этого замысла, а то и участию в его реализации - буду очень рад.
А пока - до следующей статьи.
Начать дискуссию