Программная инженерия: анализ, проектирование, моделирование

Немного полезной информации и итоги

Показывать лекцию целиком

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

Профессиональная деятельность — это решение задач, возникающих в результате изменений, которые поступают из нашей среды функционирования. Так, транзитом через задачи, изменения приводят к формированию данных — почвы для разума, но для этого требуется прилагать определенные умственные усилия. Затем данные рассматриваются, преломляются и трактуются. Так из «сырых» 0 и 1 мы получаем истории, мнения, точки зрения, трактовки и т. д. Опять же, чтобы такая трансформация произошла, требуются усилия. Полученная информация обогащает, формализует и развивает конкретный опыт. И здесь тоже не обойтись без умственных усилий. Новые изменения мы будем рассматривать и осознавать с учетом имеющегося у нас опыта (рис. 61).

Рис.61

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

Аналитический паралич (или паралич в результате анализа) описывает индивидуальный или групповой процесс, когда чрезмерный анализ или чрезмерное обдумывание ситуации может привести к «параличу» принятия решений это означает, что в итоге решение или курс действий не принимаются. Ситуация может рассматриваться как слишком сложная, и решение вообще не принимается из-за опасений, что могут возникнуть потенциальные осложнения. Человек хочет найти идеальное решение, но на пути к нему опасается принятия ошибочного решения, или считает, что оптимальное решение совсем близко, и продолжает поиск[1].

Состояние аналитического паралича наступает у каждого опытного специалиста, которым движут стимулы:

Это профессиональные установки, которые характеризуют экспертов и высококвалифицированных работников. Однако следует различать желание предложить и реализовать оптимальное решение и желание добиться лучшего из возможных решений. Лучшее решение — это цель, и она недостижима. Окружающий любую задачу контекст постоянно меняется. То, что считается лучшим сейчас, через какое-то время уже не проходит проверку. Оптимальное решение — не компромисс и не прототип, а то, что удовлетворяется за счет имеющихся ресурсов и при этом приносит удовлетворение тем, кто участвует в работе над этим решением, и тем, что будет пользоваться результатом, полученным в результате его реализации. Перфекционизм, которые ведет к поиску лучшего, — хорошее человеческое качество. Каждый человек должен помнить о том, что перфекционизм относителен и понимание идеального, лучшего решения зависит от опыта специалиста, работающего над решением. Перфекционизм — плохое профессиональное качество, если он не согласуется с ресурсами, которые выделены на решение задачи. Для того чтобы не попасть (а если попали, то быстро выбраться) из аналитического паралича, нужно:

Давайте разбираться с диагностированием аналитического паралича (рис. 62).

Рис.62

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

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

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

Прокрастинация — это вид саморазрушительного поведения, при котором человек откладывает решение задач на самый последний момент[2].

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

 

10.1  Что и как делать не рекомендуется

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

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

Для того что не оказаться в заложниках у выбранного профессионального пути, необходимо время от времени, по достижении определенной профессиональной высоты, переводить фокус внимания на смежные технологии и задачи, которые напрямую не связаны с вашей профессиональной деятельностью, но являются для нее «сторонними», «подкрепляющими» видами активностей. Если мы посмотрим с вами на аналогии из реального мира и попробуем сравнить развитие профессионализма с развитием организаций, то наиболее известные организации, которые являются транснациональными корпорациями, — те, которые диверсифицируют развитие бизнеса в мультипродуктовом направлении. Недостаточно делать один продукт, даже если вы будете делать его очень качественно. Для того чтобы оставаться на плаву и быть лидером, необходимо развиваться вместе с обществом и социумом. Каждое следующее поколение предъявляет свои требования к окружающим их артефактам, которые формируют окружающий контекст. Я не предлагаю вам сливаться с происходящим вокруг вас и отказываться от своей профессиональной идентичности, но рекомендую в окружающих вас вещах и процессах искать ответы на вопросы, которые вам интересны.

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

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

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

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

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

То есть, расширяя свои обязанности, свой профессиональный фокус и стараясь быть более эффективными, вы автоматически берете на себя ответственность за результат своей работы. Это очевидно, как и то, что результат должен удовлетворять заданным критериям и приносить пользу потребителю. Будьте осторожны и последовательны с принятием на себя новых обязанностей. Будьте конкретны с тем, что вы делаете и за какой результат можете и будете отвечать. С одной стороны, это является предостережением, но, с другой стороны, не должно быть для вас тормозом. Вы должны понимать и согласовывать со своим окружением, за что вы беретесь и что будете делать. Сознательно отказываться от возможностей попробовать себя в чем-то новом, напрямую не связанном с вашей специализацией, но влияющим на нее, — стратегически недальновидно. Так вы лишаете себя возможности развития и остаетесь на инерциальных рельсах своей основной специализации. Со временем такое поведение может привести вас к состоянию «белки в колесе». Отказываться от возможностей посмотреть на выполняемую вами работу под другим профессиональным углом — значит не увидеть картину в целом. Я не призываю вас отказываться от своей специализации — я считаю это предательством своего призвания, если это решение не принято вами осознанно и с понятной для вас мотивацией. Я просто хочу подвести вас к мысли о том, что очень полезно судить о продукте, который вы создаете, по разным пользовательским шкалам. Гарантирую — вам будет больно совершать новые и непонятные прежде для вас действия. Вы будете совершать много ошибок — ровно столько же, сколько совершали, когда осваивали велосипед или свою первую профессиональную специализацию, — но со временем у вас будет получаться все лучше и лучше. Перестаньте бояться и успокойтесь. Ошибки будут, но вам необходимо будет постоянно анализировать их для того, чтобы не совершить вновь. Начните получать от них удовольствие. Ошибка – повод узнать что-то новое, потренировать свой навык, разобраться в том, что вы знали только в теории. Так вы точно будете знать, что «если сделать так, то будет вот так». Ошибки помогут вам найти, закрепить и понять существующие и зарождающиеся закономерности. Ошибки — наши учителя на пути постоянного прогресса. Но ошибка — это специализированный и ограниченный учитель, а настоящий ментор — критика.

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

 

10.2  Целостная картина

Мы говорили об активностях анализа, моделирования и проектирования, являющихся частью сферы программной инженерии. Кроме рассмотренных направлений деятельности и типов активностей программная инженерия включает в себя сферы разработки, тестирования и управления внедренным продуктом. Она направлена на создание информационных систем и продуктов с помощью процессов их производства (рис. 63).

Рис.63

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

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

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

 

[1] https://ru.wikipedia.org/wiki/Аналитический_паралич

[2] https://www.forbes.ru/forbeslife/471531-damoklov-mec-cto-takoe-prokrastinacia-i-kak-ona-razrusaet-zizn

[3] https://ru.citaty.net/tsitaty/625509-charlz-darvin-vyzhivaet-ne-samyi-silnyi-i-ne-samyi-umnyi-a-tot/

Вернуться к учебному плану