Почему программисты не любят аналитиков?
А ведь действительно – не любят! Помню на заре своей карьеры, когда работал программистом, то сам сильно возмущался. «Как же так, Константин Сергеевич (так звали нашего главного аналитика-идеолога системы) ничего не понимает, как можно программировать то, что здесь написано, он же должен разбираться в том, как писать программы перед тем, как писать свои бумажки! Пусть почитает возможности языка программирования!»
А Константин Сергеевич (кстати, большой привет!), который в настоящее время защитил докторскую диссертацию, занимается наукой и преподает – умнейший человек и многому меня научил. И только через несколько лет, когда сам стал вплотную заниматься аналитической работой, я понял, что нет необходимости знать все программистские штучки, чтобы создать хороший проект информационной системы. Есть принципы проектирования, принципы создания систем, бизнес-логика, требования, а есть реализация. Причем, даже если средства реализации кардинально отличаются, можно получить похожий (надеюсь, что хороший) результат с точки зрения пользователя при грамотно написанном проекте.
А история повторяется. На днях участвовал в разборках между программистом и бизнес-аналитиком. До драки дело не дошло, но до посылания… в сторону библиотеки, на тему почитать книги по программированию Win32 – докатились.
Еще раз убедился в том, что программисты не любят аналитиков. Программист пытался выяснить у бизнес-аналитика какой интерфейс ему делать MDI или SDI, а бизнес-аналитик просто рассказывал о том, как для пользователя должна выглядеть программа, не вдаваясь в технические подробности реализации. Для бизнеса не слишком важно, как сделано внутри, и как оно по-умному называется, но важно, будет ли это нечто выполнять то, что необходимо пользователям. Как-то я уже писал о том, что цели бизнеса и программистов различны. Еще раз убедился в этом.
Так почему же программисты не любят аналитиков? Да потому что они говорят на разных языках. Если аналитикам ближе язык пользователя (т.е. обычный русский), то программистам – ближе язык программирования (причем тот, который он знает лучше).
При этом у программистов, зачастую, проблемы с обычным общением. Конечно, тяжелая сидячая работа, ворочаем мышку и с трудом «жамкаем» по клавишам. Мало с кем вживую (не по ICQ) общаемся, начальство пристает, на Java, NET 10.0, С# (впишите свой любимый язык) писать не дают… Сам программировал десять лет – проходил J.
Поэтому стараюсь как можно точнее переводить с русского на программистский, иногда вплоть до названий классов и функций. Последнее является крайним вариантом, такие вещи хороший программист (не кодер) должен делать сам, и сам предлагать возможные технические решения аналитикам для реализации заявленной функциональности, а не говорить «вы сами захотели, вот и получайте, а я за результат не отвечаю».
И если программисты немного вникнут в бизнес-логику, а аналитики чуть больше будут знать о возможностях реализации, если каждый из них просто сделает шаг навстречу друг другу, а не будет тупо доказывать, что он прав, то не только проект будет в выигрыше, но и сами они, в конце концов, погрузятся в нирвану обретут душевное равновесие. До любви, скорее всего, не дойдет, но хоть драться будут поменьше
P.S. И немного саморекламы. Кто хочет освоить Oracle BI Publisher не выходя из дома, добро пожаловать на мой дистанционный тренинг. Учимся создавать отчеты в Oracle BI Publisher с нуля.