среда, 25 марта 2009 г.

Эссе "Интеграция Сервис Деск с Call-центром: эффективная отдача вложений в ИТ"

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

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

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

Чтобы эффект от внедрения подобных систем был максимальный, необходимо соблюдение простых условий:

  • не человек для системы, а система для человека;
  • эргономичный инструмент более приятен, нежели идентичный по функциональности, но неудобный;
  • «игра» с ненулевой суммой или, в sales терминологии стратегия «Win-Win», всегда является выигрышной по отношению к другим стратегиям.
Наверняка, если прислушаться к рекламным речам производителей, найдется продукт, который позволит решить и эту проблему. Однако, откладывая в сторону критический анализ, в стадии насыщения ИТ, равно как и в состоянии кризиса на рынке, каждое дополнительное вложение во что-либо и, в том числе и в ИТ, вызывает очень большое сомнение со стороны инвесторов. Необходимо иметь весьма веские аргументы, чтобы продолжать развитие ИТ в компании в неизменном темпе.

C другой стороны, такая ситуация может послужить мощным стимулом для тщательного пересмотра уже закупленных систем и организованных процессов на предмет оптимизации их использования. Ведь 1+1=2 только в математике. 1 объект с набором функционала + 1 объект с набором функционала = может преобразоваться в нечто новое, отсутствующее в исходных объектах. Как правило, в отношении ИТ, знак суммы выполняет тот или иной интеграционный модуль.

При построении ИТ комплекса большинство компаний используют типовые структурные элементы. В настоящем документе рассмотрена интеграция систем Сервис Деск (Service Desk) и Call-Центр (Call Center) и плюсы для внутренних пользователей и для бизнеса компании в целом, которые несет такая интеграция.
Предлагаемый вариант решения проблемы

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

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

Если оператор по той или иной причине не ответил на звонок, звонок переводится на другого оператора. Если операторов, готовых отвечать на звонок, не осталось, то после проигрывания мелодии, происходит новая попытка найти свободного оператора.

Рис. 1. Пример всплывающего окна с профилем пользователя

Принцип работы: Прямая интеграция

Интеграция системы Сервис Деск с Call-центром сводится к следующим основным задачам:

  1. Конфигурирование сетевого оборудования (как правило, Cisco) на предмет управляемой СД маршрутизации телефонных вызовов.
  2. Расширение модели данных СД дополнительными объектами, описывающими статус каждого оператора (Рабочее время, Принято вызовов, Пропущено вызовов, Готовность к ответу, Блокировка).
  3. Развертывание Ajax клиента на АРМ-ах операторов СД для возможности событийного изменения статуса СД на рабочем месте оператора.
  4. Разработка бизнес-логики маршрутизации звонков (пример возможной маршрутизации приведен на Рис. 2)

Рис. 2. Алгоритм нахождения оператора для ответа на звонок

Принцип работы: Обратная интеграция (кнопка «Позвонить»)

Чем отличается удобный интерфейс от неудобного? Два, на первый взгляд, одинаковых экрана. В целом, одно и то же. На одном экране поля чуть по-другому расположены, пара кнопочек добавлены, hotkeys настроены. Разве может волновать капитанов лайнеров такая ерунда? Однако, если обратиться к статистике, то выясняется, что от эргономики рабочего места зависит очень и очень много.

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

Но даже, если ошибки не допускаются, производительность работы сотрудника также зависит от эргономики интерфейса. Существуют модели и количественные метрики для оценки эффективности того или иного интерфейса. Наиболее распространенная модель — GOMS(Goals, Operators, Methods, and Selection rules). Каждое лишнее нажатие клавиши, каждое дополнительное движение мышью может быть количественно оценено и переведено в затраты, которая несет компания.

В рамках задачи интеграции системы Сервис Деск и Call-центра, мы предлагаем обратную интеграцию в виде отдельной кнопочки «Позвонить». Она может быть добавлена на вкладке администрирование при просмотре контактов. При нажатии на кнопку происходит вызов с коммутационного оборудования Cisco сначала оператора, нажавшего кнопку, потом осуществляется вызов абонента, в контактах которого была нажата кнопка. Во время второго вызова оператору может проигрываться мелодию или определенные сообщения вплоть до установления соединения с абонентом. Дополнительно, при нажатии на кнопку может открываться окно с инструкциями для оператора.

вторник, 17 марта 2009 г.

Экспорт слайдов из Microsoft PowerPoint

Каждый раз, когда возникает необходимость вытащить слайд из готовой презентации в иной источник, начинается морока с copy-paste, печать в tiff, обработка в редакторе и т.д.

Однако, в реальности все гораздо проще. Экспортировать изображение из PowerPoint с приемлимым разрешением возможно и без хитрых приемов. Главное знать, что и как подправить в реестре.

А для этого есть полезная статья KB827745 Как изменить разрешение слайда, который экспортируется из PowerPoint как изображение.

четверг, 5 марта 2009 г.

PPT => SWF: новые релизы, новые "косяки"

Обновился один из лучших продуктов по преобразованию презентаций во флэш - iSpring converter.
Однако, в версии 4.0 пропал мой самый любимый плеер - Lite. Ошибка в комплектности файлов, забыт дескриптор скина плеера. Исправляется следующим образом:
Копируем файл "iSpring..."\players\nullskin\skin_settings.xml в "iSpring..."\players\online\skin_settings.xml
И все работает.

среда, 4 марта 2009 г.

Система фоновой компиляции .tex проектов

Весьма полезная утилита (LaTeX Daemon) для однократной компиляции преамбулы TeX-овских документов, мониторинга изменений в файлах проекта и фоновой компиляции проекта.

К сожалению, применение этого пакета к разработанному мной классу, вызывало ошибку
(! Illegal parameter number in definition of \MYline.

1

l.387 \gdef\FV@BeginScanning#1^^M)

Проблема заключалась в пакете fancyvrb.sty, а именно в строке определения

\catcode`\^^M=\active

Путем нехитрой операцией Search\Replace я заменил в файлах всей директории fancyvrb ^^M на ^^Y. И все прокатило, никакие пакеты конфликтовать не стали.

P.S. Именно ^^M, а не \^^M

четверг, 19 февраля 2009 г.

Продолжение тестирования MiKTeX 2.7

  1. Проблема с неподхватыванием jpg\png решилась путем прописывания строчек \DeclareGraphicsRule в стартовый файл. Причем, именно в такой последовательности:
    \ifpdf
    % идет компиляция в PDF
    \else
    % идет компиляция в DVI
    \DeclareGraphicsExtensions{.eps,.png,.jpg}
    \DeclareGraphicsRule{.png}{eps}{.bb}{}%
    \DeclareGraphicsRule{.jpg}{eps}{.bb}{}%
    \fi
    Так и только так. В противном случае, если же прописать \DeclareGraphicsRule и в PDF секции, pdflatex, при использовании графики в png формате отображет только бокс с именем файла, а в случае с jpg файлом -- все ок.
  2. Обнаружилась иная проблема. Пакет Caption2 устарел. Caption3 наследует не все свойства предыдущего пакета, надо разбираться.
  3. Теперь переменная \pdfoutput определена всегда. поэтому для точного определения, идет ли компиляция в pdf или в dvi, необходимо использовать пакет ifpdf, см. MiKTeX 2.7 Known Issues.
  4. Конфликт между пакетом hypcap и caption. Ошибка "! Package hypcap Error: You have forgotten to use \caption". Требует обязательной подписи рисунков, видимо, из-за необходимости простановки гиперрсылок. В конце концов, поскольку caption3 самостоятельно взаимодействует с hypcap, я просто исключил последний из списка подгружаемых пакетов.
  5. Заработал запуск редактора по 'e' при ошибке. Каким образом -- экспериментов проведено недостаточно. Скорее всего, что редактор определяется в настройках YAP (Options|Inverse Search). Если был выбран WinEdt, параметры которого подхватываются автоматом, то по 'e' вызывался WinEdt. Если прописать notepad, то вызывается именно он. Проблема в том, что в обязательном порядке надо прописывать командную строку. Осталось выяснить, в какие конфигурационные файлы при этом вносятся изменения. Если они вообще вносятся.
  6. Теперь LaTeX ругается на -src-specials и -terminal в командной строке. В WinEdt пришлось это все убрать, иначе не компилирует. Надо детально разбираться
  7. PsCyr заработал и при установке в кривые директории (вместо понятных, приятных и портабельных texmf\localtexmf). Батник для установки написан. Более детально --- TODO.
  8. Для HTLATEX необходимо таки ставить ImageMagick. Чтобы им пусто было. Надо же назвать команду convert... Но не беда, все решается небольшой ручной правкой. В файле %\Program Files\MiKTeX 2.7\tex4ht\base\win32\tex4ht.env команду convert надо переименовать в convertIM, чтобы не было конфликта. В противном случае, если не поставить ImageMagick, при компиляции возникает такая ошибка:

    System call: convert -trim +repage -density 110x110 -transparent "#FFFFFF" zzportal_small_short.ps portal_small_short0x.png

    Invalid Parameter - +repage
    --- Warning --- System return: 4
    Entering portal_small_short.css
    Entering portal_small_short.tmp
  9. Как определить, загружен ли tex4ht?
    Ответ (один из возможных):
    Статус Tex4HT:\{
    \ifx\HCode\UnDef
    Unloaded
    \else
    Loaded
    \fi
    \}
  10. При использовании моего класса, в коде
    \begin{enumerate}
    \item Необходимо осуществить переход к сервисной модели предоставления ИТ услуг.
    \item Необходимо внедрить инструментарий для измерения в режиме реального времени метрик
    оказываемых услуг и оперативного принятия мер по устранению деградации качества
    предоставления ИТ сервисов.
    \end{enumerate}

    возникает ошибка

    ! LaTeX Error: Something's wrong--perhaps a missing \item.

    See the LaTeX manual or LaTeX Companion for explanation.
    Type H for immediate help.
    ...
    l.84 \item Н
    еобходимо внедрить инструментарий для измерения в режиме реально...

    ?
    ! Emergency stop.
    ...
    l.84 \item Н
    еобходимо внедрить инструментарий для измерения в режиме реально...

    по причине загрузки пакета
    \RequirePackage[hyperindex=true,
    final=true, %%% 2.7?
    unicode=true,
    colorlinks=true,
    % pdfstartview={XYZ 0 842 1.5}]{hyperref}%
    pdfstartview={XYZ 0 842 1}]{hyperref}%
    %%% в 2.7 сказано, что проблему с hyperref пакет caption3 решает самостоятельно, без помощи hypcap
    %%\RequirePackage[figure]{hypcap} % Но subfigure перестанет работать :((

    Cвязано с загрузкой в рамках класса, а не файла (RequirePackage вместо usepackage)

    Исходя из анализа логов и анализа содержимого пакетов аазница в том, что использование \usepackage позволяет загрузить пакет tex4ht раньше, чем будут загружаться другие пакеты.
    ("d:\Program Files\MiKTeX 2.7\tex\generic\tex4ht\tex4ht.sty"
    version 2008-08-07-16:03
    Package: tex4ht
    --------------------------------------
    --- Note --- for _ at preamble, use the command line option `early_'
    --------------------------------------
    --------------------------------------
    --- Note --- for ^ at preamble, use the command line option `early^'
    --------------------------------------
    \tmp:toks=\toks14
    )
    ("d:\Program Files\MiKTeX 2.7\tex\generic\tex4ht\usepackage.4ht"
    version 2008-10-10-13:16
    )
    А именно, файл htlatex осуществляет принудительный вызов пакета tex4ht.sty сразу после вызова класса, читаем файл %\Program Files\MiKTeX 2.7\doc\tex4ht\mn-commands.html. Вот и весь фокус


P.S.
При этом шапка проектного документа должны обогатиться вызовом пакета hyperref и принять следующий вид:
\documentclass{mydoc}

\message{---> Options:[Loading HYPERREF] <---}
\ifpdf
\message{------------==== PDF ====------------}
\usepackage[unicode,
hyperindex=true,
final=true, %%% 2.7?
unicode=true,
colorlinks=true,
pdfstartview={XYZ 0 842 1.5}]{hyperref}%
%% в 2.7 сказано, что проблему с hyperref пакет caption3 решает самостоятельно, без помощи hypcap
\hypersetup{bookmarksnumbered=true}
\renewcommand{\blackHlinks}{\hypersetup{pdfborder={0 0 0},linkcolor=black,pagecolor=blue}}
\renewcommand{\notblackHlinks}{\hypersetup{pdfborder={0 0 0},linkcolor=ForestGreen,pagecolor=blue}}
%--------- перегружаем определения из Hyperref.sty, необходимо для корректного создания меток в aux файлах ---
%\renewcommand\theHfigure {\theHsection.\arabic{figure}}
%\renewcommand\theHtable {\theHsection.\arabic{table}}
\else
\message{------------==== DVI ====------------}
\usepackage[unicode]{hyperref}
\fi
% в 2.7 изменения
\usepackage[font=small,labelsep=period]{caption}

% специфические настройки под Tex4Ht
\ifx\HCode\UnDef
\message{------------==== TeX4HT Unloaded ====------------}
\def\soo#1{{\sood{#1}}}
\else
\message{------------==== TeX4HT Loaded ====------------}
\def\soo#1{\ul{#1}}
\fi

понедельник, 9 февраля 2009 г.

Картинки и водяные знаки

Иногда требуется. Когда был проведен анализ продуктов на рынке, выбор однозначно остановился на Watermark Factory. Красиво, просто, функционально. Заодно использую и как пакетный ресайзер.