Работа консультанта в проекте по внедрению и автоматизации бизнес-процессов всегда играет яркими красками. Совсем недавно я писал о том, как мне пришлось выступать в роли тренера, и вот снова наступил момент, когда приходится выходить за рамки привычной деятельности.
Очень часто в проектных командах интеграторов присутствует два тесно взаимодействующих лагеря: проектировщики/архитекторы и разработчики. Первые разрабатывают архитектуру и принципиальную схему решения, документируют процессы, логику, интерфейсы. Вторые участвуют в проектировании и впоследствии занимаются непосредственной разработкой, настройкой средств автоматизации. В настоящем проекте я выступаю не только в роли аналитика и проектировщика, но и в роли технического эксперта и разработчика. Так исторически сложилось, что хоть я и не обладаю той полнотой экспертизы, которой владеют наши выделенные технические эксперты и разработчики, но тем не менее имею возможность выполнять значимый объем задач разработки, поэтому и работаю в проекте "за того парня".
Такое переключение ролей, как это часто бывает, позволяет выйти за рамки комфорта и записать собственные наблюдения на этот счет. Современные информационные технологии уже длительное время движутся в сторону специализации экспертизы. Это неуклонное движение каждый раз пугает людей шириной и глубиной "пропастью незнания" в тот момент, когда они сталкиваются не со своей профильной предметной областью. Более того, самостоятельные попытки "разобраться в теме" с наскоку, без серьезного инвестирования времени и усилий в практически любой выбранной специализации в настоящее время обречены на провал. Без определенного бэкграунда задача будет попросту неразрешимой, что прекрасно иллюстрируется известным ещё со студенческой жизни анекдотом:
Это винтик, это отвертка, винтик можно крутить отверткой. Это всякие железяки, их можно соединять винтиками, закрутив отверткой. Еще бывают гайки и шестеренки.
Задание: Постройте синхрофазотрон.
Попробуем описать тот объем знаний, который является необходимым минимумом для реализации "сферического в вакууме" проекта по автоматизации бизнес-процессов. Выделим основные домены, компоненты решения и те знания, которые потребуются для их воплощения
- Проектирование процессов и архитектура решения
- Процессы
- Стандарты и фреймворки: MOF, ITIL, COBIT, IT4IT, …
- Нотации проектирования процессов: BPMN, IDEF, eEPC
- Навыки проектирования процессов
- Знания и навыки разработки презентационных и информационных материалов и документов
- Архитектура приложения
- Знание современных подходов к архитектуре приложений: монолитная или микросервисная архитектура, ….
- Знание методик построения архитекутуры приложения и стандарты моделирования: SOMF, 4+1, …
- Знание свойств и характеристик компонентов приложения
- Знание средств и сред разработки, артефактов
- Знание требований к технической документации, её контенту и оформлению
- Навыки технического писателя
- Навыки проектирования приложений, разработки компонентов
- Архитектура проекта
- Знания и практики управления проектами: PMI, PRINCE2, …
- Знание и понимание действующих ограничений: законодательных, организационных, временных, финансовых, логистических, ресурсных, в части информаыионной безопасности
- Навыки планирования работ и ресурсов
- Навыки по организации и контролю работ
- Решение
- Разработка
- Подходы к разработке: Agile, Scrum, Waterwall, Test driven, …
- Средства разработки, языки
- Языки, их семантика, назначение
- Среда разработки, платформа: Visual Studio, 1C, Git, …
- Специфические компоненты
- бизнес-логики:
- знание алгоритмов и современных практик програмирования: ООП, паттерны и фабрики, …
- знание библиотек готовых решений и компонент: JQuery, очереди сообщений, шины, клиенты и коннекторы, …
- умение писать стабильно качественный код
- работы с массивами и базами данных
- знание архитекутуры и организации СУБД: SQL, no-SQL, нереляционные БД
- умение работы с СУБД
- интеграций с внешними сервисами
- способы интеграций систем и сервисов: шины данных, веб-сервисы, файлообмен, TCP/UDP
- знание работы сторонних сервисов: Active directory, e-mail, Office&Sharepoint
- интерфейсов
- знания о типах и способах организации интерфейсов: толстый и тонкий клиенты, мобильный и веб-интерфейс
- знания и навыки проектирования UI/UX
- навыки дизайна интерфейсов
- Инфраструктура, знания об администрировании
- Кластер/Сервер приложения
- Кластер/Сервер СУБД
- Кластер/Сервер web интерфейсов и сервисов
- Виртуализация и балансировщики нагрузки
- Сетевой топологии
- Телефонии
- Управление качеством
- Знания о способах организации тестирования и контроля качества
- Знания об инструментарии тестирования и управлении средами тестирования
- Навыки организации автоматизированного тестирования
- Внедрение
- Персонал, организация и проведение обучения:
- Навыки разработки обучающих, презентационных, аттестационных материалов
- Знания и навыки работы с аудиторией
- Поддержка
- Знания об способах организации поддержки пользователей
- Знания об организации центров компетенций и передачи знаний
- Навык организация очной и удаленной поддержки пользователей
Если взглянуть на этот, далеко не исчерпывающий, список, каждый пункт из которого – это свой собственный небольшой мир, то становится очевидными как минимум два утверждения:
- Для того, чтобы успешно работать даже только в одной из указанных областей, нужно знать достаточно много, в плане ширины информационного охвата. В противном случае, работа специалиста будет неэффективной, т.к. на границах известной ему экспертной области будут происходить потери из-за отсутствия понимания контекста и картины происходящего в целом.
- Необходимо выделить для себя те смежные области, в которых необходимо поддерживать себя в форме, и обладать в которых, пусть не экспертным, но хотя бы средним уровнем компетенции. В остальных областях достаточно поддерживать обязательное знание основ, чтобы иметь возможность найти и заполнить недостающие пробелы при необходимости.
На текущий момент мне импонирует подход, применяемый к специалистам информационной безопасности, желающим сдать экзамен на CISSP или CISA. Эти экзамены, кроме профильных вопросов, включают в себя широкий спектр вопросов по организации ИТ-подразделения и ИТ-инфраструктуре так, чтобы быть уверенным в наличии у экзаменующегося хорошего базового уровня в этих областях. Это знание позволяет аудиторам или консультантам корректно работать с рисками, как со своим основным объектом профессионального интереса, в части их выявления, идентификации и оценки.
Если кто-либо поделится своими наблюдениями и способами борьбы со своим незнанием, то будет очень интересно узнать вашу точку зрения. Что вы решили на этот счет для себя?