Эсперанто, эльфийский и клингонский

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

Когда вы приезжаете в автосервис, вы пишете ТЗ? Конечно, многие из вас разбираются в автомобилях, и среди моих знакомых есть ребята, которые могут запросто разобрать и собрать обратно коробку передач. Но, все-таки, большинство из нас ставят задачу в виде «что-то стучит, когда еду быстрее 40 км/ч» или «плохо дует из дефлекторов, может кондиционер, или, не знаю, что там».

Если бы мастер в автосервисе на такой вопрос сказал что-то вроде «говорите конкретно, что надо сделать с вашей машиной», продолжили бы вы пользоваться его услугами? Нет, такой мастер нам не нужен. Большинство из нас покупают машину не для того, чтобы в ней разбираться, и так поступают не только блондинки из анекдотов, или новые русские, которые (в тех же анекдотах) меняют автомобиль, когда заполнилась пепельница.

В работе с программистами у вас выбора нет, и чем дальше, тем будет хуже. Еще не перевелись умельцы-энтузиасты, для которых решить вопрос самостоятельно – дело чести, но всеобщее разделение труда и засилье юридических-бюрократических подходов к делу быстро и надежно такой энтузиазм убивает.

Если поразмыслить, как может представитель бизнеса – директор, руководитель отдела, продавец, бухгалтер и т.д. – составить техническое задание на разработку? Понятно, что какой-то документ совместными усилиями родится, но каково будет его качество? Даже если у вас толковые архитекторы, которые умеют анализировать бизнес-требования и переводить их на язык программистов, можете ли вы быть уверены, что он вас правильно понял?

Бизнес-требования, которые вы озвучили, вам понятны. Техническое задание, которое написали программисты под ваши бизнес-требования, вам не понятно. Вы просто верите программистам, что их доработки решат ваши бизнес-задачи.

Так же вы верите и мастеру в автосервисе, когда он говорит «надо заправить кондиционер и поменять фильтр в салоне, и будет дуть нормально». Но в случае с автосервисом риск невелик – пара часов времени и несколько тысяч рублей, и результат будет виден сразу.

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

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

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

Языковой барьер

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

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

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

Хотя, все мы знаем примеры, когда подобные задачи средствами автоматизации решались. Значит, в принципе, клингонский язык способен такие сложные конструкции выразить. Но как такое получается?

Редко, но бывает такое – представитель бизнеса знает клингонский. Во-первых, он может быть бывшим программистом. Я, да и вы, встречали таких людей на самых разных должностях – главбухи, финансовые директора, менеджеры, продавцы, снабженцы даже попадались. Во-вторых, есть люди – в основном, директора и собственники небольших бизнесов – которые, в силу природного любопытства, вникли и продолжают развивать свои знания в сфере информационных технологий. Но это, скорее, исключения.

Правилом же является перевод высокой поэзии бизнес-требований на язык примитивов – форм, отчетов, обработок, документов, справочников, регистров, веб-сервисов, страниц и т.д.

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

Попробуйте, шутки ради, перевести в google translate на английский стихотворение, например, вот такое:

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

Что получится?

The storm darkness covers the sky, Whirlwinds whirling. Then as she bewail the beast, That will cry like a child.

Я английский знаю плохо, поэтому для меня этот перевод выглядит, как клингонский. Ну, вроде, похоже на правду. Слова некоторые знакомы, строк и запятых вроде столько же. Наверное, перевод выполнен правильно. Как проверить? Попробуем обратно, с английского на русский:

Штормовая тьма покрывает небо, Кружатся вихри. Затем, когда она оплакивает зверя, Это будет плакать, как ребенок.

Что-то не так… Шлюз работает не очень хорошо, хотя общий настрой, вроде бы, передан верно. Но в деталях, смысле, поэзии текст потерял почти все.

Пример, конечно, из области юмора, но в нашем эсперанто все происходит примерно так же. Вроде все понятно, тема избитая, и картинку красивую с качелей на дереве все помнят. Но живем же как-то? Что не так-то?

Последствия

Последствия, на самом деле, ужасны, для обеих сторон. Почти вся автоматизация, которая сейчас производится на свет – результат реализации примитивов, элементарных команд, скучных задач и мелких целей.

Нет поэзии, произведений искусства, вау-эффектов и взаимного обожания бизнеса и ИТ. Говоря приземленно, нет ИТ-решений, реально помогающих бизнесу.

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

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

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

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

Страдают обе стороны, и обе стороны винят друг друга в своих напастях. Хотя, нет, уже не винят – привыкли как-то, более-менее запомнили этот эсперанто, и уже считают, что так оно и должно быть. У всех же так? Раз у всех, значит все в порядке. Ну ладно, скажете вы, это все понятно и без тебя. Делать-то что?

Да вы и так знаете, что делать. Учить языки. И совершенствовать эсперанто.

Учить языки

Чтобы два носителя разных языков смогли нормально, содержательно и интересно поговорить, кто-то должен знать два языка – свой и собеседника. Вопрос в том, кто должен первым «подвинуться».

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

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

Можно сказать – ладно, пусть бизнес не знает деталей, но по верхам-то может пройтись? И поддерживать актуальность этих знаний. Может, конечно, только это будет тот же эсперанто. Это мы уже проходили.

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

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

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

В первую очередь, это процессы. Все, что нужно знать о процессах, давно придумано – еще в двадцатом веке. Все современные, и не очень, методики – например, теория ограничений, контроллинг, Lean, Scrum и т.д. – это лишь вариации, шаблонные процессы, или паттерны по рисованию новых процессов. Принципиально суть процессов не меняется – действия, условия, подпроцессы. Кстати, все это – понятия, хорошо понятные программистам.

Любая бизнес-математика так же хорошо усваивается программистами. Бухгалтерский, управленческий, международный и налоговый учет, прибыли и убытки, финансовые потоки, разные методики оценки состояния бизнеса – это просто разные формулы, считающие одни и те же цифры.

Системы управления, как подкласс процессов, тоже ничего сложного собой не представляет. Причем, бизнес в системах управления сам не очень разбирается, обычно. Это несложно проверить – попробуйте в своей компании найти хоть один процесс управления. Разумеется, если у вас внедрен ISO, то есть там такой процесс – «Менеджмент организации», но его считать не будем, это просто бюрократическая бумажка. Найдите инструкцию для руководителя, где сказано, что, когда и как он должен делать. Их нет, потому что создание систем управления – относительно новая область, которая не выйдет из недр менеджмента, потому что его же и погубит.

Более специфичная, на первый взгляд, область – системы мотивации. Но, на самом деле, это - одна из самых простых областей знаний в бизнесе. Там совсем немного шаблонных вариантов, которые безуспешно пытаются насаждать HR во всех компаниях, не разбираясь в сути мотивации.

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

Зачем?

Тут сразу два вопроса: зачем это бизнесу и зачем это программистам.

С бизнесом понятно. Это – жизненная необходимость. Мир ИТ движется к такой модели – интеграции компетенций, потому что иначе беседы глухих со слепыми будут продолжаться до бесконечности.

Бизнес проблему, зачастую, понимает, но решения не знает, не видит. Теперь знает и видит. Осталось только правильно организовать этот процесс – обучения программистов эльфийскому языку. Можно делать это самостоятельно, только толку мало будет. Чтобы научить клингона эльфийскому, нужно знать оба языка, а этого нет. Хотя, Тарзана же как-то научили. Если помните, читать по-французски, а говорить по-английски.

Зачем это программистам? Ну, во-первых, если бизнес, в котором сидят программисты, грамотно возьмется за дело, то и деваться им будет некуда. Разве что, уйти на другую работу, где еще не слышали о новомодных тенденциях.

Но можно и переставить проактивное начало в ИТ-отдел. Никто ведь не запрещает программистам развивать компетенции в смежных областях? Например, подучить эльфийский. А потом, между делом, объявить, а лучше показать на практике свои новые умения. Бизнес, оценив преимущества, сделает двуязычных программистов стандартом в своей компании. Заодно, и выгонит горе-переводчиков, вроде бизнес-аналитиков.

Надо лишь понять, что автоматизация бизнеса сейчас, на эсперанто – просто мыльный пузырь. А лопнет он только с одной стороны – там, где сидят важные представители клингонского языка. Бизнес никуда не денется, он жил столетиями и будет жить дальше. На шкале истории бизнеса просто есть маленький отрезок, который называется «увлечение информационными технологиями», который начался весело и интересно, а превратился в глобальное мошенничество.

Рано или поздно, бизнес найдет выход. Лучше ему этот выход подсказать – выгодный и эльфам, и клингонам.