11 августа

Нет, ну конечно же анализируйте, конечно же это очень важно. Но в данной статье речь пойдёт именно о навязчивом анализе. Будем приводить пример из реальной жизни про анализ конкурентов, но это так же касается чересчур усердного анализа клиентов или технологий, например. Суть в том, что к нам обратился клиент, который очень сильно интересовался конкурентами, хотел всё о них знать, хотел изучить их вдоль и поперек и искренне верил, что это важный вопрос, который приведет компанию к успеху. "А давайте проанализируем еще 10 конкурентов?", "А почему у всех разные технологии?" А почему у них Java?", "А может нам на Node разработать?", "А почему prom.ua на Python?", "Может на CMS сделаем? Или конструкторе?". И сотня различных других вопросов. И это нормально, любой директор или собственник имеет право переживать за то, что бы не быть хуже конкурентов. Однако на данный момент мы уже собрали множество информации о конкурентах, но совсем не продвинулись в другом критически-важном анализе...

Я приведу цитату из нашего диалога, после очередного опасения клиента о том, что мы провели недостаточно детальный анализ конкурентов.

"Хорошо, завтра с 11 сможем всё детально посмотреть, но я бы предложил это время потратить на более ценный анализ, т.к. найти какие то детали по конкурентам мы сможем, но это Вам ни о чем не скажет. Так же как если смотреть на город и анализировать - 'почему тут такие дороги, почему под таким углом, почему это здание там стоит, а не на 100 метров дальше, почему мост в таком странном месте, ведь это не логично'. Город 500 лет назад был маленькой деревней на торговом пути. Где чаще караваны проезжали - там сформировались протоптанные дороги, а потом проложили каменную кладку, а потом залили асфальтом. Мосты поставили там, где в тот момент было уместно согласно технологиям деревянных мостов их проложить. А потом это уже в комплексе связалось с дорогой, у дороги люди построили дома, а потом уже никто не мог снести дома, чтобы поменять архитектуру дорог и мостов, потому что за каждый район отвечали разные начальники.

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

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

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

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


Такой вот отрывок из разговора. Кто-то скажет, что жесткий, что это неправильно, что слово и желание клиента - закон. Но не для меня. Моя задача не ублажать клиента, а решать его проблемы. Потому что как бы сильно архитектор или менеджер не шел на поводу желаний клиента - всё равно его основное желание клиента - это хорошая компания. А хорошая компания зарабатывает. В этом её смысл. Конечно же это не единственная метрика, конечно же она должна соревноваться с конкурентами и создавать инновации. У всех свои ценности и это хорошо. Но общий знаменатель всех компаний - это деньги, которые она может фокусировать на воплощение своей модели ценностей.

Проводя любой детальный анализ, пожалуйста, не забывайте, что всё познается в сравнении, у всего есть разные точки зрения. И когда Вы создаёте программный продукт компании (что в общем то и является Вашей компанией в нашем веке) - Вы не можете себе позволить анализировать лишь один аспект. Ваш "треугольник успеха" - это клиенты, конкуренты и технологии. Именно это основной предмет анализа продукта. А для создания продукта необходим проект, чьи ключевые метрики - это объем работ, бюджет и время. Но об этом читайте в нашем разделе "Менеджмент и управление".

Категории не имеют границ и нам сложно остановиться в сравнении. Например, если Вы продаёте одежду, то Ваши далёкие конкуренты - это турагентство. Т.к. любой человек может отказаться к примеру от покупки модного сезонного набора одежды в пользу приятной поездки на выходные. Но это очень далекие конкуренты. А пока Вы их анализируете - кто-то продаёт Вашим прямым клиентам. Кому-то это кажется очевидным, но такая рассредоточенность и не строго выставленные приоритеты конкурентов (клиентов, технологий) - очень часто встречающийся антипаттерн.

Не сравнивайте себя с теми, кто уже 20 лет пишет свои программные решения. Это совершенно другой мир. Продукт, которому год и продукт, которому 20 лет - это как деревня и город. Конечно каждый хочет сразу стать большим. Но это невозможно, законы физики не позволяют таких квантовых скачков. Да и вообще задумайтесь, хотите ли Вы становиться большой, бюрократической, закрепощенной, медленной и консервативной компанией. Или Вам нравится быть маленькими, гибкими, пробовать новые технологии, быстро адаптироваться под окружающий мир. У больших компаний свои головные боли, не торопитесь их принять. Мы в компании https://ingello.com всегда стремимся к балансу и в плане размера здорово быть и большими и малыми. Потому наши команды программистов децентрализованы, у нас нет единого командного центра, но есть единые технологические базы, хранящие опыт, способные его дорабатывать и делиться наработками, но без единой гетерогенной энтерпрайз оболочки.


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

Успешных Вам проектов, коллеги!

Развивай навык, формализуй опыт, создавай продукт, автоматизируй труд