Русский
Русский
English
Статистика
Реклама

Проблемы разработки

И снова о Legacy. Вечная боль техдира

27.07.2020 20:17:32 | Автор: admin

Жил-был технический директор. Он жил долго и счастливо. И пригласили его на интересный и перспективный проект. Владельцы бизнеса размахивали руками, поднимая сквозняк в помещении и рисовали маркерами прямо на оконных стёклах счастливое будущее, масштабность задачи, нули после первой цифры в зарплате. Звучит, как сказка.


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


Техдир пришёл к ним, поздоровался и спросил: Ребята, скажите честно, какой аццкий зверь меня ждёт в этом проекте? Потому что стейкхолдеры рассказали только о единорогах с радужными хвостами и розовых пони? Legacy, да?


Legacy, ..., грустно ответили разработчики.


Сказка закончилась. Началась работа и непростые решения.



Cитуация. Первый извечный вопрос русской интеллигенции Кто виноват?


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


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


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


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


И погнали. Оно работает с помощью каких-то негров с опахалами, шамана, бивня мамонта, летающей китайской крысы и панголина.


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


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


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


Сами гипотезы-то быстро проверяются берут программиста из какого-нибудь проекта, выдергивают его на пол дня, он быстро-быстро налепил и убежал, потом берут другого программиста или вообще фрилансера какого-нибудь.


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


Проблема. Второй извечный вопрос русской интеллигенции Что делать?


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



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


А бизнес вообще не знает, что проблема есть. Бизнес вообще не понимает: Ну как так, MVP же работает?. Работает. А почему новую фичу нельзя вот прям счаз воткнуть? И с чем сталкиваются многие технические управленцы, они не могут объяснить, в чем конкретно проблема и самое тяжелое они не могут показать в метрике, измеримой бизнесу, чтобы они понимали, что в текущем состоянии разработка фичи стоит 100 рублей, а в оптимизированном, например, 10 рублей.


А у бизнеса свои заботы, у них там всё прёт, продажи пошли да пофиг, пусть 100 рублей, давайте выкатим новую фичу, мы сейчас Газпром захантим. Им вообще не до этого.


Решение проблемы. Ломать нельзя рефакторить. Или уходя гасите всех


И мы переходим к решению проблемы. Существуют различные попытки решить проблему.


Решение номер раз. Помножить на ноль


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


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


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



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


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


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


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


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


Это один из таких способов, но он подразумевает, что какое-то время продукт не будет никак развиваться. У меня была реальная ситуация, когда ко мне пришёл за консультацией генеральный директор, у которого реально дергался глаз оказалось 14 месяцев назад команда сказала, что ей нужен рефакторинг, мол, иначе всё умрёт. И за эти 14 месяцев она ничего не сделала, точнее как, продукт не развивался а что происходило в рефакторинге никто не знает. Там ящик Шрёдингера и что там с кошкой, можно понять только по запаху.


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


Решение номер два. И давайте тут чуть-чуть починим


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


Но у этих всех серий подходов есть две крайности. Первая крайность сказать давайте все перепишем нахер, а другая крайность говорит а давайте мы по чуть-чуть вот тут вот починим, тут вот починим, там вот починим, давайте мы в спринтах наших время отрежем, там сколько у нас командная производительность, 100 репоинтов, мы возьмем из них 10% и будем тратить их на исправление техдолга.


Что у нас получается? А у нас получается, что команда ввела так называемый налог на непонятно что, формально называется налог на исправление технического долга. Но как он там исправляется, если бизнес придет и спросит А что там и как? Что у вас? Бизнесу, конечно, объяснят, но он не поймет. В чем заключается технический долг с точки зрения технаря, понятно.


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


Во втором примере новой концепции нет и это реально проблема.


Решение номер три. Золотая середина. Микроверсия нового продукта


Есть некая золотая середина между этими двумя методами, когда вырабатывается новая концепция, то есть новая архитектура. Технический лидер должен выбрать и сформулировать, что старая концепция она вот такая. Он может определить там несколько наслоений каких-то, несколько подходов к архитектуре. А вот новая концепция архитектуры такая.


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


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


И теперь важная тема. В книге Фредерика Брукса приводится приводится пример того, как раньше строили храмы и там был пример храма Temple Expiatori de la Sagrada Famlia в Барселоне, строящегося на частные пожертвования начиная с 1882 года, знаменитый проект Антонио Гауди.



Суть в том, что Sagrada Famlia придумал Гауди и он выработал архитектуру, каким храм должен быть, но так как проект огромный, его строили много поколений и он еще недостроен, его достраивают еще.


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



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


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


Теперь давайте посмотрим на поток задач, который приходят в спринт. Там есть какие-то мелкие правки, какие-то мелкие фичи. И вот эти вот вещи, какие-то мелочи, которые приходят, их нужно делать по-старому, по-плохому. Точно так же вонзаем какие-то костыли, делаем по-старому.


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


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


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


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


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


Это, пожалуй, один из самых удачных подходов, который мне известен.


О проблеме, когда сталкиваются технический директор и Legacy, рассказал CTO Дмитрий Симонов, основатель канала Техдирские заметки. Так как сам испытал и не раз эту извечную боль техдира.

Подробнее..

Суровая правда о разработчиках и разработке

10.02.2021 16:11:31 | Автор: admin

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

Огромных зарплат в те времена не было, компании по разработке ПО создавались романтиками в съемных комнатушках-офисах, в которых часто приходилось и ночевать. Кто-то не выдерживал и сдавался, кто-то создавал шедевры и богател, но в те времена никто не говорил, что люди получают зарплату просто так. Те времена подарили нам кучу программ, часть из которых остаются самыми популярными в своей сфере и по сей день (Например, MS Excel. Страшно думать, но до сих пор большинство инвестиционных банкиров используют для своих моделей именно MS Excel). Те времена подарили нам таких людей как Питер Нортон и Андерс Хейлсберг или Джон Кармак с Сидом Майером, если игры вам ближе.


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

Доткомы благополучно умерли и лет на десять чума современной разработки исчезла, чтобы вернуться в начале десятых годов 21 века с новой силой. Укоренившийся в жизни интернет привел к тому, что любой конторке больше пяти человек стал требоваться сайт (а лучше портал) и потребность в разработчиках (а, следовательно, и зарплаты) стала расти. В России за пять лет зарплаты выросли с 200 долларов до тысячи и десятки тысяч молодых специалистов принялись штурмовать новые горизонты.

Команды росли, сложность решений росла, люди, основавшие бизнес, постепенно стали отходить от дел и перестали контролировать какие-либо процессы разработки, в результате чего разработка фактически превратилась в вещь в себе. Отдельную отрицательную роль в этом процессе сыграли гиганты IT рынка типа Гугла, который возвел практику работы на корзину в ранг нормы, паразитируя на традиционном бизнесе и вливая кучу денег в решения, не имеющие какого-либо смысла. Люди, принимающие решения по ИТ, стали везде пихать опыт FAANG всюду и везде, давя авторитетом Что вы будете спорить с компаниями, зарабатывающими сотни миллиардов?. Стоимость разработки продолжала расти, хотя никакого прорыва в технологиях с начала двухтысячных не произошло.

Почему растет стоимость разработки? Ответ, на самом деле, тут прост и банален. Бизнес слабо понимает, что происходит в разработке, а разработка на самом деле работает сама на себя, делая то, что нравится, а не то, что надо, попутно внедряя в процесс кучу лишних людей. Разработчикам нравятся новые технологии, и они пытаются впихнуть их везде, где им дадут. Например, в моей текущей компании на хайпе стали внедрять BigData обосновывая это возможностью тонкой настройки бизнеса. Знаете, к чему это привело? Сотни миллионов денег были потрачены на то, чтобы сказать, что товары, которые покупают на точке в дорогом ТК в центре отличаются от товаров, покупаемых на окраине рядом с ЖД станцией. Серьезно? Вы потратили такой бюджет на то, чтобы найти факты, которые очевидны любому, кто занимался ритейлом? Другое прорывное решение касалось в определении людей, кто часто бывает рядом и предложении им семейных контрактов. О да, тут точно нужна BigData, без нее никак. Отдельная команда целый год пилила очень нужный в 2018 году блокчейн для голосовалок. Никто понятия не имеет, как его можно использовать в текущем бизнесе, но раз деньги выделяют, то почему бы и нет? Мы же не можем отставать по инновациям от Сбера? А Сбер не может отставать от Гугла?

Отдельно упоминания, безусловно, стоят микросервисы и контейнеры, которые пихают везде и вся. Попробуйте в 2021 году пойти на собеседование и сказать, что вы не понимаете, зачем нужны микросервисы. Вас поднимут на смех! Скажут: А как же хайлоад?, А как же независимые команды?, А как же отдельные стэки?.

Ты пытаешься выяснить, что же за хайлоад. На проверку оказывается, что там 200 запросов в секунду в пике. Ребята, Asp.Net Core + MVC + EF + PG держит 185 тысяч запросов в секунду single-query. Какой у вас хайлоад? И да, все еще забывают, что количество запросов к нагрузке также имеют очень маленькое отношение. В случае того же Твитера нет никаких бизнес-критичных запросов, мы можем ставить сотни одинаковых инстансов и проксировать запросы как душе угодно, никто не пострадает. Это вам даже не Букинг какой-нибудь, где на последний номер может быть несколько желающих.

Другой веселый юмор это независимые команды. Сидят, значит двадцать человек. И они никак не могут поделить обязанности, чтобы не мешать друг-другу. Тут значит, они начинают пилить 4 микросервиса по 5 человек в команде и волшебным образом сразу проблемы все решаются. Да нет же, проблемы не решатся. Их станет в разы больше. Вот тут хорошо написано. Вам будет сложнее выделять домены, тестировать, деплоить. Вам даже просто понадобиться куча дополнительных людей высокой квалификации, начиная от архитектора, кончая тестировщиками с девопсами.

Отдельная песня это возможность команде самой определять стэк, на которой ей удобно работать. Ну вы знаете, тот знаменитый подход, который приводит к командам на Java, Go, C++, Rust и NodeJS на одном бизнес-проекте. Причем вместе с несколькими SQL и NoSQL одновременно. Так ведь удобно потом нанимать разработчиков на каждый из стэков и поддерживать кодовую базу в актуальном состоянии. Так удобно следить за безопасностью сотен пакетов на каждый из фреймвороков. Так приятно, когда один и тот же код для интеграций с системами аутентификации или мониторинга повторяется на каждом фреймворке заново. Так удобно иметь отдельные конвейеры CI/CD и команду поддержки под каждый стэк. Нет, если вы Гугл и у вас есть десятки тысяч инженеров хорошей квалификации, которым по факту нечего делать, то подход имеет право на существование. Но если вы не Гугл, то зачем повторять худшие практики?

Ну и вишенка на торте это лишние люди в конвейере производства программного обеспечения. Да, вот эти ребята, типа скрам мастера или эджайл коуча. Как-же без них удавалось спутники запускать и ММОРПГ создавать? Современные команды ведь настолько профессиональны и заточены на результат что никак не могут самостоятельно оценить и распределить таски, им обязательно нужны пара нянек.

Я сам получаю деньги за то, что пишу код с 2006 года, в этом году будет 15 лет юбилея. И мне очень горько понимать, что моя любимая отрасль, которая подарила множество прекрасных продуктов, технологий или игр превратилась в огромного паразита, который воспроизводит сам себя и пытается высосать все соки. Сложно сказать, кто в этом виноват и когда свернули не туда. Факт состоит в том, что современное IT скорее тянет на дно бизнес, чем помогает ему развиваться. Все современные IT гиганты делали свое имя много лет назад при помощи других людей. Да, современный бизнес невозможен без IT. Но все забывают, что IT это прежде всего поддерживающее звено, а не основа мироздания. Какими бы не были прорывные технологии, условный Нетфликс все-таки будет оцениваться качеством контента.

Что делать?

Хотелось бы прояснить, почему вообще у меня пригорает на тему ситуации в IT. Как-то сложилось, что за свою жизнь я был активным пользователем IT продуктов. И уже не первый год, как я стал замечать, что качество продуктов, падает год к году. Яснее всего это видно, конечно же, в игрострое. Все идеи, которые успешно доят до сих пор появились лет 20-30 назад. MVP сего парада стал безусловно Warcraft 3: Reforged и Star Citizen. Однако нельзя сказать, что и в других отраслях таких проблем нет. Качество поиска Гугла стабильно падает. Фейсбук редизайнит так, что лучше бы вообще не трогал. И все это при том, что разработчиков в штате компаний все больше и больше.

В качестве решения накопленных проблем мне лично видятся следующие меры:

  • Переход от экстенсивного развития к интенсивному: пересмотр бизнес-процессов в сторону упрощения, снижение количества регламентов;

  • Упрощение процесса разработки за счет более простых и эффективных бизнес процессов и прозрачной системы принятия решений;

  • Использование в рамках компании стандартных стеков технологий и пакетов;

  • Формирование центров компетенций разработки для поддержания актуальности стэков технологий, формирования стандартных шаблонов проектов компании и архитектур;

  • Подбор оптимальной архитектуры под бизнес требования;

  • Сокращение time-to-market за счет активного переиспользования кодовой базы, шаблонов и простой архитектуры;

  • Сокращение людей не увеличивающих ценность продуктов, таких как скрам мастер, эджайл коуч и прочих.

Если все это не сделать в ближайшее время и не повысить эффективность разработки, то есть высокая вероятность, что IT потянет на дно компании и нас будет ждать второй пузырь доткомов.

А что Вы думаете о текущем этапе развития IT. Какие проблемы видите лично Вы, насколько они кажутся серьезными и как их лучше решать?

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru