[recovery mode] Easla.com или опять про документооборот
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель./А.С. Пушкин/Как опыт привел к парадоксу требований и заставил изобрести новую систему документооборота.Кому интересно, прошу…Много лет занимаюсь адаптацией и внедрением разных систем документооборота на разных предприятиях одного и того же профиля. Где работаю штатным сотрудником — выступаю руководителем и исполнителем проектов, где внештатным — консультантом.Являясь, как сейчас принято говорить, CIO, все время автоматизировал процессы совершенно далекие от ИТ. Например, разработка проектной документации, обмен заданиями на проектирование и т.п. Никак не доходили руки до автоматизации процессов протекающих в подчиненном мне ИТ-подразделении. Повезло, подразделения были небольшими, и всю информацию удавалось удержать в голове. Не спорю, ненадежно, но…Приблизительно пару лет назад озадачился вопросом, надо бы наконец-то найти инструмент, который поможет автоматизировать «айтишные» процессы в отделе, а заодно и в аутсорсинговой ИТ-компании, которая уже давно работала под моим началом без подобающего инструмента. Изначально задача показалась совершенно тривиальной. Начал поиски. Как принято у нормальных людей, определил критерии, иначе можно искать бесконечно: Простота — конечный пользователь, т.е. сотрудник отдела или организации, не должен разбираться в сложностях интерфейса нового продукта, а должен открыть и начать работать.
Цена — бесплатно или недорого, т.е. не дороже 3–5т.р. в месяц и без начальных инвестиций.
Гибкость — важно, чтобы процессы развивались вместе с пользователями или пользователи вместе с процессами, в общем, чтобы процессы можно было изменять и развивать в соответствии с возникающими потребностями.
После нескольких дней поисков получил какой-то результат … неважно какой, т.к. понял, что искал вовсе не то. Пришло переосмысление задачи. Требовалась система не только для автоматизации ИТ-процессов, а для автоматизации любых процессов протекающих на предприятии, будь то основное место работы или клиенты аутсорсинговой компании. В конечном счете, к критериям поиска добавился еще один:
Многоорганизационность — таким страшным словом обозвал возможность искомой системы управлять разными организациями как вместе, так и порознь, иными словами, чтобы по мере необходимости сотрудники одной организаций могли быть участниками процессов другой организации.
И вот на этом критерии споткнулись все найденные мной в то время системы. Возможно, плохо искал, но не нашел.
Однако, программисты — народ ищущий и недремлющий. Взвесил «за» и «против» и решился на запуск проекта по созданию новой системы документооборота. Разумеется, разрабатывать систему только для себя — расточительство. Уж если разрабатывать, то разрабатывать универсальную систему, под разные требования и не только для себя.Руководитель, архитектор и исполнитель — сам, дизайн — фриланс. По крайней мере, на первых порах.
Не стану описывать все мои мытарства в поиске инструмента для написания системы, выбора языка, архитектуры и т.п. В конечном счете остановился на Yii Framework. Статья не про него, поэтому про него коротко — супер!
К разрабатываемой системе выдвинул ряд требований, перекликающихся с критериями поиска указанными выше:
Простота — опять же, все должно быть просто для конечного пользователя — открыл и работай. Лично мне нравятся такие системы, в которых пользователю доступен набор действий ограниченный его потребностями, а вся сложная настройка и адаптация скрыта под консолью администратора.
Цена — система должна быть изначально бесплатной и просить денег только когда ее начнут активно использовать. Исключение начальных инвестиций в оборудование или программное обеспечение для многих компаний важный критерий.
Гибкость — процессы не должны быть жесткими, администратор должен иметь возможность изменять и дополнять их быстро и легко не обладая при этом уникальными знаниями (достаточно базовых знаний PHP).
Многоорганизационность — аутсорсинговые компании работают с разными клиентами, таким образом, все клиенты становятся участниками процессов протекающих в аутсорсинговых компаниях и система должна позволять такое организовать.
Открытость — не представляю себе систему, которая в наше время являясь закрытой сможет выжить хотя бы год, поэтому изначально должен быть хотя бы один способ для двусторонней связи — выбрал SOAP.
Скорость — отклик должен быть пусть не мгновенный, но очень быстрый. Никаких «нескольких секунд» для регулярных действий. Длительными могут быть только пакетные операции.
Шаблонность — возможность делиться своими процессами со всем миром и, как следствие, использовать опубликованные другими администраторами процессы в своих целях. Не секрет, что многие компании используют типовые процессы в своей работе, так зачем тратить время и деньги на их реализацию, когда можно взять подходящих шаблон и использовать его как есть или слегка «допилить».
Полтора года «кодинга» привели к рождению новой системы, которую назвал easla.com. Ожила система в сети зимой этого года и в течение всего последующего времени активно тестировалась путем «боевой» эксплуатации.Идеологически система построена предельно просто: процесс — объект — атрибут — действие, к ним добавлены роли и виды. Каждый программист знакомый с ООП поймет систему в течение получаса.
Разумеется, специалисты знакомые с системами документооборота найдут в easla.com много знакомых и ожидаемых возможностей, но в каждом продукт должна быть изюминка, а лучше целая мисочка изюминок. Из изюминок easla.com, можно отметить:
Многоорганизационность — администратор системы можно управлять неограниченным числом организаций и организации могут быть как независимыми друг от друга, так и пересекаться в процессах, если требуется.
Вложенность объектов — система позволяет хранить объекты иерархически регулируя принципы вложенности объектов, например, задача-подзадача-субзадача, но не задача-субзадача.
Сводный вид — объекты можно отобразить не простой последовательностью в таблице, а со значениями на пересечении колонок и рядов.
Рабочий календарь — календарь организации, в котором возможно указать рабочие, нерабочие, праздничные и предпраздничные дни, а потом использовать календарь для вычисления диапазонов рабочего времени, например, в процессе управления инцидентами используя календарь удобно рассчитывать плановую дату закрытия инцидента (между полуднем пятницы и полуднем понедельника не 72 часа, а только 8).
Совмещение пользователей — сотрудник организации может стать совместителем в другой организации и таким образом стать участником процессов другой организации, например, сотрудник клиента аутсорсинговой организации может стать участником процесса управления инцидентами аутсорсинговой компании, скажем, выполнять роль регистратора инцидентов.
Умный поиск — поиск по базе данных с учетом сложных критериев.[embedded content]
Первое «боевое крещение» easla.com прошла путем автоматизации с ее помощью ИТ-процессов (см. ИТ сервис-менеджмент) для отдела ИТ проектной организации. Были автоматизированы следующие процессы: Сервисы — фактически, каталог сервисов для одной организации.
Инциденты — простое управление инцидентами.
Изменения — простое управление изменениями с возможностью создания изменения на базе инцидента.
Всего несколько ролей, десяток действий и, к настоящему моменту, более 2000 объектов в easla.com.
Второе «боевое крещение» easla.com прошла при автоматизации с ее помощью ИТ-процессов для аутсорсинговой ИТ-компании. Процессы получились более сложными, пригодилась «многоорганизационность» и даже использована связь с asterisk через SOAP. Были автоматизированы следующие процессы:
Сервисы — фактически, каталог сервисов для разных организаций. Сложность заключалась в том, что помимо указания организации в сервисе, необходимо было реализовать возможность указывать рабочее время сервиса, а также нерабочее время. Сотрудники обслуживаемых организаций получили возможность входить в easla.com и получать доступ к процессам аутсорсинговой компании, иными словами, самостоятельно регистрировать инциденты и изменения.
Инциденты — простое управление инцидентами для разных организаций. Причем, список организаций в инциденте формируется на основании эксплуатируемых сервисов. Очень удобно.
Изменения — простое управление изменениями для разных организаций.
Звонки — автоматическая регистрация входящих звонков с помощью asterisk. На сервере asterisk был написан скрипт, который, используя SOAP, регистрирует каждый вх. звонок в easla.com с распознаванием пользователя по номеру телефона. Каждый вх. звонок обладает действием, которое может на основании звонка зарегистрировать инцидент.
Таким образом, в настоящий момент easla.com используется для «айтишных» процессов двумя принципиально разными организациями. В одной запущены процессы отдела, в другой — всей организации.Описанные «айтишные» процессы опубликованы для использования. Любой администратор зарегистрировавшись на сайте easla.com может их заимствовать и использовать как есть или «допилить» под себя.
Так как архитектура системы отнюдь непростая и тестировать ее довольно сложно, сейчас ведутся работы по исправлению хитрых «багов» и добавлению полезных «плюшек», на которые раньше не было времени.Недостатки easla.com в том, что пока нет документации и периодически всплывают ошибки связанные с интерфейсом и дизайном. Как обычно бывает — не хватает рук и времени.
В планах, разработка desktop/server клиента для прозрачной синхронизации файлов, разработка модулей или макросов к приложениям Microsoft Office и Autodesk AutoCAD для синхронизации значений атрибутов с содержимым документов, разработка dashboard и прочие вкусности.
В принципе, easla.com может быть хоть сейчас использована для автоматизации любых бизнес-процессов: CRM, PDM и других страшных слов. Использование ее как HelpDesk только частный случай. Предлагаю всем интересующимся указанными вопросами попробовать систему в действии. Обратная связь с конструктивной критикой, предложениями и рекомендациями приветствуется! P.S. Публикация получилась сугубо обзорная. Если easla.com заинтересует хабра-общественность, то могу написать небольшой цикл статей о том, как настраивать систему, так сказать, взгляд на easla.com глазами администратора.