alibek_tai (alibek_tai) wrote,
alibek_tai
alibek_tai

Разработка ПО - хаус абстракций

Каждый отраслевой разработчик в течении периода своей профессиональной деятельности генерит/разрабатывает значительное количество программных абстракций. Под абстракциями здесь подразумевается именно программные абстракции, которые моделируют ту или иную сферу деятельности человека. С одной стороны это способствует росту отрасли в целом, с другой - не ощутимо стимулирует её развитие (рост и развитие в терминах системного анализа). Большинство разработчиков ловили себя на простой мысли - слишком много абстракций, они везде, они избыточны, не упорядочены, рост их бесконтрольный, отсутствует системность». Все это вызывает дискомфорт, а иногда и профессиональную демотивацию, особенно перед стартом крупного проекта.
И вправду мы пишем очень много кода, в большинстве случаев компромиссного, что обусловлено стремлением к сокращению Time To Market. В конце концов его становится так много, что для осознания/развития всей архитектуры из огромных нагромождений абстракций требуется затрачивать очень много умственных усилий, что в итоге приводит к необоснованному росту кадрового состава разработчиков, тем самым снова стимулируя рост сложности и объемов абстракций. И так продолжается до точки невозврата, которая представляет собой достижения такого уровня сложности программных систем, когда сопровождение и разработка занимает неприемлемое для бизнеса количество ресурсов (временных и человеческих).
Наступающий в следствии кризис приводит к следующим результатам:
— замена старой программной системы на новую, причем не особо важно каким образом это обеспечивается — покупкой готовой системы или написание новой системы с нуля.
— профессиональная демотивация разработчиков и разочарование в отрасли. Как правило, разработчик приходит к выводу, что сложившаяся ситуация - это часть жизненного цикла любой программной системы и крах со временем практически всегда неизбежен. Вторая мысль, которая будет тревожить любого разработчика — чем больше абстракций, тем больше времени и энергии нужно тратить на их поддержание и изменение. Следствием этого является осознанное стремление разработчика сопротивляться любым изменениям, которые влекут за собой создание новой абстракции или значительное усложнение старой.
Вот отсюда и мнения общества о чрезмерном скептицизме и недружелюбности профессиональных разработчиков с большим стажем. Мысль о рождении еще одного «программного детища» начинает отпугивать, так как очевиден факт, что детище нужно холить, лелеять, взращивать, модифицировать, а если таких «детищ» в зоне ответственности разработчика большое количество, то все становится совсем грустно (сдается мне что ресурс ebanoe.it плод именно таких разработчиков).
Продолжение следует....
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments