В IT-сфере

Кто должен заниматься бизнес-анализом в IT-проектах?  До сих пор встречается такое мнение:  если требуется создать программу для автоматизации деятельности предприятия, нужно найти программистов и рассказать им, что требуется автоматизировать. Когда-то, лет 20 назад, это могло иметь место. Но сейчас такой подход выглядит так же,  как если для создания нового космического корабля достаточно найти инженера-рационализатора. Программные продукты, как и требования бизнеса к ним, стали гораздо сложнее.

Прежде, чем приступить к разработке программного продукта, необходимо выяснить реальные потребности бизнеса,  спроектировать архитектуру системы, организовать работу команды специалистов, разработать программный код, спроектировать пользовательский интерфейс, разработать сопроводительную документацию, протестировать полученный продукт… Даже если будет разработана супер-современная программа с модным интерфейсом и потрясающей производительностью, но она не будет решать задач бизнеса, то такая программа пополнит список академических разработок, которые так и не нашли своего потребителя. Почему так происходит? Потому, что бизнес-требования (или пользовательские требования) давно вышли на первый план. Хороших программистов сейчас гораздо больше, чем удачных программ. Тому есть ряд причин, но самая главная – это непонимание реальных ожиданий потенциальных пользователей системы. И тут на первый план выходят люди, именуемые бизнес-аналитиками.   Их задачей является понять, что хотят заказчики, как должна выглядеть система, как должна себя вести, как донести все эти требования непосредственно до разработчиков и т.д.   Хорошая работа бизнес-аналитика это 80% успеха. Соответственно, аналитик является ключевой фигурой в ИТ-проекте. Беда в том, что хорошие бизнес-аналитики встречаются не так часто. Я бы даже сказал, крайне редко.

Следует иметь ввиду, что бизнес анализ в ИТ-проектах и, например,  в классическом консалтинге, это несколько разные направления, иногда пересекающиеся по используемым приемам и образу мышления. Но мы будем говорить в первую очередь о бизнес-анализе в ИТ-проектах. В литературе встречаются разные классификации аналитиков, из которых обычно выделяются 3: Бизнес-аналитики, системные аналитики  и ИТ-аналитики (аналитики требований). Чем они отличаются, не сложно найти в интернете. Я предпочитаю не усложнять и в ИТ-проектах аналитика называть именно бизнес-аналитиком, как наиболее соответствующую действительности классификацию. Если  говорить о границе между бизнес-аналитиком и системным аналитиком, она действительно может существовать в сложных проектах, когда требуются глубокие технические знания аппаратного обеспечения, протоколов передачи данных, особенностях функционирования серверов на конкретных платформах и пр. Но, на практике, таких специалистов далеко не всегда вообще называют аналитиками. Другими словами, системный аналитик ближе к архитектору.  И эта граница может существенно плавать, в зависимости от квалификации конкретных привлеченных специалистов. Возможно, в очень  крупных западных системах такое разграничение необходимо и оправдано. А аналитики требований, на мой взгляд, вообще частный случай бизнес-анализа.  Конечно, существует и совершенно самостоятельная область бизнес-анализа, основанная на математических методах анализа статистически накопленной информации, но это совсем другое направление (в том числе с другими навыками и особенностями личности).  На этом отступление в сторону классификации заканчиваю, поскольку статья не об этом, а о бизнес-анализе в ИТ-проектах.

Рождаются ли аналитиками? Наверное, при рождении все мы аналитики. Когда ребенок впервые видит окружающий мир, новые предметы, он пытается их исследовать: потрогать, попробовать на вкус, покрутить в руках, бросить, разобратьJ.  Потом человек учится ходить, начинает бегать. Если начать развивать такую врожденную способность, как бегать, можно стать спортсменом. Или не стать. Подобным образом развиваются и аналитические способности. Для этого требуются определенные знания, навыки, практика, упорство.  Поэтому, далеко не каждый взрослый человек является аналитиком на уровне, достаточном для бизнес-анализа.

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

Не много ли? Так ведь это далеко не все! Кроме замечательных вышеперечисленных качеств, он должен быть еще и грамотным (в смысле языка), уметь системно излагать свои мысли, владеть инструментами для оформления своих мыслей (например, соответствующими программными продуктами), разбираться (или очень быстро учиться) в различных предметных областях (например, отраслях деятельности), разбираться во внедряемом программном продукте (если речь идет об автоматизации), обладать развитыми коммуникативными навыками и уметь расположить к себе собеседника, владеть техникой переговоров и обладать стрессоустойчивостью.  Ну вот… Этого набора, пожалуй, хватит для вполне приличного аналитика. Если Вы не готовы освоить 80% перечисленных способностей, лучше и не начинайте, а то пополните армию  клоунов, именуемых себя аналитиками.

Нет ничего удивительного, что из аналитиков часто получаются хорошие менеджеры – таким набором качеств обладают далеко не все руководители.

Проект провалился? Спросите, кто на нем был ведущим аналитиком! Подавляющее большинство  провальных ИТ-проектов — результат безграмотного подхода к аналитике. Кто-то сейчас скажет: а как же руководитель проекта, ведь это его задача, следить за тем, чтобы проект был успешным. Конечно, роль руководителя проекта важна, но если он сам не является аналитиком, ему сложно оценить, насколько верный путь был выбран командой проекта. Крайне важно, чтобы у руководителя проекта была достаточная квалификация для понимания и работы аналитика, и архитектора, и разработчиков.

Существует много споров и мнений о том, должен ли аналитик знать, как устроена (или будет устроена) система, владеть знаниями архитектуры внедряемой системы, говорить с разработчиками на одном языке. Однозначного ответа тут нет, но практика показывает, что чем лучше аналитик представляет архитектуру системы и чем глубже владеет знаниями в  разработке ПО, тем эффективность команды в целом выше. Почему так происходит?

  1. Аналитик имеет возможности не только понимать ожидания Заказчика, но и формировать их. Если аналитик обладает достаточной квалификацией, чтобы оперативно понимать сложность конкретных требований заказчика, он имеет шансы своевременно направить заказчика на более рациональный (менее затратный) путь. В противном случае он может  подписаться под мелкую с точки зрения ценности для заказчика «хотелку», но которая съест серьёзную долю ресурсов проекта. И наоборот, не предложит полезную для заказчика функцию (которой тот будет реально рад), если не будет понимать, что для бюджета проекта это практически ничего не стоит. А такие мелкие полезности создают очень хороший  эмоциональный фон.
  2. Время, затрачиваемое на коммуникации между аналитиком и разработчиками существенно меньше. Такой аналитик ставит более конкретные задачи
  3. Если речь идет об адаптации существующей системы, аналитик не станет планировать доработку системы, если аналогичного результата можно добиться грамотным использованием существующей. Такое примеры встречаются очень часто.