Previous Entry Share Next Entry
Система управления ИТ. SharePoint
itstrategist

Вступление…


В продолжение большой статьи в трех частях
История одной инфраструктуры. Решения MS. Часть 1
История одной инфраструктуры. Решения MS. Часть 2
История одной инфраструктуры. Решения MS. Часть 3,
рассмотрю более подробно вопрос создания «Системы управления ИТ» на базе SharePoint Server 2007.
Основной целью, при создании системы, было - получить инструменты для управления ИТ предприятия с минимальными усилиями, используя имеющиеся ресурсы. Т.е., у нас не было своих знаний для того, чтобы сделать «все правильно», также не было финансовых ресурсов для приобретения или разработки подходящей системы.


Факторы…


А тем временем, остро стоял вопрос о необходимости управления оборудованием. Было необходимо учитывать, имеющееся в распоряжении ОИТ, оборудование (учитывать количество, размещение, перемещение, ремонт, модернизацию, поступление и списание). Оборудования было много и много было операций, с ним связанных и требующих учета. Важными требованиями были - возможность совместной работы сотрудников ОИТ и формирования отчетов для руководства. Поиск в Интернете не помог найти подходящего варианта бесплатного ПО (возможно, плохо искали). Excel тоже мало подходил для наших нужд.
Убедить руководство в необходимости приобретения какой-либо серьезной системы не представлялось возможным, т.к. – не тот масштаб. Да, и сам я понимал, что это было не разумно, как говорится, «не по Сеньке шапка».

Решение…


Решение нашлось достаточно быстро (что описано в третьей части «Истории»). Это связные списки SharePoint. Связность, которых обеспечивается посредством использования столбцов типа «Подстановка» (Lookup Field). А согласованность данных обеспечивается рабочими процессами (WorkFlow), созданными с помощью SharePoint Designer. Рабочие процессы (РП) привязываются к списку и запускаются по событию – создание и/или изменение элемента списка. К одному списку может быть привязано множество РП. РП может создавать, удалять, копировать и изменять элементы списков, отправлять сообщения электронной почты, выполнять сравнения различных условий, ждать наступления определенных событий и т.д.
Выглядит все это примерно так – есть «списки», которые предназначены для хранения дынных, есть «журналы» (те же списки (Custom List), по сути), предназначенные для регистрации изменений в списках и событий, с ними связанных, также есть «справочники» (каталоги (те же списки)), предназначенные для подстановки повторяющихся данных. Взаимодействие между этими списками, обеспечивается рабочими процессами. Большая часть «кода», которых, предназначается для обеспечения консистентности данных - проверка корректности введенных данных, защита от изменений, «защита от дурака».
Например, у нас есть «Список оборудования», который хранит дынные об имеющемся оборудовании. Имеется, также, «Журнал изменений оборудования», с помощью которого, осуществляется все управление данными «Списка оборудования». Оба они используют справочники («Каталог клиентов», «Каталог исполнителей», «Каталог подразделений», «Каталог помещений», «Каталог оборудования печати» и т.д.). Для «Списка оборудования» и «Журнала изменений оборудования» созданы рабочие процессы, которые не позволяют создавать элементы непосредственно в «списке», обеспечивают создание и изменение посредством «журнала» (поступление, установка, изъятие, списание, ремонт и т.д.).

Детали…


Списки (Lists). Для некоторых списков («Список оборудования», «Журнал изменений оборудования, «Журнал изменений ПО» и т.д.) потребовалось воспользоваться «Типами содержимого» - это, если по-простому, когда для каждого типа содержимого создаются свои формы и в меню создания элемента появляются названия типов содержимого. Например, в «Журнале изменений оборудования» мы выбираем «Создать > Установка/Изъятие/Поступление/и т.д.» и, при этом, каждому типу соответствуют свои поля списка. В «Списке оборудования» также, оборудование разделено на типы содержимого (ПК, Оборудование печати, Мониторы и т.д.). Помимо этого деления, для оборудования, конечно же, имеются дополнительные категории, организованные вполне стандартно – поле типа «Выбор значения».

Формы (Forms). Формы создания, просмотра и редактирования элементов. Отсутствуют простые механизмы управления отображением полей в форме, т.е. какие поля отобразить при создании, какие при просмотре и редактировании. Можно использовать прямое редактирование в БД параметров полей (ShowInDisplayForm, ShowInEditForm, ShowInNewForm) списка, используя какое-нибудь ПО, коих много (например, SharePoint Manager), также можно самостоятельно создать необходимые формы (что, на мой взгляд, слишком трудоемко). И некоторое время мы пользовались первым методом, пока не попробовали решение Office Toolbox.
Office Toolbox (как раз то, чего нам не хватало) позволяет наглядно управлять формами, добавляя меню в «параметры списка» и, более того, позволяет в форме редактирования отображать поля в режиме «только для чтения», что оказалось очень для нас удобным.

Столбцы подстановки (Lookup Fields). С подстановкой значений из другого списка, все оказалось не так хорошо, как хотелось бы. Например, в «Журнале изменений оборудования» создаем запись об установке (т.е. перемещаем со склада клиенту), выбираем оборудование, которое желаем установить, поле подстановки предлагает на выбор все элементы «Списка оборудования», большая часть значений заведомо неправильные – они ведь уже установлены, хотелось бы, автоматически сократить предлагаемые варианты и оставить на выбор только те, которые действительно находятся на складе. А SharePoint не предлагает никаких дополнительных механизмов фильтрации значений подстановки (отбрасывает только пустые значения). А мы не любим «связываться с маленькими сторонними программами, помогающими решать большие задачи» и предпочитаем использовать то, что есть и то, что мы можем поддерживать своими силами. Посему, например, «Список оборудования» дополнился дополнительными полями, созданными специально для подстановки (например, «Название оборудования на складе»). Эти поля содержат «вразумительные значения», которые изменяются рабочими процессами. Везде, где требовалось, мы применили этот «не совсем красивый» подход.

Связность (Lookup). На многих формах (создание, просмотр, редактирование элемента) требуется отобразить записи из других списков, связанные с выбранным элементом. Иначе, зачем нам все эти связанные списки? К примеру, оборудование – необходимо видеть установленное ПО, записи из журналов (изменения оборудования, прочие расходы, инциденты, изменения конфигурации) с итоговыми значениями сумм и количества. Здесь опять на помощь приходит SharePoint Designer. Открываем нашу форму, выбираем необходимый источник данных, перетаскиваем нужные поля, получаем веб-часть (DataFormWebPart), настраиваем фильтрацию, внешний вид, итоги. Ничего не работает. Ищем в «гугле» магическое словосочетание «SharePoint LookupId='True'». В списке первых находим решение, применяем и все работает.
Представления (Views). То же все оказалось непросто. Например, как разграничить доступ к представлениям? Никак, нет механизмов. Но выход нашелся – указать для страницы представления другую главную страницу (MasterPage) посредством SharePoint Designer. А разрешения на объекты главных страниц раздать проще простого.

Вычисляемые столбцы (Calculated Fields). Используем повсеместно – вычисляем все, что вычисляется. Но, например, нельзя использовать функцию «Сегодня» (Today) в вычисляемых полях, которая категорически необходима, можно только в представлениях данных. А бывает нужно вычислить день рождения, срок эксплуатации и т.д. Хотя, если очень хочется, есть один метод – «SharePoint TODAY field and calculated fields...». Мы его используем, и он работает, но с одним замечанием – значение не пересчитывается автоматически, для пересчета необходимо обновить (изменить) элемент. Посему, если критично - рабочие процессы в помощь (есть у нас такая реализация – «Дни рождения», где все обновляется автоматически, своевременно поздравляются виновники по электронной почте и публикуются поздравления на портале).
Другой пример – как отразить в представлении, данные за текущий месяц, а за прошлый? Использовать вычисляемые столбцы. Есть, к примеру, дата изменения оборудования – вычисляем первую дату текущего месяца, первую дату следующего месяца и сравниваем эти значения со значением [Сегодня] в представлении. Или нужно классифицировать инциденты по времени решения, имея время начала и время окончания – определяем критерии оценки, вычисляем время решения и присваиваем, на основании этого значения, категорию времени решения.

Результаты…


Тот функционал, что в итоге мы получили, расположился на узле «Центр ИТ» портала и получил гордое название «Система управления ИТ». Функционал этой системы можно условно разделить на области: Управление ИТ-проектами, Управление ИТ-активами, Управление затратами, Управление конфигурацией и документацией ИС, Управление знаниями, Управление инцидентами, Управление технической поддержкой. Постараюсь описать…

Управление ИТ-проектами. Отдельный дочерний узел «Центра ИТ». Здесь мало интересного, функционал немногим отличается от шаблона узла «Управление проектами».
Имеется список «Стратегические задачи», «Список проектов», «Список задач проекта», «Список вех проекта» и страница отчетности с ключевыми показателями эффективности (КПЭ). Списки связаны, отклонения отслеживаются, но нет связей с остальным функционалом «Системы управления ИТ». Посему, описывать много не буду, считаю, стоит объединить и сделать «Управление ИТ-проектами» «верхушкой айсберга» системы управления ИТ. Т.е., сделать так, чтобы «Стратегические задачи» и проекты (мероприятия), связанные с ними, были первичны и прослеживались по всей системе.

Управление ИТ-активами представлено «Списком оборудования», «Журналом изменений оборудования», «Списком ПО», «Журналом изменений ПО», «Списком ВОЛС».
«Список оборудования» предназначен для хранения записей об оборудования по типам содержимого и способен представлять данные в любом необходимом виде – например, оборудование по типу, по подразделению, по владельцу, стоимость оборудования по подразделению, по владельцу, по типу оборудования и т.д., что позволило с легкостью создавать любые отчеты экономического характера. При просмотре элементов «Списка оборудования», отображаются записи из всех связанных списков.
«Журнал изменений оборудования» предназначен для фиксации любых работ по оборудованию (например, замена запчастей, установка, изъятие, отправка в ремонт, возврат из ремонта, поступление на склад, списание). «Журнал изменений оборудования» позволяет отслеживать инвестиции в оборудование по месяцам и расходы на ремонты оборудования.
«Список ПО» предназначен для хранения записей о программном обеспечении (ПО), способен представлять данные в любом необходимом виде – например, ПО по типу, по производителю, по подразделению, по владельцу, стоимость ПО по подразделению, по владельцу и т.д., что, также позволяет создавать любые отчеты экономического характера. При просмотре элементов «Списка ПО», отображаются записи из всех связанных списков.
«Журнал изменений ПО» предназначен для фиксации работ с ПО (например, установка, удаление, приобретение, списание). «Журнал изменений ПО» также позволяет отслеживать инвестиции в ПО.
«Список ВОЛС» короткий и предназначается для того, чтобы выделить отдельно ВОЛС, показать их размещение и инвестиции в них.
«Журнал замены РМ» предназначен для фиксации замен расходных материалов для оборудования печати (РМ). Вносит изменения в специальные поля «Списка оборудования», что позволяет нам вычислять предположительную дату следующей замены. Т.е., имеется некоторое подобие планирования приобретения РМ.

Управление затратами представлено списками «Журнал расходов на Интернет», «Журнал прочих расходов», «Журнал приобретения запчастей», «Журнал приобретения РМ».
«Журнал расходов на Интернет» предназначен для фиксации расходов, связанных с Интернет (оплата линий связи, трафика, DNS, Интернет-сайта, контекстная реклама и т.д.).
«Журнал прочих расходов» предназначен для фиксации оплаты ИТ-услуг сторонним организациям (консультационные услуги, техническое сопровождение, аудит, разработка ПО, ремонт оборудования и т.д.).
«Журнал приобретения запчастей» говорит сам за себя. Позволяет отслеживать расходы на запчасти. Используется «Журналом изменений оборудования» при добавлении записей типа «Замена запчастей». Отражает состояние склада запчастей.
«Журнал приобретения РМ» предназначен для фиксации приобретения расходных материалов для оборудования печати. Используется «Журналом замены РМ». Отражает состояние склада РМ.

Управление конфигурацией и документацией ИС представлено двумя списками – «Журнал изменений конфигурации ИС», «Журнал изменений документации ИС» и библиотекой документов «Документация ИС».
«Документация ИС» предназначена для хранения и совместной работы с документами в форматах Visio, Word, Excel. Ранее разработанная документация размещена в этой библиотеке.
«Журнал изменений конфигурации ИС» предназначен для подробной регистрации всех изменений настроек ПО ИС. В случае если изменения конфигурации требуют внесения изменений в документацию, «Журнал изменений конфигурации ИС» создает записи в «Журнале изменения документации ИС», при этом, назначается исполнитель и уведомляется по электронной почте, т.е., обеспечиваются процессы своевременной актуализации документации.

Управление знаниями представлено всего лишь одним списком – «База знаний» (БЗ), предназначенным для хранения статей о проблемах, ошибках и методы их решения.

Управление инцидентами представлено тремя списками – «Журнал инцидентов», «Журнал инцидентов с поставщиками» и «Журнал инцидентов вредоносного ПО».
«Журнал инцидентов» предназначен для регистрации и управления инцидентами с оборудованием и ПО. Т.е. подробно записывается, что и когда случилось, как и когда решено, при необходимости, указывается статья из БЗ.
«Журнал инцидентов с поставщиками» предназначен для регистрации и управления инцидентами с поставщиками. Т.е., «лажанулся» (сделал плохое) поставщик, а мы записали, и впредь будем знать, с кем можно работать, а с кем не следовало бы…
«Журнал инцидентов вредоносного ПО» предназначен для регистрации и управления инцидентами обнаружения вредоносного ПО. Т.е. словил клиент «нехорошее ПО», мы получили уведомление по электронной почте, записали в журнал, клиент получил уведомление о том, что попал на «доску почета». Сдерживающий фактор, так сказать…

Управление технической поддержкой представлено списками «Запросы на обслуживание», «Запросы на приобретение РМ», «Мои запросы на обслуживание», «Мои запросы на приобретение РМ», «Часто задаваемые вопросы» и библиотекой вики-страниц «Инструкции пользователя ИС».
Журнал «Запросы на обслуживание» предназначен для регистрации и управления запросами пользователей в службу технической поддержки. Сотрудник ОИТ получает запрос и фиксирует время, клиента, создает описание, присваивает тип запроса, фиксирует способ подачи запроса, устанавливает приоритет, состояние (принят/выполняется/выполнен/отклонен), пишет комментарий (что сделано/не сделано), фиксирует время решения запроса. Клиент, в свою очередь, получает уведомления по электронной почте при создании запроса и изменениях его состояния.
Журнал «Запросы на приобретение РМ» предназначен для регистрации и управления запросами пользователей на приобретение РМ для оборудования печати в службу технической поддержки. Сотрудник ОИТ получает запрос и фиксирует все необходимые данные. Клиент также получает уведомления при создании запроса и изменениях его состояния.
Журналы «Мои запросы на обслуживание» и «Мои запросы на приобретение РМ» предназначены для того, чтобы клиент мог самостоятельно, используя «Центр ИТ», оставлять и контролировать запросы. Клиент оставляет запрос, уведомляется техническая поддержка, сотрудник ОИТ обрабатывает запрос, запрос попадает в журнал «Запросы на обслуживание» и далее управляется оттуда. Пользователь, как водится у нас, уведомляется обо всех изменениях по электронной почте и, помимо этого, может отслеживать состояние там, где он оставил запрос (после того, как запрос принят, его уже никто не может изменить, кроме РП).
Список «Часто задаваемые вопросы» представляет собой справку в формате «коротких вопросов-ответов».
«Инструкции пользователя ИС» предназначены для расширения имеющейся у пользователей справочной информации, поставляемой с системой и приложениями, а также для описания специфики конкретной ИС. Инструкции имеют подробное пошаговое описание действий, дополненное графическими изображениями для облегчения восприятия информации.

Отчетность представлена страницей «Управление ИТ», библиотекой «Отчеты» и списками ключевых показателей эффективности (КПЭ), группирующими КПЭ по принадлежности к категориям и процессам (КПЭ инвестиций, затрат, процессов управления ИС, управления инцидентами, управления технической поддержкой). Страница отчетности отображает все КПЭ по группам и ссылки на прочие отчеты ОИТ (документы, размещенные в библиотеке "Отчеты").
Также, при просмотре элементов справочников («Каталог клиентов», «Каталог исполнителей», «Каталог поставщиков» и т.д.), отображаются записи из всех связных списков, относящиеся к выбранному элементу с итоговыми значениями (сумма, количество), т.е. страница просмотра представляет собой страницу отчетности по выбранному элементу.
Страница отчетности «Управление ИТ»
Страница отчетности Управление ИТ


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

Выводы…


И так, что же мы имеем?
Мы построили систему так, как «делать в принципе не надо». Но, все же, «если очень хочется, то можно»… Потому как, то что получилось, уже доказало на практике свое право на существование.

Какие есть недостатки, кроме архитектурных?
Во-первых, как я уже говорил, функционал по управлению проектами ОИТ (стратегические цели и мероприятия) «оторван и как бы подвешен в воздухе». Необходимо поработать над этим вопросом и сделать «Цели и Проекты» первичными, обеспечить возможность объединять в рамках проектов инвестиции, затраты, работы по оборудованию, ПО, изменению конфигурации, документации и т.д. Думаю, должно получиться «довольно занятно».
Во-вторых, нет возможности управлять ИТ-бюджетом. Годовой бюджет есть, на бумаге и в электронных документах, с разбиением по кварталам и месяцам, но КПЭ к нему привязаны «вручную». Здесь надо подумать, как бы обеспечить динамическую связь целевых значений показателей с планированием бюджета.

А какие же преимущества мы получили?
Вся система получилась вполне гибкой. Мы «легко и непринужденно» настраиваем, дополняем, расширяем и обходимся без высокооплачиваемых разработчиков.
Система позволила руководству найти ответ на извечный вопрос – «А чем же они там в ИТ занимаются?». Данные системы могут быть также аргументом в пользу расширения или сокращения штата ОИТ.
Система позволила четче организовать работу ОИТ, упорядочить внутренние процессы, помогла определить задачи, сферу ответственности и успешно позиционировать ОИТ в структуре предприятия.
Управление оборудованием и ПО сполна удовлетворило наши ожидания. Мы навели порядок в учете оборудования. Мы можем видеть всю необходимую информацию, историю изменений.
Система позволила организовать эффективное управление РМ для оборудования печати. Мы всегда знаем, сколько есть, сколько и кому надо.
Управление запросами также помогает ОИТ быть более организованными и не распаляться на мелочи. Управление запросами не обязывает клиентов пользоваться строго определенными методами подачи запросов – запрос может поступить, откуда угодно и как угодно. Мы не создаем дополнительных препятствий пользователям (как рассуждают многие, мне знакомые ответственные за ИТ на других предприятиях – «что, мол, если внедрять управление запросами, то пользователи должны самостоятельно оформлять запросы в системе и только так», считаю это суждение неверным и полагаю, что «только так» обычно не работает и имеет «мнимую полезность»). Также, имея около 2000 записей за 1,5 года, может быть интересным и очень полезным выполнить анализ этих данных с целью повышения эффективности работы ОИТ.
Управление конфигурацией и документаций очень трудно переоценить. Процесс актуализации документации запущен и работает. «Журнал изменений конфигурации» представляет собой огромный набор полезных подробных пошаговых инструкций (что/как/зачем). Позволяет с легкостью делегировать выполнение ответственных заданий «безответственным исполнителям».
Управление знаниями тысячу раз доказало свою полезность. База знаний – бесценный нематериальный актив ОИТ. Например, найдя решение какой-либо проблемы, мы запишем подробную статью и можем смело забывать. Как говорится, «Лучше плохой карандаш, чем хорошая память». Но тут есть еще один неучтенный положительный эффект – при разработке статьи надо подробно описать причинно-следственные связи и все возможные методы решения. А это заставляет более глубоко изучить вопрос, понять суть проблемы, вопреки привычной для многих методике – «кое-как починил и забыл». База знаний существенно дополняется пошаговыми инструкциями «Журнала изменений конфигурации» и методами решения проблем «Журнала инцидентов».
Управление инцидентами тоже существует не зря. «Журнал инцидентов вредоносного ПО» дисциплинирует пользователей. «Журнал инцидентов с поставщиками» дисциплинирует поставщиков, предлагает нам, пусть и «вялые», но все же «рычаги управления». Позволяет объективно оценивать качество предоставляемого сервиса. «Журнал инцидентов» предлагает нам объективную картину проблем с оборудованием и ПО, может служить основанием для принятия решения о замене проблемных компонентов.
Отчетность системы управления позволяет экономить массу времени. Создание отчетов по работе ОИТ для руководства – это пережиток прошлого, безжалостно искорененный. То, что предлагает система, сполна удовлетворяет потребности руководства в отчетности.

Вот, вроде и все, но не оставляет ощущение того, что я что-то упустил. Сложно сходу выявить все явные и неявные преимущества нашего решения. Вспомню важное – дополню.
Бюрократия восторжествовала, ура, товарищи!
Система создавалась, руководствуясь принципом «Эффективно управлять можно лишь тем, что можно достоверно измерить» и нам еще есть над чем поработать...

?

Log in

No account? Create an account