четверг, 5 февраля 2009 г.

Наш правильный RnD

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

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

Однако, у такого подхода могут быть подводные камни. Углубление и анализ при решаемой задачи может привести к потери объективности в простых вопросах может приводить к неожиданным результатом. Самостоятельное развитие и переваривание одного направления может начаться с того, что вы оцените современный технологический парк слишком правильно. Это приведет к тому, что вы выбрасываете потенциально хорошие технологии, которые в данный момент ущербны и не внушают доверия, к тому же не сулят перспектив в развитии. Возмем пример, пока еще не совершивший революции, но предположим, что среда PHP изменит свою основную линию. В неподходящий для вашей компании момент, сделавшей упор на perl взорвется как бомба. Любому специалисту занимающемуся вопросами веба, очивидно, PHP не самая быстрая среда, иногда очень с большими потенциальными уязвимостями. Об этом свидетельствуют ошибки безопасности простаивающие в треккерах по несколько месяцев и обсуждаемые во всех форумах. Вы как специалист, дойдя до этого уровня, целиком и полностью игнорируете ущербную среду PHP. Не обращая внимания на ее развитие. Однако, в результате перемены или новой организации работ в команде PHP, в какой-то момент принципиально меняется подход к исправлению ошибок и вводятся дополнительные уровни безопасности. Скажем, аналогичные уровню SELINUX в ядре линукса, которого тоже никто не ждал. Вы однако, к этому моменту убежали далеко вперед и умете работать только с перлом. Создав свою систему, среду и интерфейсы, базирующейся только на языке perl. И все время с пренебрежением посматривали в сторону PHP. Однако, в определенный момент понимаете, что тех разработчиков которые могут писать на PHP в разы большие. Так как selinux все круче. Модернизация их среды происходит постоянно и не прерывно и вы уже не можете угнаться за теми изменениями и доработками, которые появляются как грибы на дюжинном поле новых голов. В результате вы остаетесь в проигрыше.

Приведу другой пример, более печальный. Возьмем одну компанию занимающуюся созданием и проработкой своих внутренних корпоративных стандартов. Такая работа ведется во всех направлениях в совокупности с созданием внутренней инфраструктуры дело очень серьезное и затратное. Вы должны четно подобрать персонал способный выдерживая направление развивать среду и двигаться изолированно (так как разработка закрытая) от рынка, не разглашая идеи и не отвлекая разработчиков на новые направления, которыми в данный момент не пересекаются с интересами компании. Ваша RnD группа создает среду, отвечающую всем требованиям современного технологического парка и всем требованиям внутри корпорации. Вы вкладываете колоссальные бюджеты на быстрое развитие, создание и написание дополнительных интерфейсов\графических библиотек, баз данных с эффективным доступом и продумываете снижение нагрузки через использование кластерной модели. Это направление поглощает все больше хороших специалистов, которая ваша компания воспитывает и учит работать с вашей внутренней технологией. Вы начинаете заниматься развитием обучения внутри компании, наращивания потенциала, поиском новых кадров затягиваете все больше людей и узел на своей шее из за гигантского бюджета пожираемого этой системой. И вдруг все становится лишено смысла! Ваша компания боролась на рынке и производила искусственную закрытую среду поглотив тысячи и десятки тысяч людей и разработчиков начинает судорожно метаться и пытаться оправдать те затраты и ту чумовую совокупную стоимость своих решений, под натиском новых современных бесплатных предложений основанных, на ставшими так привычными, открытых технологиях. В этот момент вы понимаете что ваша компания работающая как часы, потребляя гигантский ресурс - отстала лет на десять. Ни вы ни ваши специалисты и понятия не имеют что такое совместная работа энтузиастов выстроенная по модели opensource. Вы понимаете, что ваша база данных разработанная сильнейшими специалистами последние 10 лет, и работающая с поддержкой кластеров ничем не уступает, какого нибудь открытого решения в связки mysql+sqllite и вам все трудней убедть в этом своих клиентов. И для того, чтобы догнать новый рынок вам необходимо измерить модернизацию либо колоссальными денежными ресурсами, либо людьми в штуках. В этом случае единственный выход как-то не потерять рынок и заставить использовать вашу, никому не нужную, старую машину - это подарить ее, бесплатно, наделов при этом много шума. А после того как вы ее подарите, начать продавать масло, колеса, запчасти и услуги по ремонту. Таким образом - вы сдаетесь, и меняете направление, чтобы хоть как то заинтересовать мировое сообщество в своей, давно уже умершей технологии, тем самым привлекая неисчерпаемый ресурс людей - открываете и делаете доступным технологию по открытой лицензии. Правильно, я говорю про erlang.

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

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

Ссылки по теме:

0 коммент.:

Отправить комментарий